#include #include #include int main(int argc, char *argv[]) { SDL_Init(SDL_INIT_VIDEO); TTF_Init(); SDL_Window *window = SDL_CreateWindow("Saffron", 800, 600, 0); SDL_Renderer *renderer = SDL_CreateRenderer(window, NULL); TTF_Font *font = TTF_OpenFont("/usr/share/fonts/maple-mono/MapleMonoNL-Regular.ttf", 20); // "works on my machine" - Arslaan, 2026 bool running = true; SDL_Event event; SDL_FRect rect; rect.x = rect.y = 100; rect.w = rect.h = 100; SDL_FRect text_rect = {200, 200, 0, 0}; SDL_Color white = {255, 255, 255, 255}; SDL_Surface *surface = TTF_RenderText_Blended(font, "Hello Saffron!", 0, white); SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface); SDL_DestroySurface(surface); SDL_GetTextureSize(texture, &text_rect.w, &text_rect.h); while (running) { while (SDL_PollEvent(&event)) { if (event.type == SDL_EVENT_QUIT) { running = false; } } SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE); SDL_RenderClear(renderer); SDL_SetRenderDrawColor(renderer, 255, 0, 0, SDL_ALPHA_OPAQUE); SDL_RenderFillRect(renderer, &rect); SDL_RenderTexture(renderer, texture, NULL, &text_rect); SDL_RenderPresent(renderer); } TTF_CloseFont(font); TTF_Quit(); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; }