inp_global.hh

Go to the documentation of this file.
00001 /*
00008  * LEGAL:   COPYRIGHT (C) 2007 JIM E. BROOKS
00009  *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
00010  *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
00011  *****************************************************************************/
00012 
00013 #ifndef INP_GLOBAL_HH
00014 #define INP_GLOBAL_HH 1
00015 
00016 namespace inp {
00017 
00019 enum eJoystickDriver
00020 {
00021     eJoystickDriver_NOP,
00022 
00023 #if __linux__ || OS_FREEBSD
00024     eJoystickDriver_LINUX,
00025 #endif
00026 
00027 #if GFXSYS_OPENGL
00028     eJoystickDriver_GLUT,
00029 #endif
00030 };
00031 
00041 class Global
00042 {
00043 
00044 public:                     Global( void );
00045 public:                     ~Global();
00046 public:     Joystick&       GetJoystick( void ) { return *mJoystick; }
00047 public:     void            SetJoystick( eJoystickDriver joystickDriver );
00048 
00049 public:     INP_KEYBOARD_CLASS      mKeyboard;  // has no use outside InputQueue
00050 private:    Joystick*               mJoystick;  // used by InputQueue and a module
00051 public:     InputQueue              mInputQueue;
00052 };
00053 
00054 #if INP_QUEUE_CC
00055 Global global;
00056 #else
00057 extern Global global;
00058 #endif
00059 
00060 } // namespace inp
00061 
00062 #endif // INP_GLOBAL_HH
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:11 2007