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.9 2002/11/09 16:09:41 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<<"****************************************"<<endl;
00071         *Consol<<"*Checking for Hardware                 *"<<endl;
00072         *Consol<<"****************************************"<<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         *Consol<<"Graphic Render :"<<glGetString(GL_RENDERER)<<endl;
00124         *Consol<<"Company        :"<<glGetString(GL_VENDOR)<<endl;
00125         *Consol<<"Version        :"<<glGetString(GL_VERSION)<<endl;
00126         *Consol<<"Extension      :"<<glGetString(GL_EXTENSIONS)<<endl;
00127         
00128         if(m_Keyboard)
00129                 *Consol<<"Keyboard       : available"<<std::endl;
00130         else
00131                 *Consol<<"Keyboard       : Not available"<<std::endl;
00132         if(m_Mouse)
00133                 *Consol<<"Mouse          : available "<<m_MouseNumberButtons<<" buttons found"<<std::endl;
00134         else
00135                 *Consol<<"Mouse          : Not available"<<std::endl;
00136         if(m_SpaceBall)
00137                 *Consol<<"SpaceBall      : available "<<m_SpaceBallNumberButtons<<" buttons found"<<std::endl;
00138         else
00139                 *Consol<<"SpaceBall      : Not available"<<std::endl;
00140         if(m_Tablet)
00141                 *Consol<<"Tablet         : available "<<m_TabletNumberButtons<<" buttons found"<<std::endl;
00142         else
00143                 *Consol<<"Tablet         : Not available"<<std::endl;
00144     if(m_Joystick)
00145                 *Consol<<"Joystick       : available "<<m_TabletNumberButtons<<" buttons found"<<std::endl;
00146         else
00147                 *Consol<<"Joystick       : Not available"<<std::endl;
00148 UnGuard
00149 }
00150 
00151 void ExManagerInputGLUT::Key(unsigned char key,int x,int y)
00152 {
00153         if(key<177)
00154         {
00155                 if(m_Pressed[key]==true)return;
00156                 m_Pressed[key]=true;
00157         }       
00158         switch(key)
00159         {
00160         case 8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_BACKSPACE,x,y));break;
00161         case 21:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_CTRL_U,x,y));break;
00162         case 9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_TAB,x,y));break;
00163         case 27:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ESC,x,y));break;
00164         case 178:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_EXP,x,y));break;
00165         case 13 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ENTER,x,y));break;
00166         case 32 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_SPACE,x,y));break;
00167         case '_':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN__,x,y));break;
00168         case ':':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_2POINTS,x,y));break;
00169         case '.':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_POINT,x,y));break;
00170         case '0':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_0,x,y));break;
00171         case '1':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_1,x,y));break;
00172         case '2':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_2,x,y));break;
00173         case '3':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_3,x,y));break;
00174         case '4':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_4,x,y));break;
00175         case '5':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_5,x,y));break;
00176         case '6':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_6,x,y));break;
00177         case '7':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_7,x,y));break;
00178         case '8':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_8,x,y));break;
00179         case '9':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_9,x,y));break;
00180         case 'a':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_A,x,y));break;
00181         case 'A':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_A,x,y));break;
00182         case 'b':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_B,x,y));break;
00183         case 'B':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_B,x,y));break;
00184         case 'c':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_C,x,y));break;
00185         case 'C':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_C,x,y));break;
00186         case 'd':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_D,x,y));break;
00187         case 'D':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_D,x,y));break;
00188         case 'e':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_E,x,y));break;
00189         case 'E':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_E,x,y));break;
00190         case 'f':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F,x,y));break;
00191         case 'F':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_F,x,y));break;
00192         case 'g':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_G,x,y));break;
00193         case 'G':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_G,x,y));break;
00194         case 'h':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_H,x,y));break;
00195         case 'H':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_H,x,y));break;
00196         case 'i':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_I,x,y));break;
00197         case 'I':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_I,x,y));break;
00198         case 'j':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_J,x,y));break;
00199         case 'J':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_J,x,y));break;
00200         case 'k':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_K,x,y));break;
00201         case 'K':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_K,x,y));break;
00202         case 'l':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_L,x,y));break;
00203         case 'L':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_L,x,y));break;
00204         case 'm':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M,x,y));break;
00205         case 'M':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_M,x,y));break;
00206         case 'n':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_N,x,y));break;
00207         case 'N':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_N,x,y));break;
00208         case 'o':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_O,x,y));break;
00209         case 'O':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_O,x,y));break;
00210         case 'p':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_P,x,y));break;
00211         case 'P':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_P,x,y));break;
00212         case 'q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Q,x,y));break;
00213         case 'Q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Q,x,y));break;
00214         case 'r':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_R,x,y));break;
00215         case 'R':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_R,x,y));break;
00216         case 's':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_S,x,y));break;
00217         case 'S':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_S,x,y));break;
00218         case 't':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_T,x,y));break;
00219         case 'T':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_T,x,y));break;
00220         case 'u':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_U,x,y));break;
00221         case 'U':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_U,x,y));break;
00222         case 'v':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_V,x,y));break;
00223         case 'V':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_V,x,y));break;
00224         case 'w':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_W,x,y));break;
00225         case 'W':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_W,x,y));break;
00226         case 'x':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_X,x,y));break;
00227         case 'X':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_X,x,y));break;
00228         case 'y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Y,x,y));break;
00229         case 'Y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Y,x,y));break;
00230         case 'z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_Z,x,y));break;
00231         case 'Z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_M_Z,x,y));break;
00232         }
00233 }
00234 
00235 void ExManagerInputGLUT::KeyUp(unsigned char key, int x, int y)
00236 {
00237         if(key<177)
00238         {
00239                 if(m_Pressed[key]==false)return;
00240                 m_Pressed[key]=false;
00241         }
00242         switch(key)
00243         {
00244         case 8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_BACKSPACE,x,y));break;
00245         case 27:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ESC,x,y));break;
00246         case 178:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_EXP,x,y));break;
00247         case 32 :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_SPACE,x,y));break;
00248         case ':':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_2POINTS,x,y));break;
00249         case '.':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_POINT,x,y));break;
00250         case '_':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP__,x,y));break;
00251         case '0':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_0,x,y));break;
00252         case '1':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_1,x,y));break;
00253         case '2':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_2,x,y));break;
00254         case '3':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_3,x,y));break;
00255         case '4':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_4,x,y));break;
00256         case '5':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_5,x,y));break;
00257         case '6':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_6,x,y));break;
00258         case '7':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_7,x,y));break;
00259         case '8':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_8,x,y));break;
00260         case '9':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_9,x,y));break;
00261         case 'a':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_A,x,y));break;
00262         case 'A':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_A,x,y));break;
00263         case 'b':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_B,x,y));break;
00264         case 'B':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_B,x,y));break;
00265         case 'c':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_C,x,y));break;
00266         case 'C':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_C,x,y));break;
00267         case 'd':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_D,x,y));break;
00268         case 'D':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_D,x,y));break;
00269         case 'e':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_E,x,y));break;
00270         case 'E':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_E,x,y));break;
00271         case 'f':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F,x,y));break;
00272         case 'F':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_F,x,y));break;
00273         case 'g':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_G,x,y));break;
00274         case 'G':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_G,x,y));break;
00275         case 'h':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_H,x,y));break;
00276         case 'H':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_H,x,y));break;
00277         case 'i':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_I,x,y));break;
00278         case 'I':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_I,x,y));break;
00279         case 'j':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_J,x,y));break;
00280         case 'J':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_J,x,y));break;
00281         case 'k':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_K,x,y));break;
00282         case 'K':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_K,x,y));break;
00283         case 'l':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_L,x,y));break;
00284         case 'L':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_L,x,y));break;
00285         case 'm':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M,x,y));break;
00286         case 'M':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_M,x,y));break;
00287         case 'n':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_N,x,y));break;
00288         case 'N':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_N,x,y));break;
00289         case 'o':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_O,x,y));break;
00290         case 'O':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_O,x,y));break;
00291         case 'p':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_P,x,y));break;
00292         case 'P':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_P,x,y));break;
00293         case 'q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Q,x,y));break;
00294         case 'Q':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Q,x,y));break;
00295         case 'r':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_R,x,y));break;
00296         case 'R':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_R,x,y));break;
00297         case 's':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_S,x,y));break;
00298         case 'S':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_S,x,y));break;
00299         case 't':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_T,x,y));break;
00300         case 'T':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_T,x,y));break;
00301         case 'u':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_U,x,y));break;
00302         case 'U':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_U,x,y));break;
00303         case 'v':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_V,x,y));break;
00304         case 'V':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_V,x,y));break;
00305         case 'w':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_W,x,y));break;
00306         case 'W':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_W,x,y));break;
00307         case 'x':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_X,x,y));break;
00308         case 'X':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_X,x,y));break;
00309         case 'y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Y,x,y));break;
00310         case 'Y':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Y,x,y));break;
00311         case 'z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_Z,x,y));break;
00312         case 'Z':ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_M_Z,x,y));break;
00313         }
00314 }
00315 
00316 void ExManagerInputGLUT::KeySpe(int key,int x,int y)
00317 {
00318 Guard(void ExManagerInputGLUT::KeySpe(int key,int x,int y));
00319         if(m_Pressed[key]==true)return;
00320         m_Pressed[key]=true;
00321         switch (key) 
00322         {
00323         case GLUT_KEY_LEFT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_LEFT,x,y));break;
00324         case GLUT_KEY_RIGHT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_RIGHT,x,y));break;
00325         case GLUT_KEY_UP :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_UP,x,y));break;
00326         case GLUT_KEY_DOWN :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_ARROW_DOWN,x,y));break;
00327         case GLUT_KEY_F1:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F1,x,y));break; 
00328         case GLUT_KEY_F2:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F2,x,y));break; 
00329         case GLUT_KEY_F3:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F3,x,y));break; 
00330         case GLUT_KEY_F4:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F4,x,y));break;  
00331         case GLUT_KEY_F5:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F5,x,y));break; 
00332         case GLUT_KEY_F6:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F6,x,y));break;  
00333         case GLUT_KEY_F7:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F7,x,y));break; 
00334         case GLUT_KEY_F8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F8,x,y));break;  
00335         case GLUT_KEY_F9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F9,x,y));break; 
00336         case GLUT_KEY_F10:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F10,x,y));break;        
00337         case GLUT_KEY_F11:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F11,x,y));break; 
00338         case GLUT_KEY_F12:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_F12,x,y));break;
00339         case GLUT_KEY_PAGE_UP:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_PAGE_UP,x,y));break; 
00340         case GLUT_KEY_PAGE_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_PAGE_DOWN,x,y));break;    
00341         case GLUT_KEY_END:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_END,x,y));break; 
00342         case GLUT_KEY_HOME:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_HOME,x,y));break;      
00343         case GLUT_KEY_INSERT:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_DOWN_INSERT,x,y));break; 
00344         }
00345 UnGuard
00346 }
00347 
00348 void ExManagerInputGLUT::KeySpeUp(int key, int x, int y)
00349 {
00350         if(m_Pressed[key]==false)return;
00351         m_Pressed[key]=false;
00352         switch (key) 
00353         {
00354         case GLUT_KEY_LEFT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_LEFT,x,y));break;
00355         case GLUT_KEY_RIGHT :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_RIGHT,x,y));break;
00356         case GLUT_KEY_UP :ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_UP,x,y));break;
00357         case GLUT_KEY_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_ARROW_DOWN,x,y));break;
00358         case GLUT_KEY_F1:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F1,x,y));break; 
00359         case GLUT_KEY_F2:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F2,x,y));break; 
00360         case GLUT_KEY_F3:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F3,x,y));break; 
00361         case GLUT_KEY_F4:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F4,x,y));break;    
00362         case GLUT_KEY_F5:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F5,x,y));break; 
00363         case GLUT_KEY_F6:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F6,x,y));break;    
00364         case GLUT_KEY_F7:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F7,x,y));break; 
00365         case GLUT_KEY_F8:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F8,x,y));break;    
00366         case GLUT_KEY_F9:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F9,x,y));break; 
00367         case GLUT_KEY_F10:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F10,x,y));break;  
00368         case GLUT_KEY_F11:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F11,x,y));break; 
00369         case GLUT_KEY_F12:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_F12,x,y));break;
00370         case GLUT_KEY_PAGE_UP:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_PAGE_UP,x,y));break; 
00371         case GLUT_KEY_PAGE_DOWN:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_PAGE_DOWN,x,y));break;      
00372         case GLUT_KEY_END:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_END,x,y));break; 
00373         case GLUT_KEY_HOME:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_HOME,x,y));break;        
00374         case GLUT_KEY_INSERT:ManagerCommand->InputCommand(ExCCommand(KEYBOARD_UP_INSERT,x,y));break; 
00375         }
00376 }
00377 
00378 void ExManagerInputGLUT::Mouse(int button, int state, int x, int y)
00379 {
00380         //GLUT_UP ou GLUT_DOWN
00381         switch(button)
00382         {
00383         case GLUT_LEFT_BUTTON:
00384                 if(state==GLUT_UP)
00385                 {
00386                         ManagerCommand->InputCommand(ExCCommand(MOUSE_LEFT_BUTTON_UP,x,y));
00387                 }
00388                 if(state==GLUT_DOWN)
00389                 {
00390                         ManagerCommand->InputCommand(ExCCommand(MOUSE_LEFT_BUTTON_DOWN,x,y));
00391                 }
00392                 break;
00393         case GLUT_MIDDLE_BUTTON:
00394                 if(state==GLUT_UP)
00395                 {
00396                         ManagerCommand->InputCommand(ExCCommand(MOUSE_MIDDLE_BUTTON_UP,x,y));
00397                 }
00398                 if(state==GLUT_DOWN)
00399                 {
00400                         ManagerCommand->InputCommand(ExCCommand(MOUSE_MIDDLE_BUTTON_DOWN,x,y));
00401                 }
00402                 break;
00403         case GLUT_RIGHT_BUTTON:
00404                 if(state==GLUT_UP)
00405                 {
00406                         ManagerCommand->InputCommand(ExCCommand(MOUSE_RIGHT_BUTTON_UP,x,y));
00407                 }
00408                 if(state==GLUT_DOWN)
00409                 {
00410                         ManagerCommand->InputCommand(ExCCommand(MOUSE_RIGHT_BUTTON_DOWN,x,y));
00411                 }
00412                 break;
00413         }
00414 }
00415 void ExManagerInputGLUT::Focus(int state)
00416 {
00417 Guard(void QCManagerInput::MouseFocus(int state))
00418         switch(state)
00419         {
00420         case GLUT_LEFT :
00421                 break;
00422         case GLUT_ENTERED :
00423                 break;
00424         }
00425 UnGuard
00426 }
00427 void ExManagerInputGLUT::MouseMotion(int x, int y)
00428 {
00429 Guard(void QCManagerInput::MouseMotion(int x, int y))
00430 UnGuard
00431 }
00432 void ExManagerInputGLUT::MousePassiveMotion(int x, int y)
00433 {
00434 Guard(void QCManagerInput::MousePassiveMotion(int x, int y))
00435 UnGuard
00436 }
00437 void ExManagerInputGLUT::SpaceballMotion(int x, int y, int z)
00438 {
00439 Guard(void QCManagerInput::SpaceballMotion(int x, int y, int z))
00440 UnGuard
00441 }
00442 void ExManagerInputGLUT::SpaceballRotate(int x, int y, int z)
00443 {
00444 Guard(void QCManagerInput::SpaceballRotate(int x, int y, int z))
00445 UnGuard
00446 }
00447 void ExManagerInputGLUT::TabletMotion(int x, int y)
00448 {
00449 Guard(void QCManagerInput::TabletMotion(int x, int y))
00450 UnGuard
00451 }
00452 void ExManagerInputGLUT::TabletButton(int button, int state, int x, int y)
00453 {
00454 Guard(void QCManagerInput::TabletButton(int button, int state, int x, int y))
00455 UnGuard
00456 }

Généré le Tue Dec 10 18:18:11 2002 pour ExNihilo par doxygen1.3-rc1