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