00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
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;
00034 m_instance = new ExManagerInputGLUT;
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
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 }