My Project
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 #pragma once 00029 #include "Define.h" 00030 #include <list> 00031 #include "GUIBaseObject.h" 00032 #include "Control.h" 00033 #include "WindowMessage.h" 00034 00035 namespace SallyAPI 00036 { 00037 namespace GUI 00038 { 00047 00048 class DLL_API_SALLY CWindow 00049 : public SallyAPI::GUI::CGUIBaseObject 00050 { 00051 protected: 00052 std::list<CControl*> m_GUIControlList; 00053 std::list<CWindowMessage*> m_iMessages; 00054 00055 virtual void RenderControl(); 00056 virtual void UpdateControl(); 00057 public: 00058 CWindow(); 00059 virtual ~CWindow(); 00060 00061 virtual void ProcessKeyboard(char KeyboardState[256], char KeyboardStatePressed[256]); 00062 00063 virtual bool CharInputPressed(char c); 00064 virtual bool KeyDown(int c); 00065 virtual bool ProcessMouseDoubleClick(int x, int y); 00066 virtual bool ProcessMouseUp(int x, int y); 00067 virtual bool ProcessMouseDown(int x, int y); 00068 virtual bool ProcessMouseMove(int x, int y); 00069 00070 virtual void SendMessageToParent(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL); 00071 virtual void SendMessageToChilds(SallyAPI::GUI::CGUIBaseObject* reporter, int reporterId, int messageId, SallyAPI::GUI::SendMessage::CParameterBase* messageParameter = NULL); 00072 virtual CWindowMessage GetMessage(); 00073 virtual void Timer(float timeDelta); 00074 00075 virtual void GetAbsolutPosition(int* x, int* y); 00076 00077 virtual void Render(); 00078 virtual void Update(); 00079 virtual void SaveConfig(); 00080 00081 void AddChild(SallyAPI::GUI::CControl* control); 00082 void RemoveChild(std::list<SallyAPI::GUI::CControl*>::iterator iter); 00083 void RemoveChild(SallyAPI::GUI::CControl* control); 00084 }; 00085 } 00086 }