00001 /************************************************************************/ 00002 /* Ex Nihlo Engine by Hermanns Christophe */ 00003 /************************************************************************/ 00004 /* This program is free software; you can redistribute it and/or */ 00005 /* modify it under the terms of the GNU General Public License */ 00006 /* as published by the Free Software Foundation; either version 2 */ 00007 /* of the License, or (at your option) any later version. */ 00008 /* */ 00009 /* This program is distributed in the hope that it will be useful, */ 00010 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 00011 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ 00012 /* */ 00013 /* See the GNU General Public License for more details. */ 00014 /* */ 00015 /* You should have received a copy of the GNU General Public License */ 00016 /* along with this program; if not, write to the Free Software */ 00017 /* Foundation, Inc., 59 Temple Place - Suite 330, */ 00018 /* Boston, MA 02111-1307, USA. */ 00019 /* */ 00020 /* If you use a important part of this code please send me a mail */ 00021 /* I just want to see where my code go thks :) */ 00022 /************************************************************************/ 00023 00024 /************************************************************************/ 00025 /* Contact */ 00026 /************************************************************************/ 00027 /* ExNihilo Website :www.ploksoftware.org */ 00028 /* */ 00029 /* Hermanns Christophe ExNihilo creator and main programmer */ 00030 /* */ 00031 /* Mail : Data@ploksoftware.org */ 00032 /* ICQ : 8030901 */ 00033 /* MSN Messenger : Data_7@hotmail.com */ 00034 /* */ 00035 /* */ 00036 /************************************************************************/ 00037 00038 /************************************************************************/ 00039 /* File Description */ 00040 /************************************************************************/ 00041 /* File Name :ExCInterface.h */ 00042 /* */ 00043 /* Start Date :04/20/2002 */ 00044 /* */ 00045 /* Last Update :06/20/2003 */ 00046 /* */ 00047 /* File Description : */ 00048 /* */ 00049 /* For update of this file check : www.ploksoftware.org */ 00050 /************************************************************************/ 00051 00052 #ifndef __EXCINTERFACE_H__ 00053 #define __EXCINTERFACE_H__ 00054 //------------------------------------------------------------------------ 00055 //Includes 00056 //------------------------------------------------------------------------ 00057 #include "ExDefine.h" 00058 #include "ExCAction.h" 00059 //------------------------------------------------------------------------ 00060 #include "Math/ExMath.h" 00061 //------------------------------------------------------------------------ 00062 #include "Manager/ExManagerWindow.h" 00063 #include "Manager/ManagerObject/ExManagerTexture.h" 00064 //------------------------------------------------------------------------ 00065 #include "Object/Object2D/ExCObject2D.h" 00066 //------------------------------------------------------------------------ 00067 class ExCInterface : public ExCObject2D 00068 { 00069 private: 00070 //------------------------------------------------------------------------ 00071 // Variable 00072 //------------------------------------------------------------------------ 00073 ExManagerWindow *ManagerWindow; 00074 ExManagerTexture *ManagerTexture; 00075 std::string m_Texture; 00076 std::string m_TextureMask; 00077 int m_NumInterface; 00078 int m_DefaultResolutionX; 00079 int m_DefaultResolutionY; 00080 bool m_ShowRegion; 00081 bool m_State; 00082 00083 struct ActionCommand 00084 { 00085 int m_Action; 00086 int m_Command; 00087 std::string m_Param; 00088 int m_MouseXup; 00089 int m_MouseYup; 00090 int m_MouseXdown; 00091 int m_MouseYdown; 00092 }; 00093 std::vector<ActionCommand> m_VecActionCommand; 00094 std::vector<ActionCommand>::iterator m_ItVecActionCommand; 00095 00096 public: 00097 std::ostrstream *Consol; 00098 ExCInterface(void); 00099 ExCInterface(std::string FileName); 00100 ~ExCInterface(void); 00101 //------------------------------------------------------------------------ 00102 // Methode 00103 //------------------------------------------------------------------------ 00104 bool LoadFile(std::string FileName); 00105 00106 inline void SetManagerWindow(ExManagerWindow *Window){ManagerWindow = Window;} 00107 inline void SetManagerTexture(ExManagerTexture * Texture){ManagerTexture = Texture;} 00108 00109 inline void SetNumInterface(int num){m_NumInterface=num;} 00110 inline int GetNumInterface(void ){return m_NumInterface;} 00111 00112 inline void ShowRegion(void){m_ShowRegion=true;} 00113 inline void HideRegion(void){m_ShowRegion=false;} 00114 inline void DisableInterface(void){m_State=false;} 00115 inline void EnableInterface(void){m_State=true;} 00116 inline bool GetInterfaceState(void){return m_State;} 00117 00118 void Draw(void); 00119 ExCAction InputCommand(int command,int mousex,int mousey); 00120 00121 }; 00122 //------------------------------------------------------------------------ 00123 #endif //__EXCINTERFACE_H__