Bring in a simple SDL2 demo for completeness. It's running in a main.cpp to test SDL2 in C++.

This commit is contained in:
Zed A. Shaw 2024-04-24 06:51:37 -04:00
parent dfbae6043b
commit b4ff44788a
6 changed files with 57 additions and 3 deletions

36
sdl2demo/main.cpp Normal file
View file

@ -0,0 +1,36 @@
#include "SDL.h"
int main(int argc, char *argv[])
{
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Surface *surface;
SDL_Event event;
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s", SDL_GetError());
return 3;
}
if (SDL_CreateWindowAndRenderer(1920, 1080, SDL_WINDOW_RESIZABLE, &window, &renderer)) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create window and renderer: %s", SDL_GetError());
return 3;
}
while (1) {
SDL_PollEvent(&event);
if (event.type == SDL_QUIT) {
break;
}
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}

11
sdl2demo/meson.build Normal file
View file

@ -0,0 +1,11 @@
project('sdl2demo', 'cpp',
default_options: [
'cpp_std=c++17',
])
sdl2_dep = dependency('sdl2')
imgui_dep = dependency('imgui')
executable('sdl2demo', 'main.cpp',
win_subsystem: 'windows',
dependencies: [sdl2_dep, imgui_dep])

5
sdl2demo/setup.ps1 Normal file
View file

@ -0,0 +1,5 @@
mkdir builddir
mkdir subprojects
meson wrap install imgui
meson wrap install sdl2
meson setup builddir