Test_SDL3/src/main.c

59 lines
1.3 KiB
C

#include <SDL3/SDL.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main(void)
{
int exit_status = EXIT_FAILURE;
SDL_Window *window = NULL;
SDL_Renderer *renderer = NULL;
if(!SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS))
{
fprintf(stderr, "Failed to initialise SDL3 : %s\n", SDL_GetError());
goto end;
}
if(!SDL_CreateWindowAndRenderer("Test_SDL3", 640, 480, SDL_WINDOW_RESIZABLE, &window, &renderer))
{
fprintf(stderr, "Failed to create window or renderer : %s\n", SDL_GetError());
goto end;
}
bool running = true;
while(running)
{
SDL_Event event;
while(SDL_PollEvent(&event))
{
if(event.type == SDL_EVENT_QUIT)
{
running = false;
}
}
if(!SDL_RenderClear(renderer))
{
fprintf(stderr, "Failed to clear renderer : %s\n", SDL_GetError());
goto end;
}
if(!SDL_RenderPresent(renderer))
{
fprintf(stderr, "Failed to present renderer : %s\n", SDL_GetError());
goto end;
}
}
exit_status = EXIT_SUCCESS;
end:
if(renderer) SDL_DestroyRenderer(renderer);
if(window) SDL_DestroyWindow(window);
SDL_Quit();
return exit_status;
}