Mercurial > LightClone
diff 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 |
line wrap: on
line diff
--- a/LightClone/Source/ScreenManager.h Mon Oct 10 09:49:54 2011 -0700 +++ b/LightClone/Source/ScreenManager.h Tue Oct 11 12:09:04 2011 -0700 @@ -7,12 +7,36 @@ #include "Core.h" #include "Screen.h" +#include "HashMap.h" +#include "FixedString.h" +#include "FixedStack.h" +#include "RenderContext.h" /* * ScreenManager */ class ScreenManager { + /* + * ScreenMap + */ + typedef HashMap<FixedString<>, Screen*, FixedString<>::Hash> ScreenMap; + + /* + * ScreenStack + */ + typedef FixedStack<Screen*, 32> ScreenStack; + + /* + * kScreens + */ + ScreenMap kScreens; + + /* + * kStack + */ + ScreenStack kStack; + public: /* @@ -21,9 +45,14 @@ ScreenManager(); /* + * Register + */ + ErrorCode Register(const char* pName, Screen* pInstance); + + /* * Initialize */ - ErrorCode Initialize(); + ErrorCode Initialize(ServiceProvider* pServiceProvider); /* * Terminate @@ -38,7 +67,7 @@ /* * Render */ - void Render(); + void Render(RenderContext& kContext); }; #endif //__SCREENMANAGER_H__