From 4b2627854377516e64bd8ebdbeea529de9f3aa62 Mon Sep 17 00:00:00 2001 From: Imbus <> Date: Fri, 8 Aug 2025 05:14:17 +0200 Subject: [PATCH] SDLdemo --- sdldemo/Makefile | 12 ++++++++++++ sdldemo/main.c | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 sdldemo/Makefile create mode 100644 sdldemo/main.c diff --git a/sdldemo/Makefile b/sdldemo/Makefile new file mode 100644 index 0000000..e62fac0 --- /dev/null +++ b/sdldemo/Makefile @@ -0,0 +1,12 @@ +CC ?= gcc +CFLAGS ?= -Wall -O2 -lSDL2 + +TARGET = main.elf +SRC = main.c + +$(TARGET): $(SRC) + @echo CC $@ + @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) + +clean: + rm -f $(TARGET) diff --git a/sdldemo/main.c b/sdldemo/main.c new file mode 100644 index 0000000..382417d --- /dev/null +++ b/sdldemo/main.c @@ -0,0 +1,40 @@ +#include +#include + +int main() { + if (SDL_Init(SDL_INIT_VIDEO) != 0) { + printf("SDL_Init Error: %s\n", SDL_GetError()); + return 1; + } + + SDL_Window *win = SDL_CreateWindow("Simple Window", 100, 100, 640, 480, SDL_WINDOW_SHOWN); + if (!win) { + printf("SDL_CreateWindow Error: %s\n", SDL_GetError()); + SDL_Quit(); + return 1; + } + + SDL_Renderer *renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED); + if (!renderer) { + SDL_DestroyWindow(win); + printf("SDL_CreateRenderer Error: %s\n", SDL_GetError()); + SDL_Quit(); + return 1; + } + + SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255); // Blue background + SDL_RenderClear(renderer); + + SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); // Red rectangle + SDL_Rect rect = {100, 100, 200, 150}; + SDL_RenderFillRect(renderer, &rect); + + SDL_RenderPresent(renderer); + + SDL_Delay(3000); // Wait 3 seconds + + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(win); + SDL_Quit(); + return 0; +}