Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Namespace Members   Data Fields   Globals  

ExManagerInputGLUT.h

Go to the documentation of this file.
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 /* Benjamin Michotte Linux port, webmaster                              */
00036 /*                                                                      */
00037 /* Mail             :binny@ploksoftware.org                             */
00038 /*                                                                      */
00039 /************************************************************************/
00040 
00041 /************************************************************************/
00042 /* File Description                                                                                             */
00043 /************************************************************************/
00044 /* File Name   :InputActionList.h                                                                               */
00045 /*                                                                                                                                              */
00046 /* Star Date   :03/15/2002                                                                                              */
00047 /*                                                                                                                                              */
00048 /* Last Update :
00049  * $Id: ExManagerInputGLUT.h,v 1.6 2002/09/22 15:53:58 data Exp $
00050  *
00051  */
00052 
00053 #ifndef __EXMANAGERINPUTGLUT_H__
00054 #define __EXMANAGERINPUTGLUT_H__
00055 //--------------------------------
00056 // File to include
00057 //--------------------------------
00058 #include "ExDefine.h"
00059 #include "ExMath.h"
00060 #include "ExManagerCommand.h"
00061 #include "ExCCommand.h"
00062 #include "ExManager.h"
00063 //--------------------------------
00064 class ExManagerInputGLUT : public ExManager
00065 {
00066 private:
00067 //--------------------------------
00068 // Variable
00069 //--------------------------------
00070         ExManagerCommand                        *ManagerCommand;
00071 
00072 
00073         bool m_Keyboard;
00074         bool m_Mouse;
00075         bool m_SpaceBall;
00076         bool m_Tablet;
00077         bool m_Joystick;
00078         int m_MouseNumberButtons;
00079         int m_SpaceBallNumberButtons;
00080         int m_TabletNumberButtons;
00081         int m_JoystickNumberButtons;
00082         int m_JoystickNumberAxes;
00083 
00084         bool m_Pressed[256];
00085 //--------------------------------
00086 // Singleton creation
00087 //--------------------------------
00088         static bool m_flag; 
00089         static ExManagerInputGLUT *m_instance;
00090         ExManagerInputGLUT(void);
00091         ~ExManagerInputGLUT(void);
00092 //--------------------------------
00093 public:
00094         static ExManagerInputGLUT*  CreateSingleton(void);
00095 //--------------------------------
00096 // Methode
00097 //--------------------------------
00098         void Reset(void){return;}
00099         void Init(void){return;}
00100 
00101         inline void SetManagerCommand(ExManagerCommand *Command){ManagerCommand = Command;}
00102 //------------------------------------------
00103 //Ask for Hardware Methode
00104 //------------------------------------------    
00105         inline bool IsKeyboard(void)    {return m_Keyboard;};
00106         inline bool IsMouse(void)               {return m_Mouse;};
00107         inline bool IsSpaceBall(void)   {return m_SpaceBall;};
00108         inline bool IsTablet(void)              {return m_Tablet;};
00109         inline bool IsJoystick(void)    {return m_Joystick;};
00110         void CheckInput(void);
00111         void DisplayAviableInput(void);
00112 //-----------------------------------------
00113 //Keyboard function
00114 //-----------------------------------------
00115         void Key                (unsigned char key,int x,int y);
00116         void KeyUp              (unsigned char key, int x, int y);
00117         void KeySpe             (int key,int x,int y);                  
00118         void KeySpeUp   (int key, int x, int y);
00119 //-----------------------------------------
00120 //Mouse Function
00121 //-----------------------------------------
00122         void Mouse                              (int button, int state, int x, int y);
00123         void MouseMotion                (int x, int y);
00124         void MousePassiveMotion (int x, int y);
00125         void Focus                              (int state);
00126 //-----------------------------------------
00127 //SpaceBall Function
00128 //-----------------------------------------
00129         void SpaceballMotion(int x, int y, int z);
00130         void SpaceballRotate(int x, int y, int z);
00131 //-----------------------------------------
00132 //Tablet Function
00133 //-----------------------------------------
00134         void TabletMotion(int x, int y); 
00135         void TabletButton(int button, int state, int x, int y);
00136 //-----------------------------------------
00137 //joystik Function
00138 //-----------------------------------------
00139 };
00140 #endif //__EXMANAGERINPUTGLUT_H__

Generated on Tue Dec 10 18:20:06 2002 for ExNihilo by doxygen1.3-rc1