1 /*! 2 @file 3 @author Albert Semenov 4 @date 08/2008 5 */ 6 7 #ifndef BASE_MANAGER_H_ 8 #define BASE_MANAGER_H_ 9 10 #include <MyGUI.h> 11 12 #include "InputManager.h" 13 #include "PointerManager.h" 14 15 namespace MyGUI 16 { 17 class DummyPlatform; 18 } 19 20 namespace base 21 { 22 class BaseManager : 23 public input::InputManager, 24 public input::PointerManager 25 { 26 public: 27 BaseManager(); 28 29 virtual void prepare(); // инициализация коммандной строки 30 bool create(int _width = 1024, int _height = 768); // создаем начальную точки каркаса приложения 31 void destroy(); // очищаем все параметры каркаса приложения 32 void run(); 33 void quit(); 34 35 void setWindowCaption(const std::wstring& _text); makeScreenShot()36 void makeScreenShot() { } 37 38 const std::string& getRootMedia(); 39 void setResourceFilename(const std::string& _flename); 40 void addResourceLocation(const std::string& _name, bool _recursive = false); 41 getStatistic()42 MyGUI::MapString getStatistic() { return MyGUI::MapString(); } 43 44 size_t getWindowHandle(); 45 46 /*internal:*/ 47 void _windowResized(); 48 49 protected: createScene()50 virtual void createScene() { } destroyScene()51 virtual void destroyScene() { } 52 53 virtual void setupResources(); 54 55 virtual void injectMouseMove(int _absx, int _absy, int _absz); 56 virtual void injectMousePress(int _absx, int _absy, MyGUI::MouseButton _id); 57 virtual void injectMouseRelease(int _absx, int _absy, MyGUI::MouseButton _id); 58 virtual void injectKeyPress(MyGUI::KeyCode _key, MyGUI::Char _text); 59 virtual void injectKeyRelease(MyGUI::KeyCode _key); 60 61 virtual void createGui(); 62 virtual void destroyGui(); 63 64 virtual void setWindowMaximized(bool _value); 65 virtual bool getWindowMaximized(); 66 67 virtual void setWindowCoord(const MyGUI::IntCoord& _value); 68 virtual MyGUI::IntCoord getWindowCoord(); 69 70 private: 71 MyGUI::Gui* mGUI; 72 MyGUI::DummyPlatform* mPlatform; 73 74 HWND hWnd; 75 HINSTANCE hInstance; 76 77 bool mExit; 78 }; 79 80 } // namespace base 81 82 #endif // BASE_MANAGER_H_ 83