ge211
ge211_engine.h
1 #pragma once
2 
3 #include "ge211_forward.h"
4 #include "ge211_render.h"
5 #include "ge211_window.h"
6 
7 namespace ge211 {
8 
9 namespace detail {
10 
11 class Engine
12 {
13 public:
14  explicit Engine(Abstract_game&);
15 
16  void run();
17  void prepare(const sprites::Sprite&) const;
18  Window& get_window() noexcept;
19 
20  ~Engine();
21 
22 private:
23  void handle_events_(SDL_Event&);
24  void paint_sprites_(Sprite_set&);
25 
26  Abstract_game& game_;
27  Window window_;
28  detail::Renderer renderer_;
29  bool is_focused_ = false;
30 };
31 
32 } // end namespace detail
33 
34 }
The game engine namespace.
Definition: ge211.h:17