1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #pragma once
- #include <SDL2/SDL.h>
- #include <SDL2/SDL_video.h>
- #include <memory>
- namespace Game
- {
- struct SDLWindow
- {
- SDL_Window *_window;
- SDLWindow (SDL_Window *window) { _window = window; }
- ~SDLWindow () { SDL_DestroyWindow (_window); }
- };
- struct SDLRenderer
- {
- SDL_Renderer *_renderer;
- SDLRenderer (SDL_Renderer *renderer) { _renderer = renderer; }
- ~SDLRenderer () { SDL_DestroyRenderer (_renderer); }
- };
- class App
- {
- public:
- App (const char *window_name, int width, int height);
- void run ();
- private:
- std::unique_ptr<SDLWindow> m_window;
- std::unique_ptr<SDLRenderer> m_renderer;
- bool can_quit = false;
- bool initialized = false;
- };
- }; // namespace Game
|