I don't think I'll bother any more with this, so I'll just make it start
[ld42_outofspace] / src / screen.cc
1 #include "screen.h"
2 #include "game.h"
3
4 ScreenBase *active_screen;
5 MenuScreen *scr_menu;
6 GameScreen *scr_game;
7
8 bool init_screens()
9 {
10         scr_menu = new MenuScreen;
11         if(!scr_menu->init()) {
12                 return false;
13         }
14
15         scr_game = new GameScreen;
16         if(!scr_game->init()) {
17                 return false;
18         }
19
20         push_screen(scr_menu);
21         //push_screen(scr_game);
22         return true;
23 }
24
25 void cleanup_screens()
26 {
27         scr_game->destroy();
28         delete scr_game;
29
30         scr_menu->destroy();
31         delete scr_menu;
32 }
33
34 void push_screen(ScreenBase *scr)
35 {
36         scr->next = active_screen;
37         active_screen = scr;
38
39         scr->reshape(win_width, win_height);
40         scr->start();
41 }
42
43 void pop_screen()
44 {
45         ScreenBase *scr = active_screen;
46         active_screen = scr->next;
47
48         scr->stop();
49 }
50
51
52 ScreenBase::ScreenBase()
53 {
54         next = 0;
55 }
56
57 ScreenBase::~ScreenBase()
58 {
59 }
60
61 bool ScreenBase::init()
62 {
63         return true;
64 }
65
66 void ScreenBase::destroy()
67 {
68 }
69
70 void ScreenBase::start()
71 {
72 }
73
74 void ScreenBase::stop()
75 {
76 }
77
78
79 void ScreenBase::reshape(int x, int y)
80 {
81 }
82
83
84 void ScreenBase::keyboard(int key, bool pressed)
85 {
86 }
87
88 void ScreenBase::mbutton(int bn, bool pressed, int x, int y)
89 {
90 }
91
92 void ScreenBase::mmotion(int x, int y)
93 {
94 }
95
96 void ScreenBase::mwheel(int dir, int x, int y)
97 {
98 }