Mercurial > LightClone
view LightClone/Source/ScreenManager.h @ 75:57c0ce406a68 tip
Add main menu
author | koryspansel <koryspansel@bendbroadband.com> |
---|---|
date | Tue, 18 Oct 2011 17:08:17 -0700 |
parents | bc8afcf7e1ec |
children |
line wrap: on
line source
/* * ScreenManager */ #ifndef __SCREENMANAGER_H__ #define __SCREENMANAGER_H__ #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; /* * bDirty */ bool bDirty; public: /* * ScreenManager */ ScreenManager(); /* * Register */ ErrorCode Register(const char* pName, Screen* pInstance); /* * Initialize */ ErrorCode Initialize(ServiceProvider* pServiceProvider); /* * Terminate */ void Terminate(); /* * Update */ void Update(float fElapsed); /* * Render */ void Render(RenderContext& kContext); /* * Set */ void Set(const char* pName); /* * Push */ void Push(const char* pName); /* * Pop */ void Pop(); /* * IsActive */ bool IsActive() const; }; #endif //__SCREENMANAGER_H__