X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=185f9a466b7a01363a1fc499d78887859eb15729;hb=09070646b28804f0a700bd10b6caf8d606712d2c;hp=f63c1f5d3ecb416c8cd7fbf9f63db08e5b4f2d1f;hpb=511db69cdae3a1aea4c8ae0c97d232290a355189;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index f63c1f5..185f9a4 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -34,7 +34,7 @@ /* XXX Update these for each release! */ #define VERSION_MAJOR 2 -#define VERSION_MINOR 2 +#define VERSION_MINOR 4 #define VERSION_PATCH 0 /* Freeglut is meant to be available under all Unix/X11 and Win32 platforms. */ @@ -244,6 +244,7 @@ struct tagSFG_State fgExecutionState ExecState; /* Used for GLUT termination */ char *ProgramName; /* Name of the invoking program */ GLboolean JoysticksInitialised; /* Only initialize if application calls for them */ + GLboolean InputDevsInitialised; /* Only initialize if application calls for them */ }; /* The structure used by display initialization in freeglut_init.c */ @@ -385,8 +386,8 @@ typedef void (*SFG_Proc)(); #define SET_WCB(window,cbname,func) \ do \ { \ - if( FETCH_WCB( window, cbname ) != func ) \ - (((window).CallBacks[CB_ ## cbname]) = (SFG_Proc) func); \ + if( FETCH_WCB( window, cbname ) != (SFG_Proc)(func) ) \ + (((window).CallBacks[CB_ ## cbname]) = (SFG_Proc)(func)); \ } while( 0 ) /* @@ -543,6 +544,8 @@ struct tagSFG_MenuEntry /* * A window, making part of freeglut windows hierarchy. * Should be kept portable. + * + * NOTE that ActiveMenu is set to menu itself if the window is a menu. */ struct tagSFG_Window { @@ -770,6 +773,11 @@ int glutJoystickGetNumAxes( int ident ); int glutJoystickGetNumButtons( int ident ); int glutJoystickNotWorking( int ident ); +/* InputDevice Init/Fini */ +int fgInputDeviceDetect( void ); +void fgInitialiseInputDevices( void ); +void fgInputDeviceClose( void ); + /* Setting the cursor for a given window */ void fgSetCursor ( SFG_Window *window, int cursorID ); @@ -813,6 +821,7 @@ SFG_Menu* fgMenuByID( int menuID ); * The menu activation and deactivation the code. This is the meat * of the menu user interface handling code... */ +void fgUpdateMenuHighlight ( SFG_Menu *menu ); GLboolean fgCheckActiveMenu ( SFG_Window *window, int button, GLboolean pressed, int mouse_x, int mouse_y ); void fgDeactivateMenu( SFG_Window *window );