12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "game.h"
- #include <SDL2/SDL_render.h>
- #include <SDL2/SDL_video.h>
- #include <fmt/core.h>
- #include <memory>
- namespace Game
- {
- App::App (const char *window_name, int width, int height)
- {
- m_window = std::make_unique<SDLWindow> (
- SDL_CreateWindow (window_name, SDL_WINDOWPOS_UNDEFINED,
- SDL_WINDOWPOS_UNDEFINED, width, height, 0));
- if (m_window.get ()->_window == NULL)
- {
- fmt::print ("Could not intialize window");
- return;
- }
- m_renderer = std::make_unique<SDLRenderer> (SDL_CreateRenderer (
- m_window.get ()->_window, -1, SDL_RENDERER_ACCELERATED));
- if (!m_renderer.get ()->_renderer)
- {
- fmt::print ("Could not initialize renderer");
- return;
- }
- initialized = true;
- }
- void
- App::run ()
- {
- if (!initialized)
- {
- fmt::print ("Game not initialized properly. Quitting");
- return;
- }
- SDL_Event event;
- for (;;)
- {
- while (SDL_PollEvent (&event))
- {
- switch (event.type)
- {
- case SDL_QUIT:
- can_quit = true;
- break;
- default:
- break;
- }
- }
- SDL_SetRenderDrawColor (m_renderer.get ()->_renderer, 51, 51, 51, 255);
- SDL_RenderClear (m_renderer.get ()->_renderer);
- SDL_RenderPresent (m_renderer.get ()->_renderer);
- SDL_Delay (16);
- if (can_quit)
- {
- return;
- }
- }
- }
- } // namespace Game
|