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

ExManagerInputGLUT.cpp

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

Generated on Tue Aug 6 20:27:13 2002 for ExNihilo by doxygen1.2.17