Skip to content

Instantly share code, notes, and snippets.

@mehmet-tezel
Last active July 14, 2023 14:03
Show Gist options
  • Save mehmet-tezel/38701859164c315a26d983735df254e3 to your computer and use it in GitHub Desktop.
Save mehmet-tezel/38701859164c315a26d983735df254e3 to your computer and use it in GitHub Desktop.
Simple Window and Renderer Creation with SDL2
#include <SDL.h>
#include <cstdio>
int main(int argc, char* argv[]) {
if (SDL_Init(SDL_INIT_EVERYTHING) != 0)
{
printf("SDL cannot be initialized. Error: %s\n", SDL_GetError());
}
SDL_Window* window = SDL_CreateWindow("Window", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN);
if (window == NULL)
{
printf("Window could not be created. Error: %s\n", SDL_GetError());
return -1;
}
Uint32 rendererFlags = SDL_RENDERER_ACCELERATED;
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, rendererFlags);
if (renderer == NULL)
{
printf("Renderer could not be created. Error: %s\n", SDL_GetError());
return -1;
}
SDL_Event e;
bool isRunning = true;
while (isRunning) {
while (SDL_PollEvent(&e))
{
if (e.type == SDL_QUIT)
{
isRunning = false;
}
if (e.type == SDL_KEYDOWN)
{
switch (e.key.keysym.sym)
{
case SDLK_ESCAPE:
isRunning = false;
break;
default:
break;
}
}
}
// Rendering
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); // White Background
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment