feat: Add basic SDL2 window application

This commit is contained in:
Sebastian Cabrera 2025-08-09 20:36:03 -04:00
parent 1690cc5b77
commit ff10e78b64
Signed by: okseby
GPG key ID: 2DDBFDEE356CF3DE

61
src/main.cpp Normal file
View file

@ -0,0 +1,61 @@
#include <SDL2/SDL.h>
#include <iostream>
int main(int argc, char* argv[]) {
// Initialize SDL2
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
std::cerr << "SDL2 initialization failed: " << SDL_GetError() << std::endl;
return 1;
}
// Create window
SDL_Window* window = SDL_CreateWindow(
"Observations on the Sublime Dynamics of Eroding Matter",
SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED,
800, 600,
SDL_WINDOW_SHOWN
);
if (!window) {
std::cerr << "Window creation failed: " << SDL_GetError() << std::endl;
SDL_Quit();
return 1;
}
// Create renderer
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
if (!renderer) {
std::cerr << "Renderer creation failed: " << SDL_GetError() << std::endl;
SDL_DestroyWindow(window);
SDL_Quit();
return 1;
}
// Main event loop
bool running = true;
SDL_Event event;
while (running) {
// Handle events
while (SDL_PollEvent(&event)) {
if (event.type == SDL_QUIT) {
running = false;
}
}
// Clear screen with black background
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer);
// Present the renderer
SDL_RenderPresent(renderer);
}
// Cleanup
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}