diff --git a/Makefile b/Makefile index 885f887..b7f6377 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ build: - gcc -Wall -std=c99 ./src/*.c -o renderer + gcc -Wall -std=c99 ./src/*.c -lSDL2 -o renderer run: ./renderer diff --git a/renderer b/renderer index f0b8b8e..2f6af01 100755 Binary files a/renderer and b/renderer differ diff --git a/src/.main.c.swp b/src/.main.c.swp deleted file mode 100644 index f157efa..0000000 Binary files a/src/.main.c.swp and /dev/null differ diff --git a/src/main.c b/src/main.c index c7cecb7..fdabfde 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,10 @@ #include #include -SDL_Window* window = SDL_CreateWindow(); +bool is_running= false; +SDL_Window* window = NULL; +SDL_Renderer* renderer = NULL; + bool initialize_window(void) { if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { @@ -10,16 +13,69 @@ bool initialize_window(void) { return false; } + // Create a SDL window + window = SDL_CreateWindow( + NULL, + SDL_WINDOWPOS_CENTERED, + SDL_WINDOWPOS_CENTERED, + 800, + 600, + SDL_WINDOW_BORDERLESS + ); + if (!window) { + fprintf(stderr, "Error creating SDL window.\n"); + return false; + } - SDL_Window* window = SDL_CreateWindow(); - - // TODO: Create a SDL renderer + // Create a SDL renderer + renderer = SDL_CreateRenderer(window, -1, 0); + if (!renderer) { + fprintf(stderr, "Error creating SDL error.\n"); + return false; + } + return true; } -int main(void) { +void setup(void){ + //TODO +} - initialize_window(); +void process_input(void){ + SDL_Event event; + SDL_PollEvent(&event); + + switch (event.type) { + case SDL_QUIT: + is_running = false; + break; + case SDL_KEYDOWN: + if (event.key.keysym.sym == SDLK_ESCAPE) + is_running = false; + break; + } +} +void update(void){ + //TODO +} +void render(void){ + SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); + SDL_RenderClear(renderer); + + SDL_RenderPresent(renderer); +} + +int main(void) { + is_running = initialize_window(); + + + setup(); + + while (is_running) { + process_input(); + update(); + render(); + } return 0; }