UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
window.h
Go to the documentation of this file.
1 #ifndef UGDK_DESKTOP_3D_WINDOW_H_
2 #define UGDK_DESKTOP_3D_WINDOW_H_
3 
4 #include <ugdk/math/integer2D.h>
5 #include <ugdk/desktop/window.h>
6 #include <ugdk/desktop.h>
7 #include <ugdk/graphic.h>
8 #include <ugdk/structure/types.h>
9 
10 namespace Ogre {
11 class RenderWindow;
12 }
13 struct SDL_Window;
14 
15 namespace ugdk {
16 namespace desktop {
17 namespace mode3d {
18 
19 class Window final : public desktop::Window {
20  private:
21  Window(SDL_Window* sdl_window, Ogre::RenderWindow* ogre_window);
22 
23  public:
24  ~Window() {}
25 
27  void Present() override;
28 
30 
32  void ChangeSettings(const math::Integer2D& size, bool fullscreen, bool vsync) override;
33 
35  Ogre::RenderWindow& ogre_window() { return *ogre_window_; }
36 
37  uint32 id() const override;
38  const char* title() const override;
39  math::Integer2D size() const override;
40  bool fullscreen() const override;
41  bool vsync() const override;
42 
43  private:
44  SDL_Window* sdl_window_;
45  Ogre::RenderWindow* ogre_window_;
46 
47  friend class ::ugdk::desktop::mode3d::Manager;
48 };
49 
50 } // namespace mode2d
51 } // namespace desktop
52 } // namespace ugdk
53 
54 #endif // UGDK_DESKTOP_2D_WINDOW_H_
Definition: window.h:12
uint32_t uint32
Definition: types.h:14
math::Integer2D size() const override
Definition: integer2D.h:20
Window()
Definition: window.h:31
Definition: animation.h:11
Ogre::RenderWindow & ogre_window()
Returns the Ogre window.
Definition: window.h:35
const char * title() const override
uint32 id() const override
void Present() override
Presents the current canvas in the screen.
~Window()
Definition: window.h:24
bool fullscreen() const override
void ChangeSettings(const math::Integer2D &size, bool fullscreen, bool vsync) override
Updates the settings and applies the changes.
bool vsync() const override
Definition: camera.h:8
Definition: window.h:19