typedef void (* FGCBPassive )( int, int );
typedef void (* FGCBEntry )( int );
typedef void (* FGCBWindowStatus )( int );
-typedef void (* FGCBSelect )( int, int, int );
typedef void (* FGCBJoystick )( unsigned int, int, int, int );
typedef void (* FGCBOverlayDisplay)( void );
typedef void (* FGCBSpaceMotion )( int, int, int );
fgExecutionState ExecState; /* Used for GLUT termination */
char *ProgramName; /* Name of the invoking program */
GLboolean JoysticksInitialised; /* Only initialize if application calls for them */
- int NumActiveJoysticks; /* Number of active joysticks -- if zero, don't poll joysticks */
+ int NumActiveJoysticks; /* Number of active joysticks (callback defined and positive pollrate) -- if zero, don't poll joysticks */
GLboolean InputDevsInitialised; /* Only initialize if application calls for them */
int MouseWheelTicks; /* Number of ticks the mouse wheel has turned */
SFG_PlatformContext pContext; /* The window's FBConfig (X11) or device context (Windows) */
int DoubleBuffered; /* Treat the window as double-buffered */
+
+ /* When drawing geometry to vertex attribute buffers, user specifies
+ * the attribute indices for vertices, normals and/or texture coords
+ * to freeglut. Those are stored here
+ */
GLint attribute_v_coord;
GLint attribute_v_normal;
+ GLint attribute_v_texture;
};
int Width; /* Window's width in pixels */
int Height; /* The same about the height */
- SFG_PlatformWindowState pWState; /* Window width/height (X11) or rectangle/style (Windows) from before a resize */
+ SFG_PlatformWindowState pWState; /* Window width/height (X11) or rectangle/style (Windows) from before a resize, and other stuff only needed on specific platforms */
GLboolean Redisplay; /* Do we have to redisplay? */
GLboolean Visible; /* Is the window visible now */