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:
parent
dfbae6043b
commit
b4ff44788a
6 changed files with 57 additions and 3 deletions
|
@ -18,7 +18,7 @@ To get this working the rough (ROUGH) steps are:
|
||||||
2. Run setup.ps1
|
2. Run setup.ps1
|
||||||
3. `meson compile -C builddir`
|
3. `meson compile -C builddir`
|
||||||
4. `meson install -C builddir` -- Careful with this, it might install stuff in unwanted areas. On my computer it put them in `C:\` but I have to read the instructions on how to set the install location.
|
4. `meson install -C builddir` -- Careful with this, it might install stuff in unwanted areas. On my computer it put them in `C:\` but I have to read the instructions on how to set the install location.
|
||||||
5. `./builddir/sfmlprog` -- That should run it and you see a window with ImGUI's demo panel.
|
5. `./builddir/sfmldemo` -- That should run it and you see a window with ImGUI's demo panel.
|
||||||
|
|
||||||
I'll have more extensive instructions in a later blog post, but if you have time try this out and let me know how it went at help@learncodethehardway.com. Please let me know if you tried a different compiler, Windows version, etc. If you're on OSX or Linux it should work the same but Linux people might want to use their package manager instead.
|
I'll have more extensive instructions in a later blog post, but if you have time try this out and let me know how it went at help@learncodethehardway.com. Please let me know if you tried a different compiler, Windows version, etc. If you're on OSX or Linux it should work the same but Linux people might want to use their package manager instead.
|
||||||
|
|
||||||
|
|
36
sdl2demo/main.cpp
Normal file
36
sdl2demo/main.cpp
Normal 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
11
sdl2demo/meson.build
Normal 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
5
sdl2demo/setup.ps1
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
mkdir builddir
|
||||||
|
mkdir subprojects
|
||||||
|
meson wrap install imgui
|
||||||
|
meson wrap install sdl2
|
||||||
|
meson setup builddir
|
|
@ -1,9 +1,11 @@
|
||||||
project('sfmldemo', 'cpp',
|
project('sfmldemo', 'cpp',
|
||||||
default_options: ['cpp_std=c++17'])
|
default_options: [
|
||||||
|
'cpp_std=c++17',
|
||||||
|
])
|
||||||
|
|
||||||
sfml_dep = dependency('sfml')
|
sfml_dep = dependency('sfml')
|
||||||
imgui_dep = dependency('imgui-sfml')
|
imgui_dep = dependency('imgui-sfml')
|
||||||
|
|
||||||
executable('sfmlprog', 'sfmlprog.cpp',
|
executable('sfmldemo', 'main.cpp',
|
||||||
win_subsystem: 'windows',
|
win_subsystem: 'windows',
|
||||||
dependencies: [sfml_dep, imgui_dep])
|
dependencies: [sfml_dep, imgui_dep])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue