}
/*
- * Joystick information functions
+ * Joystick information, setup and execution functions
*/
+
+/*
+ * Forces the joystick callback to be executed
+ */
+void FGAPIENTRY glutForceJoystickFunc( void )
+{
+ FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutForceJoystickFunc" );
+#if !defined(_WIN32_WCE)
+ freeglut_return_if_fail( fgStructure.CurrentWindow != NULL );
+ freeglut_return_if_fail( FETCH_WCB( *( fgStructure.CurrentWindow ), Joystick ) );
+ fgJoystickPollWindow( fgStructure.CurrentWindow );
+#endif /* !defined(_WIN32_WCE) */
+}
int glutJoystickGetNumAxes( int ident )
{
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutJoystickGetNumAxes" );
# define VFPRINTF(s,f,a)
#endif
-#ifdef _WIN32_WCE
-
-typedef struct GXDisplayProperties GXDisplayProperties;
-typedef struct GXKeyList GXKeyList;
-#include <gx.h>
-
-typedef struct GXKeyList (*GXGETDEFAULTKEYS)(int);
-typedef int (*GXOPENINPUT)();
-
-GXGETDEFAULTKEYS GXGetDefaultKeys_ = NULL;
-GXOPENINPUT GXOpenInput_ = NULL;
-
-struct GXKeyList gxKeyList;
-
-#endif /* _WIN32_WCE */
-
/*
* Try to get the maximum value allowed for ints, falling back to the minimum
* guaranteed by ISO C99 if there is no suitable header.
}
/*
- * Forces the joystick callback to be executed
- */
-void FGAPIENTRY glutForceJoystickFunc( void )
-{
- FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutForceJoystickFunc" );
-#if !defined(_WIN32_WCE)
- freeglut_return_if_fail( fgStructure.CurrentWindow != NULL );
- freeglut_return_if_fail( FETCH_WCB( *( fgStructure.CurrentWindow ), Joystick ) );
- fgJoystickPollWindow( fgStructure.CurrentWindow );
-#endif /* !defined(_WIN32_WCE) */
-}
-
-/*
*
*/
void FGAPIENTRY glutSetColor( int nColor, GLfloat red, GLfloat green, GLfloat blue )
extern int fgPlatformGlutGet ( GLenum eWhat );
extern int fgPlatformGlutDeviceGet ( GLenum eWhat );
-extern int fgPlatformGlutLayerGet ( GLenum eWhat );
extern int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size);
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutLayerGet" );
/*
- * This is easy as layers are not implemented ;-)
- *
- * XXX Can we merge the UNIX/X11 and WIN32 sections? Or
- * XXX is overlay support planned?
+ * This is easy as layers are not implemented and
+ * overlay support is not planned. E.g. on Windows,
+ * overlay requests in PFDs are ignored
+ * (see iLayerType at http://msdn.microsoft.com/en-us/library/dd368826(v=vs.85).aspx)
*/
switch( eWhat )
{
+ case GLUT_OVERLAY_POSSIBLE:
+ return 0 ;
+
+ case GLUT_LAYER_IN_USE:
+ return GLUT_NORMAL;
+
+ case GLUT_HAS_OVERLAY:
+ return 0;
+
+ case GLUT_TRANSPARENT_INDEX:
+ /*
+ * Return just anything, which is always defined as zero
+ *
+ * XXX HUH?
+ */
+ return 0;
+
+ case GLUT_NORMAL_DAMAGED:
+ /* XXX Actually I do not know. Maybe. */
+ return 0;
+
+ case GLUT_OVERLAY_DAMAGED:
+ return -1;
+
default:
- return fgPlatformGlutLayerGet( eWhat );
+ fgWarning( "glutLayerGet(): missing enum handle %d", eWhat );
+ break;
}
/* And fail. That's good. Programs do love failing. */
#include <GL/freeglut.h>
#include "freeglut_internal.h"
-#if defined(_WIN32_WCE)
-# include <Aygshell.h>
-# ifdef FREEGLUT_LIB_PRAGMAS
-# pragma comment( lib, "Aygshell.lib" )
-# endif
-#endif /* defined(_WIN32_WCE) */
-
-
/*
* TODO BEFORE THE STABLE RELEASE:
*
static pCloseTouchInputHandle fghCloseTouchInputHandle = (pCloseTouchInputHandle)0xDEADBEEF;
#endif
+#ifdef _WIN32_WCE
+typedef struct GXDisplayProperties GXDisplayProperties;
+typedef struct GXKeyList GXKeyList;
+#include <gx.h>
+
+typedef struct GXKeyList (*GXGETDEFAULTKEYS)(int);
+typedef int (*GXOPENINPUT)();
+
+GXGETDEFAULTKEYS GXGetDefaultKeys_ = NULL;
+GXOPENINPUT GXOpenInput_ = NULL;
+
+struct GXKeyList gxKeyList;
+#endif /* _WIN32_WCE */
+
/*
* Helper functions for getting client area from the window rect
* and the window rect from the client area given the style of the window
*/
#define WGL_SAMPLES_ARB 0x2042
+#if defined(_WIN32_WCE)
+# include <Aygshell.h>
+# ifdef FREEGLUT_LIB_PRAGMAS
+# pragma comment( lib, "Aygshell.lib" )
+# endif
+#endif /* defined(_WIN32_WCE) */
+
int fgPlatformGlutGet ( GLenum eWhat )
return -1;
}
-
-int fgPlatformGlutLayerGet( GLenum eWhat )
-{
- /*
- * This is easy as layers are not implemented ;-)
- *
- * XXX Can we merge the UNIX/X11 and WIN32 sections? Or
- * XXX is overlay support planned?
- */
- switch( eWhat )
- {
-
- case GLUT_OVERLAY_POSSIBLE:
-/* return fgSetupPixelFormat( fgStructure.CurrentWindow, GL_TRUE,
- PFD_OVERLAY_PLANE ); */
- return 0 ;
-
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
-
- case GLUT_HAS_OVERLAY:
- return 0;
-
- case GLUT_TRANSPARENT_INDEX:
- /*
- * Return just anything, which is always defined as zero
- *
- * XXX HUH?
- */
- return 0;
-
- case GLUT_NORMAL_DAMAGED:
- /* XXX Actually I do not know. Maybe. */
- return 0;
-
- case GLUT_OVERLAY_DAMAGED:
- return -1;
-
- default:
- fgWarning( "glutLayerGet(): missing enum handle %d", eWhat );
- break;
- }
-
- /* And fail. That's good. Programs do love failing. */
- return -1;
-}
-
-
-/* MSwin does not currently have any Mode values? */
+/*
+ * This is for querying the number of supported auxiliary or multisample
+ * buffers for a (the current?) display mode.
+ * see http://old.nabble.com/-GLX--glutGetModeValues-to13514723.html#a13514723
+ * Not currently implemented, but we should be able to query the relevant
+ * info using
+ * http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt
+ * (if supported on the executing machine!)
+ */
int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size)
{
*size = 0;
return -1;
}
-int fgPlatformGlutLayerGet( GLenum eWhat )
-{
- /*
- * This is easy as layers are not implemented ;-)
- *
- * XXX Can we merge the UNIX/X11 and WIN32 sections? Or
- * XXX is overlay support planned?
- */
- switch( eWhat )
- {
- case GLUT_OVERLAY_POSSIBLE:
- return 0;
-
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
-
- case GLUT_HAS_OVERLAY:
- return 0;
-
- case GLUT_TRANSPARENT_INDEX:
- /*
- * Return just anything, which is always defined as zero
- *
- * XXX HUH?
- */
- return 0;
-
- case GLUT_NORMAL_DAMAGED:
- /* XXX Actually I do not know. Maybe. */
- return 0;
-
- case GLUT_OVERLAY_DAMAGED:
- return -1;
-
- default:
- fgWarning( "glutLayerGet(): missing enum handle %d", eWhat );
- break;
- }
-
- /* And fail. That's good. Programs do love failing. */
- return -1;
-}
-
int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size)
{