Skip to content

Instantly share code, notes, and snippets.

@nramsbottom
Last active March 25, 2023 22:45
Show Gist options
  • Save nramsbottom/647dbf709f96ee52948b50f9425e354b to your computer and use it in GitHub Desktop.
Save nramsbottom/647dbf709f96ee52948b50f9425e354b to your computer and use it in GitHub Desktop.
SDL Quickstart
#include <stdio.h>
#include <SDL2\SDL.h>
// assumes installed using vcpkg
#ifdef _DEBUG
#pragma comment(lib, "SDL2d")
#pragma comment(lib, "SDL2maind")
#else
#pragma comment(lib, "SDL2")
#pragma comment(lib, "SDL2main")
#endif
int main(int argc, char* argv[])
{
if (SDL_Init(SDL_INIT_EVERYTHING) != 0) {
printf("error initializing SDL: %s\n", SDL_GetError());
return 0;
}
SDL_Window* window = SDL_CreateWindow(
NULL, // title
SDL_WINDOWPOS_CENTERED, // posx
SDL_WINDOWPOS_CENTERED, // posy
1024, // w
768, // h
0);
if (window == NULL) {
printf("error creating SDL window: %s\n", SDL_GetError());
SDL_Quit();
return 0;
}
SDL_Renderer* renderer = SDL_CreateRenderer(
window,
-1,
SDL_RENDERER_ACCELERATED);
if (renderer == NULL) {
printf("error creating SDL renderer: %s\n", SDL_GetError());
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
SDL_SetRenderDrawColor(renderer, 0x64, 0x95, 0xED, 0xFF);
unsigned char running = 1;
while (running) {
SDL_Event evt;
while (SDL_PollEvent(&evt)) {
if (evt.type == SDL_QUIT) {
running = 0;
break;
}
}
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