]> git.localhorst.tv Git - tacos.git/blob - src/app/init.hpp
basic floor idea
[tacos.git] / src / app / init.hpp
1 #ifndef TACOS_APP_INIT_HPP_
2 #define TACOS_APP_INIT_HPP_
3
4 namespace tacos {
5
6 class Config;
7
8
9 struct InitAlut {
10
11         InitAlut();
12         ~InitAlut();
13
14         InitAlut(const InitAlut &) = delete;
15         InitAlut &operator =(const InitAlut &) = delete;
16
17 };
18
19 struct InitGL {
20
21         InitGL(bool double_buffer = true, int samples = 1);
22
23 };
24
25 struct InitIMG {
26
27         InitIMG();
28         ~InitIMG() noexcept;
29
30         InitIMG(const InitIMG &) = delete;
31         InitIMG &operator =(const InitIMG &) = delete;
32
33 };
34
35 struct InitSDL {
36
37         InitSDL();
38         ~InitSDL() noexcept;
39
40         InitSDL(const InitSDL &) = delete;
41         InitSDL &operator =(const InitSDL &) = delete;
42
43 };
44
45 struct InitTTF {
46
47         InitTTF();
48         ~InitTTF() noexcept;
49
50         InitTTF(const InitTTF &) = delete;
51         InitTTF &operator =(const InitTTF &) = delete;
52
53 };
54
55 struct Init {
56
57         explicit Init(const Config &);
58
59         InitSDL sdl;
60         InitGL gl;
61         InitIMG img;
62         InitTTF ttf;
63         InitAlut alut;
64
65 };
66
67 }
68
69 #endif