]> git.localhorst.tv Git - gworm.git/blob - src/graphics/Window.h
speed up rendering by caching world texture
[gworm.git] / src / graphics / Window.h
1 #ifndef GWORM_WINDOW_H_
2 #define GWORM_WINDOW_H
3
4 #include "Canvas.h"
5 #include "Vector.h"
6
7 #include <SDL.h>
8
9
10 namespace gworm {
11
12 class Window {
13
14 public:
15         static const Vector<int> POS_CENTER;
16         static const Vector<int> POS_UNDEF;
17
18 public:
19         Window() : win(nullptr) { }
20         Window(const char *title, Vector<int> pos, Vector<int> size, Uint32 flags);
21         ~Window();
22
23         Window(Window &&);
24         Window &operator =(Window &&);
25
26         Window(const Window &) = delete;
27         Window &operator =(const Window &) = delete;
28
29 public:
30         Vector<int> Size() const;
31
32         Canvas CreateCanvas(Uint32 flags);
33
34 private:
35         SDL_Window *win;
36
37 };
38
39 }
40
41 #endif