X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_internal.h;h=5b23df1659c2d99109d4773022f8606637737dd4;hb=4166c6ebc97701e0528fd81b7810131183940653;hp=2e199beb56ebf6f847c13a990b1e6ccd7b8586db;hpb=4fa63bbb5637f30db8eec9de49c0b2c4830cb866;p=freeglut diff --git a/src/freeglut_internal.h b/src/freeglut_internal.h index 2e199be..5b23df1 100644 --- a/src/freeglut_internal.h +++ b/src/freeglut_internal.h @@ -167,7 +167,7 @@ struct tagSFG_XYUse typedef struct tagSFG_Time SFG_Time; struct tagSFG_Time { -#ifdef WIN32 +#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE DWORD Value; #else struct timeval Value; @@ -229,6 +229,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 */ }; /* The structure used by display initialization in freeglut_init.c */ @@ -650,15 +651,18 @@ extern SFG_State fgState; * A call to those macros assures us that there is a current * window and menu set, respectively: */ -#define freeglut_assert_window assert( fgStructure.Window != NULL ); #define freeglut_assert_menu assert( fgStructure.Menu != NULL ); +#define FREEGLUT_EXIT_IF_NO_WINDOW( string ) \ + if ( ! fgStructure.Window ) \ + { \ + fgError ( " ERROR: Function <%s> called" \ + " with no current window defined.", (string) ) ; \ + } /* - * The initialize and deinitialize functions get called on glutInit() - * and glutMainLoop() end respectively. They should create/clean up + * The deinitialize function gets called on glutMainLoop() end. It should clean up * everything inside of the freeglut */ -void fgInitialize( const char* displayName ); void fgDeinitialize( void ); /* @@ -699,17 +703,22 @@ void fgCloseWindow( SFG_Window* window ); void fgAddToWindowDestroyList ( SFG_Window* window ); void fgCloseWindows (); void fgDestroyWindow( SFG_Window* window ); -void fgClearCallBacks( SFG_Window *window ); /* Menu creation and destruction. Defined in freeglut_structure.c */ SFG_Menu* fgCreateMenu( FGCBMenu menuCallback ); void fgDestroyMenu( SFG_Menu* menu ); /* Joystick device management functions, defined in freeglut_joystick.c */ -void fgJoystickInit( int ident ); +int fgJoystickDetect( void ); +void fgInitialiseJoysticks( void ); void fgJoystickClose( void ); void fgJoystickPollWindow( SFG_Window* window ); +/* More joystick functions. Should these go into the API? */ +int glutJoystickGetNumAxes( int ident ); +int glutJoystickGetNumButtons( int ident ); +int glutJoystickNotWorking( int ident ); + /* * Helper function to enumerate through all registered windows * and one to enumerate all of a window's subwindows...