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

ExManagerInputGLUT.cpp

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: ExManagerInputGLUT.cpp,v 1.10 2002/12/13 11:45:01 data Exp $
00021  *
00022  */
00023  
00024 #include "ExManagerInputGLUT.h"
00025 
00026 bool ExManagerInputGLUT::m_flag = false; 
00027 ExManagerInputGLUT* ExManagerInputGLUT::m_instance = NULL; 
00028 
00029 ExManagerInputGLUT* ExManagerInputGLUT::CreateSingleton(void){
00030 Guard(ExManagerInputGLUT* ExManagerInputGLUT::CreateSingleton(void))
00031         if(!m_flag)
00032         {
00033                 m_flag = true; // We are creating the error log now, so set flag to true
00034                 m_instance = new ExManagerInputGLUT; // Create the error log
00035         }else
00036         {
00037                 std::cout<<"Error singleton already created"<<std::endl;
00038         }
00039         return m_instance; 
00040 UnGuard
00041 }
00042 
00043 ExManagerInputGLUT::ExManagerInputGLUT(void)
00044 {
00045 Guard(ExManagerInputGLUT::ExManagerInputGLUT(void))
00046         m_Keyboard=false;
00047         m_Mouse=false;
00048         m_SpaceBall=false;
00049         m_Tablet=false;
00050         m_Joystick=false;
00051         m_MouseNumberButtons=0;
00052         m_SpaceBallNumberButtons=0;
00053         m_TabletNumberButtons=0;
00054         m_JoystickNumberButtons=0;
00055         m_JoystickNumberAxes=0;
00056         for(int i=0;i<256;i++)
00057         {
00058                 m_Pressed[i]=false;
00059         }
00060 UnGuard
00061 }
00062 
00063 ExManagerInputGLUT::~ExManagerInputGLUT(void)
00064 {
00065 }
00066 
00067 void ExManagerInputGLUT::CheckInput(void)
00068 {
00069 Guard(void ExManagerInputGLUT::CheckInput(void))
00070         *Consol<<"****************************************"<<std::endl;
00071         *Consol<<"*Checking for Hardware                 *"<<std::endl;
00072         *Consol<<"****************************************"<<std::endl;
00073         if(glutDeviceGet(GLUT_HAS_KEYBOARD)!=0)
00074         {
00075                 m_Keyboard=true;
00076         }else
00077         {
00078                 m_Keyboard=false;
00079         }
00080         if(glutDeviceGet(GLUT_HAS_MOUSE)!=0)
00081         {
00082                 m_Mouse=true;
00083                 m_MouseNumberButtons=glutDeviceGet(GLUT_NUM_MOUSE_BUTTONS);
00084         }
00085         else
00086         {
00087                 m_Mouse=false;
00088         }
00089         if(glutDeviceGet(GLUT_HAS_SPACEBALL)!=0)
00090         {
00091                 m_SpaceBall=true;
00092                 m_SpaceBallNumberButtons=glutDeviceGet(GLUT_NUM_SPACEBALL_BUTTONS);
00093         }
00094         else
00095         {
00096                 m_SpaceBall=false;
00097         }
00098         if(glutDeviceGet(GLUT_HAS_TABLET)!=0)
00099         {
00100                 m_Tablet=true;
00101                 m_TabletNumberButtons=glutDeviceGet(GLUT_NUM_TABLET_BUTTONS);
00102         }
00103         else
00104         {
00105                 m_Tablet=false;
00106         }
00107         if(     glutDeviceGet(GLUT_HAS_JOYSTICK)!=0)
00108         {
00109                 m_Joystick=true;
00110                 m_JoystickNumberButtons=glutDeviceGet(GLUT_JOYSTICK_BUTTONS);
00111                 m_JoystickNumberAxes=glutDeviceGet(GLUT_JOYSTICK_AXES);
00112         }
00113         else
00114         {
00115                 m_Joystick=false;
00116         }
00117 UnGuard
00118 }
00119 
00120 void ExManagerInputGLUT::DisplayAviableInput(void)
00121 {
00122 Guard(void ExManagerInputGLUT::DisplayAviableInput(void))
00123 
00124                 
00125         if(m_Keyboard)
00126                 *Consol<<"Keyboard       : available"<<std::endl;
00127         else
00128                 *Consol<<"Keyboard       : Not available"<<std::endl;
00129         if(m_Mouse)
00130                 *Consol<<"Mouse          : available "<<m_MouseNumberButtons<<" buttons found"<<std::endl;
00131         else
00132                 *Consol<<"Mouse          : Not available"<<std::endl;
00133         if(m_SpaceBall)
00134                 *Consol<<"SpaceBall      : available "<<m_SpaceBallNumberButtons<<" buttons found"<<std::endl;
00135         else
00136                 *Consol<<"SpaceBall      : Not available"<<std::endl;
00137         if(m_Tablet)
00138                 *Consol<<"Tablet         : available "<<m_TabletNumberButtons<<" buttons found"<<std::endl;
00139         else
00140                 *Consol<<"Tablet         : Not available"<<std::endl;
00141     if(m_Joystick)
00142                 *Consol<<"Joystick       : available "<<m_TabletNumberButtons<<" buttons found"<<std::endl;
00143         else
00144                 *Consol<<"Joystick       : Not available"<<std::endl;
00145         
00146         *Consol<<"Graphic Render :"<<glGetString(GL_RENDERER)<<std::endl;
00147         *Consol<<"Company        :"<<glGetString(GL_VENDOR)<<std::endl;
00148         *Consol<<"Version        :"<<glGetString(GL_VERSION)<<std::endl;
00149         std::ofstream LogExtension;
00150         LogExtension.open("LogExtension.txt",std::ios::out);
00151         LogExtension<<glGetString(GL_EXTENSIONS)<<std::endl;
00152         LogExtension.close();
00153         *Consol<<"Extension      : Watch LogExtension.txt for a full list of aviable Extension or tape extension in consol"<<std::endl;
00154 UnGuard
00155 }
00156 
00157 void ExManagerInputGLUT::Key(unsigned char key,int x,int y)
00158 {
00159         if(key<177)
00160         {
00161                 if(m_Pressed[key]==true)return;
00162                 m_Pressed[key]=true;
00163         }       
00164         switch(key)
00165         {
00166         case 8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_BACKSPACE,x,y));break;
00167         case 21:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_CTRL_U,x,y));break;
00168         case 9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_TAB,x,y));break;
00169         case 27:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ESC,x,y));break;
00170         case 178:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_EXP,x,y));break;
00171         case 13 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ENTER,x,y));break;
00172         case 32 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_SPACE,x,y));break;
00173         case '_':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN__,x,y));break;
00174         case ':':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_2POINTS,x,y));break;
00175         case '.':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_POINT,x,y));break;
00176         case '0':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_0,x,y));break;
00177         case '1':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_1,x,y));break;
00178         case '2':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_2,x,y));break;
00179         case '3':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_3,x,y));break;
00180         case '4':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_4,x,y));break;
00181         case '5':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_5,x,y));break;
00182         case '6':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_6,x,y));break;
00183         case '7':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_7,x,y));break;
00184         case '8':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_8,x,y));break;
00185         case '9':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_9,x,y));break;
00186         case 'a':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_A,x,y));break;
00187         case 'A':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_A,x,y));break;
00188         case 'b':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_B,x,y));break;
00189         case 'B':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_B,x,y));break;
00190         case 'c':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_C,x,y));break;
00191         case 'C':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_C,x,y));break;
00192         case 'd':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_D,x,y));break;
00193         case 'D':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_D,x,y));break;
00194         case 'e':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_E,x,y));break;
00195         case 'E':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_E,x,y));break;
00196         case 'f':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F,x,y));break;
00197         case 'F':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_F,x,y));break;
00198         case 'g':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_G,x,y));break;
00199         case 'G':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_G,x,y));break;
00200         case 'h':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_H,x,y));break;
00201         case 'H':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_H,x,y));break;
00202         case 'i':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_I,x,y));break;
00203         case 'I':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_I,x,y));break;
00204         case 'j':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_J,x,y));break;
00205         case 'J':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_J,x,y));break;
00206         case 'k':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_K,x,y));break;
00207         case 'K':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_K,x,y));break;
00208         case 'l':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_L,x,y));break;
00209         case 'L':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_L,x,y));break;
00210         case 'm':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M,x,y));break;
00211         case 'M':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_M,x,y));break;
00212         case 'n':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_N,x,y));break;
00213         case 'N':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_N,x,y));break;
00214         case 'o':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_O,x,y));break;
00215         case 'O':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_O,x,y));break;
00216         case 'p':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_P,x,y));break;
00217         case 'P':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_P,x,y));break;
00218         case 'q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Q,x,y));break;
00219         case 'Q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Q,x,y));break;
00220         case 'r':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_R,x,y));break;
00221         case 'R':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_R,x,y));break;
00222         case 's':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_S,x,y));break;
00223         case 'S':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_S,x,y));break;
00224         case 't':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_T,x,y));break;
00225         case 'T':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_T,x,y));break;
00226         case 'u':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_U,x,y));break;
00227         case 'U':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_U,x,y));break;
00228         case 'v':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_V,x,y));break;
00229         case 'V':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_V,x,y));break;
00230         case 'w':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_W,x,y));break;
00231         case 'W':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_W,x,y));break;
00232         case 'x':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_X,x,y));break;
00233         case 'X':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_X,x,y));break;
00234         case 'y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Y,x,y));break;
00235         case 'Y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Y,x,y));break;
00236         case 'z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Z,x,y));break;
00237         case 'Z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Z,x,y));break;
00238         }
00239 }
00240 
00241 void ExManagerInputGLUT::KeyUp(unsigned char key, int x, int y)
00242 {
00243         if(key<177)
00244         {
00245                 if(m_Pressed[key]==false)return;
00246                 m_Pressed[key]=false;
00247         }
00248         switch(key)
00249         {
00250         case 8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_BACKSPACE,x,y));break;
00251         case 27:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ESC,x,y));break;
00252         case 178:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_EXP,x,y));break;
00253         case 32 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_SPACE,x,y));break;
00254         case ':':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_2POINTS,x,y));break;
00255         case '.':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_POINT,x,y));break;
00256         case '_':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP__,x,y));break;
00257         case '0':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_0,x,y));break;
00258         case '1':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_1,x,y));break;
00259         case '2':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_2,x,y));break;
00260         case '3':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_3,x,y));break;
00261         case '4':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_4,x,y));break;
00262         case '5':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_5,x,y));break;
00263         case '6':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_6,x,y));break;
00264         case '7':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_7,x,y));break;
00265         case '8':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_8,x,y));break;
00266         case '9':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_9,x,y));break;
00267         case 'a':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_A,x,y));break;
00268         case 'A':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_A,x,y));break;
00269         case 'b':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_B,x,y));break;
00270         case 'B':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_B,x,y));break;
00271         case 'c':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_C,x,y));break;
00272         case 'C':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_C,x,y));break;
00273         case 'd':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_D,x,y));break;
00274         case 'D':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_D,x,y));break;
00275         case 'e':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_E,x,y));break;
00276         case 'E':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_E,x,y));break;
00277         case 'f':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F,x,y));break;
00278         case 'F':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_F,x,y));break;
00279         case 'g':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_G,x,y));break;
00280         case 'G':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_G,x,y));break;
00281         case 'h':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_H,x,y));break;
00282         case 'H':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_H,x,y));break;
00283         case 'i':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_I,x,y));break;
00284         case 'I':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_I,x,y));break;
00285         case 'j':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_J,x,y));break;
00286         case 'J':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_J,x,y));break;
00287         case 'k':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_K,x,y));break;
00288         case 'K':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_K,x,y));break;
00289         case 'l':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_L,x,y));break;
00290         case 'L':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_L,x,y));break;
00291         case 'm':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M,x,y));break;
00292         case 'M':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_M,x,y));break;
00293         case 'n':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_N,x,y));break;
00294         case 'N':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_N,x,y));break;
00295         case 'o':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_O,x,y));break;
00296         case 'O':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_O,x,y));break;
00297         case 'p':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_P,x,y));break;
00298         case 'P':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_P,x,y));break;
00299         case 'q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Q,x,y));break;
00300         case 'Q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Q,x,y));break;
00301         case 'r':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_R,x,y));break;
00302         case 'R':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_R,x,y));break;
00303         case 's':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_S,x,y));break;
00304         case 'S':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_S,x,y));break;
00305         case 't':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_T,x,y));break;
00306         case 'T':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_T,x,y));break;
00307         case 'u':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_U,x,y));break;
00308         case 'U':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_U,x,y));break;
00309         case 'v':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_V,x,y));break;
00310         case 'V':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_V,x,y));break;
00311         case 'w':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_W,x,y));break;
00312         case 'W':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_W,x,y));break;
00313         case 'x':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_X,x,y));break;
00314         case 'X':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_X,x,y));break;
00315         case 'y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Y,x,y));break;
00316         case 'Y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Y,x,y));break;
00317         case 'z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Z,x,y));break;
00318         case 'Z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Z,x,y));break;
00319         }
00320 }
00321 
00322 void ExManagerInputGLUT::KeySpe(int key,int x,int y)
00323 {
00324 Guard(void ExManagerInputGLUT::KeySpe(int key,int x,int y));
00325         if(m_Pressed[key]==true)return;
00326         m_Pressed[key]=true;
00327         switch (key) 
00328         {
00329         case GLUT_KEY_LEFT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_LEFT,x,y));break;
00330         case GLUT_KEY_RIGHT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_RIGHT,x,y));break;
00331         case GLUT_KEY_UP :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_UP,x,y));break;
00332         case GLUT_KEY_DOWN :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_DOWN,x,y));break;
00333         case GLUT_KEY_F1:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F1,x,y));break; 
00334         case GLUT_KEY_F2:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F2,x,y));break; 
00335         case GLUT_KEY_F3:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F3,x,y));break; 
00336         case GLUT_KEY_F4:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F4,x,y));break;  
00337         case GLUT_KEY_F5:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F5,x,y));break; 
00338         case GLUT_KEY_F6:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F6,x,y));break;  
00339         case GLUT_KEY_F7:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F7,x,y));break; 
00340         case GLUT_KEY_F8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F8,x,y));break;  
00341         case GLUT_KEY_F9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F9,x,y));break; 
00342         case GLUT_KEY_F10:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F10,x,y));break;        
00343         case GLUT_KEY_F11:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F11,x,y));break; 
00344         case GLUT_KEY_F12:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F12,x,y));break;
00345         case GLUT_KEY_PAGE_UP:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_PAGE_UP,x,y));break; 
00346         case GLUT_KEY_PAGE_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_PAGE_DOWN,x,y));break;    
00347         case GLUT_KEY_END:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_END,x,y));break; 
00348         case GLUT_KEY_HOME:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_HOME,x,y));break;      
00349         case GLUT_KEY_INSERT:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_INSERT,x,y));break; 
00350         }
00351 UnGuard
00352 }
00353 
00354 void ExManagerInputGLUT::KeySpeUp(int key, int x, int y)
00355 {
00356         if(m_Pressed[key]==false)return;
00357         m_Pressed[key]=false;
00358         switch (key) 
00359         {
00360         case GLUT_KEY_LEFT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_LEFT,x,y));break;
00361         case GLUT_KEY_RIGHT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_RIGHT,x,y));break;
00362         case GLUT_KEY_UP :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_UP,x,y));break;
00363         case GLUT_KEY_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_DOWN,x,y));break;
00364         case GLUT_KEY_F1:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F1,x,y));break; 
00365         case GLUT_KEY_F2:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F2,x,y));break; 
00366         case GLUT_KEY_F3:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F3,x,y));break; 
00367         case GLUT_KEY_F4:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F4,x,y));break;    
00368         case GLUT_KEY_F5:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F5,x,y));break; 
00369         case GLUT_KEY_F6:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F6,x,y));break;    
00370         case GLUT_KEY_F7:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F7,x,y));break; 
00371         case GLUT_KEY_F8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F8,x,y));break;    
00372         case GLUT_KEY_F9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F9,x,y));break; 
00373         case GLUT_KEY_F10:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F10,x,y));break;  
00374         case GLUT_KEY_F11:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F11,x,y));break; 
00375         case GLUT_KEY_F12:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F12,x,y));break;
00376         case GLUT_KEY_PAGE_UP:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_PAGE_UP,x,y));break; 
00377         case GLUT_KEY_PAGE_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_PAGE_DOWN,x,y));break;      
00378         case GLUT_KEY_END:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_END,x,y));break; 
00379         case GLUT_KEY_HOME:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_HOME,x,y));break;        
00380         case GLUT_KEY_INSERT:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_INSERT,x,y));break; 
00381         }
00382 }
00383 
00384 void ExManagerInputGLUT::Mouse(int button, int state, int x, int y)
00385 {
00386         //GLUT_UP ou GLUT_DOWN
00387         switch(button)
00388         {
00389         case GLUT_LEFT_BUTTON:
00390                 if(state==GLUT_UP)
00391                 {
00392                         ManagerCommand->InputCommand(ExCCommand(MOUSE_LEFT_BUTTON_UP,x,y));
00393                 }
00394                 if(state==GLUT_DOWN)
00395                 {
00396                         ManagerCommand->InputCommand(ExCCommand(MOUSE_LEFT_BUTTON_DOWN,x,y));
00397                 }
00398                 break;
00399         case GLUT_MIDDLE_BUTTON:
00400                 if(state==GLUT_UP)
00401                 {
00402                         ManagerCommand->InputCommand(ExCCommand(MOUSE_MIDDLE_BUTTON_UP,x,y));
00403                 }
00404                 if(state==GLUT_DOWN)
00405                 {
00406                         ManagerCommand->InputCommand(ExCCommand(MOUSE_MIDDLE_BUTTON_DOWN,x,y));
00407                 }
00408                 break;
00409         case GLUT_RIGHT_BUTTON:
00410                 if(state==GLUT_UP)
00411                 {
00412                         ManagerCommand->InputCommand(ExCCommand(MOUSE_RIGHT_BUTTON_UP,x,y));
00413                 }
00414                 if(state==GLUT_DOWN)
00415                 {
00416                         ManagerCommand->InputCommand(ExCCommand(MOUSE_RIGHT_BUTTON_DOWN,x,y));
00417                 }
00418                 break;
00419         }
00420 }
00421 void ExManagerInputGLUT::Focus(int state)
00422 {
00423 Guard(void ExManagerInputGLUT::MouseFocus(int state))
00424         switch(state)
00425         {
00426         case GLUT_LEFT :
00427                 break;
00428         case GLUT_ENTERED :
00429                 break;
00430         }
00431 UnGuard
00432 }
00433 void ExManagerInputGLUT::MouseMotion(int x, int y)
00434 {
00435 Guard(void ExManagerInputGLUT::MouseMotion(int x, int y))
00436         ManagerCommand->InputCommand(ExCCommand(MOUSE_MOTION,x,y));
00437 UnGuard
00438 }
00439 void ExManagerInputGLUT::MousePassiveMotion(int x, int y)
00440 {
00441 Guard(void ExManagerInputGLUT::MousePassiveMotion(int x, int y))
00442         ManagerCommand->InputCommand(ExCCommand(MOUSE_MOTION_PASSIVE,x,y));
00443 UnGuard
00444 }
00445 void ExManagerInputGLUT::SpaceballMotion(int x, int y, int z)
00446 {
00447 Guard(void ExManagerInputGLUT::SpaceballMotion(int x, int y, int z))
00448 UnGuard
00449 }
00450 void ExManagerInputGLUT::SpaceballRotate(int x, int y, int z)
00451 {
00452 Guard(void ExManagerInputGLUT::SpaceballRotate(int x, int y, int z))
00453 UnGuard
00454 }
00455 void ExManagerInputGLUT::TabletMotion(int x, int y)
00456 {
00457 Guard(void ExManagerInputGLUT::TabletMotion(int x, int y))
00458 UnGuard
00459 }
00460 void ExManagerInputGLUT::TabletButton(int button, int state, int x, int y)
00461 {
00462 Guard(void ExManagerInputGLUT::TabletButton(int button, int state, int x, int y))
00463 UnGuard
00464 }

Généré le Tue Oct 28 12:43:36 2003 pour ExNihilo par doxygen 1.3.4