Page principale   Liste des namespaces   Hiérarchie des classes   Liste par ordre alphabétique   Liste des composants   Liste des fichiers   Composants   Déclarations  

ExCInterface.h

Aller à la documentation de ce fichier.
00001 /*
00002  * ExNihilo 3D Engine
00003  * 
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (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.  See the
00012  *  GNU Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017  *
00018  * Please read AUTHORS file !!!
00019  * 
00020  * $Id: ExCInterface.h,v 1.2 2002/08/01 18:45:56 data Exp $
00021  *
00022  */
00023 
00024 #ifndef __EXCINTERFACE_H__
00025 #define __EXCINTERFACE_H__
00026 //--------------------------------
00027 // File to include
00028 //--------------------------------
00029 #include "ExDefine.h"
00030 #include "ExMath.h"
00031 #include "InputActionList.h"
00032 #include "ExManagerWindow.h"
00033 #include "ExManagerTexture.h"
00034 #include "ExCFile.h"
00035 
00036 //--------------------------------
00037 class ExCInterface
00038 {
00039 private:
00040 //--------------------------------
00041 // Variable
00042 //--------------------------------
00043         ExManagerWindow         *ManagerWindow;
00044         ExManagerTexture        *ManagerTexture;
00045         char                            *m_Texture;
00046         char                            *m_TextureMask;
00047         GLuint                          m_iTexture;
00048         GLuint                          m_iTextureMask;
00049         int                                     m_NumInterface;
00050         int                                     m_DefaultResolutionX;
00051         int                                     m_DefaultResolutionY;
00052         bool                            m_ShowRegion;
00053         bool                            m_State;
00054         char                            *m_InterfaceName;
00055         struct ActionCommand
00056         {
00057                 int             m_Action;
00058                 int             m_Command;
00059                 char    m_Param[255];
00060                 int             m_MouseXup;
00061                 int             m_MouseYup;
00062                 int             m_MouseXdown;
00063                 int             m_MouseYdown;
00064         };
00065         std::vector<ActionCommand>                       m_VecActionCommand;
00066         std::vector<ActionCommand>::iterator m_ItVecActionCommand;
00067         
00068         void LoadTextureInterface(void);
00069 public:
00070         std::ostrstream *Consol;
00071         void (*WriteToConsol)(const char *Label);
00072         ExCInterface(void);
00073         ~ExCInterface(void);
00074 //--------------------------------
00075 // Methode
00076 //--------------------------------
00077         inline void SetManagerWindow(ExManagerWindow *Window){ManagerWindow = Window;}
00078         inline void SetManagerTexture(ExManagerTexture * Texture){ManagerTexture = Texture;}
00079         
00080         inline void SetNumInterface(int num){m_NumInterface=num;}
00081         inline int      GetNumInterface(void ){return m_NumInterface;}
00082 
00083         inline  void ShowRegion(void){m_ShowRegion=true;}
00084         inline  void HideRegion(void){m_ShowRegion=false;}
00085         inline  void DisableInterface(void){m_State=false;}
00086         inline  void EnableInterface(void){m_State=true;}
00087         inline  bool GetInterfaceState(void){return m_State;}
00088 
00089         inline char * GetInterfaceName(void){return m_InterfaceName;}
00090         void DrawInterface(void);
00091         bool LoadInterface(const char * FileName);
00092         SAction InputCommand(int command,int mousex,int mousey);
00093 
00094 };
00095 #endif //__EXCINTERFACE_H__

Généré le Tue Aug 6 20:25:24 2002 pour ExNihilo par doxygen1.2.17