aboutsummaryrefslogtreecommitdiff
path: root/tests/test_main.c
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-04-07 11:13:23 +1200
committerArslaan Pathan <[email protected]>2026-04-07 11:13:23 +1200
commit04ff8c0a6acc2cc9204492690b7f99f892ed439a (patch)
treef1e2eb213c95f51ba0b97089aa04b60b7d19330d /tests/test_main.c
parent7fba8447b9ce0c74808b943d9fe7f56b9663c4cf (diff)
downloadsaffron-04ff8c0a6acc2cc9204492690b7f99f892ed439a.tar.xz
saffron-04ff8c0a6acc2cc9204492690b7f99f892ed439a.zip
Refactor things, and start implementing API widgets
Diffstat (limited to 'tests/test_main.c')
-rw-r--r--tests/test_main.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/test_main.c b/tests/test_main.c
new file mode 100644
index 0000000..e24d17f
--- /dev/null
+++ b/tests/test_main.c
@@ -0,0 +1,52 @@
+/* this doesnt really test saffron's api right now
+ * because i need to actually implement stuff
+ * but its good refactor for now
+*/
+#include <SDL3/SDL.h>
+#include <SDL3/SDL_main.h>
+#include <SDL3_ttf/SDL_ttf.h>
+
+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;
+}