Mercurial > LightClone
annotate LightClone/Source/ScreenManager.h @ 70:ffaeccdc105e
Work on screen manager
author | koryspansel |
---|---|
date | Tue, 11 Oct 2011 12:09:04 -0700 |
parents | c4ece16cf995 |
children | bc8afcf7e1ec |
rev | line source |
---|---|
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
1 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
2 * ScreenManager |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
3 */ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
4 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
5 #ifndef __SCREENMANAGER_H__ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
6 #define __SCREENMANAGER_H__ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
7 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
8 #include "Core.h" |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
9 #include "Screen.h" |
70 | 10 #include "HashMap.h" |
11 #include "FixedString.h" | |
12 #include "FixedStack.h" | |
13 #include "RenderContext.h" | |
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
14 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
15 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
16 * ScreenManager |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
17 */ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
18 class ScreenManager |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
19 { |
70 | 20 /* |
21 * ScreenMap | |
22 */ | |
23 typedef HashMap<FixedString<>, Screen*, FixedString<>::Hash> ScreenMap; | |
24 | |
25 /* | |
26 * ScreenStack | |
27 */ | |
28 typedef FixedStack<Screen*, 32> ScreenStack; | |
29 | |
30 /* | |
31 * kScreens | |
32 */ | |
33 ScreenMap kScreens; | |
34 | |
35 /* | |
36 * kStack | |
37 */ | |
38 ScreenStack kStack; | |
39 | |
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
40 public: |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
41 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
42 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
43 * ScreenManager |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
44 */ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
45 ScreenManager(); |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
46 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
47 /* |
70 | 48 * Register |
49 */ | |
50 ErrorCode Register(const char* pName, Screen* pInstance); | |
51 | |
52 /* | |
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
53 * Initialize |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
54 */ |
70 | 55 ErrorCode Initialize(ServiceProvider* pServiceProvider); |
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
56 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
57 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
58 * Terminate |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
59 */ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
60 void Terminate(); |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
61 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
62 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
63 * Update |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
64 */ |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
65 void Update(float fElapsed); |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
66 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
67 /* |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
68 * Render |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
69 */ |
70 | 70 void Render(RenderContext& kContext); |
68
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
71 }; |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
72 |
c4ece16cf995
Finish cleaning up memory leaks; Starting on screen manager
koryspansel <koryspansel@bendbroadband.com>
parents:
diff
changeset
|
73 #endif //__SCREENMANAGER_H__ |