Mercurial > LightClone
comparison 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 |
comparison
equal
deleted
inserted
replaced
69:d1be174e5585 | 70:ffaeccdc105e |
---|---|
5 #ifndef __SCREENMANAGER_H__ | 5 #ifndef __SCREENMANAGER_H__ |
6 #define __SCREENMANAGER_H__ | 6 #define __SCREENMANAGER_H__ |
7 | 7 |
8 #include "Core.h" | 8 #include "Core.h" |
9 #include "Screen.h" | 9 #include "Screen.h" |
10 #include "HashMap.h" | |
11 #include "FixedString.h" | |
12 #include "FixedStack.h" | |
13 #include "RenderContext.h" | |
10 | 14 |
11 /* | 15 /* |
12 * ScreenManager | 16 * ScreenManager |
13 */ | 17 */ |
14 class ScreenManager | 18 class ScreenManager |
15 { | 19 { |
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 | |
16 public: | 40 public: |
17 | 41 |
18 /* | 42 /* |
19 * ScreenManager | 43 * ScreenManager |
20 */ | 44 */ |
21 ScreenManager(); | 45 ScreenManager(); |
22 | 46 |
23 /* | 47 /* |
48 * Register | |
49 */ | |
50 ErrorCode Register(const char* pName, Screen* pInstance); | |
51 | |
52 /* | |
24 * Initialize | 53 * Initialize |
25 */ | 54 */ |
26 ErrorCode Initialize(); | 55 ErrorCode Initialize(ServiceProvider* pServiceProvider); |
27 | 56 |
28 /* | 57 /* |
29 * Terminate | 58 * Terminate |
30 */ | 59 */ |
31 void Terminate(); | 60 void Terminate(); |
36 void Update(float fElapsed); | 65 void Update(float fElapsed); |
37 | 66 |
38 /* | 67 /* |
39 * Render | 68 * Render |
40 */ | 69 */ |
41 void Render(); | 70 void Render(RenderContext& kContext); |
42 }; | 71 }; |
43 | 72 |
44 #endif //__SCREENMANAGER_H__ | 73 #endif //__SCREENMANAGER_H__ |