moved some windows only code from common to windows specific
got rid of fgPlatformGlutLayerGet as we'll never implement layer support (added some notes too) added note about implementability of glutGetModeValues Moved joystick function from misc to Joystick code file git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1096 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
8197972757
commit
ec322806c9
@ -976,8 +976,21 @@ int fgJoystickDetect( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 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 )
|
int glutJoystickGetNumAxes( int ident )
|
||||||
{
|
{
|
||||||
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutJoystickGetNumAxes" );
|
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutJoystickGetNumAxes" );
|
||||||
|
@ -39,22 +39,6 @@
|
|||||||
# define VFPRINTF(s,f,a)
|
# define VFPRINTF(s,f,a)
|
||||||
#endif
|
#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
|
* Try to get the maximum value allowed for ints, falling back to the minimum
|
||||||
* guaranteed by ISO C99 if there is no suitable header.
|
* guaranteed by ISO C99 if there is no suitable header.
|
||||||
|
@ -170,19 +170,6 @@ void FGAPIENTRY glutSetKeyRepeat( int repeatMode )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* 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) */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
|
|
||||||
extern int fgPlatformGlutGet ( GLenum eWhat );
|
extern int fgPlatformGlutGet ( GLenum eWhat );
|
||||||
extern int fgPlatformGlutDeviceGet ( GLenum eWhat );
|
extern int fgPlatformGlutDeviceGet ( GLenum eWhat );
|
||||||
extern int fgPlatformGlutLayerGet ( GLenum eWhat );
|
|
||||||
extern int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size);
|
extern int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size);
|
||||||
|
|
||||||
|
|
||||||
@ -291,16 +290,41 @@ int FGAPIENTRY glutLayerGet( GLenum eWhat )
|
|||||||
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutLayerGet" );
|
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutLayerGet" );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is easy as layers are not implemented ;-)
|
* This is easy as layers are not implemented and
|
||||||
*
|
* overlay support is not planned. E.g. on Windows,
|
||||||
* XXX Can we merge the UNIX/X11 and WIN32 sections? Or
|
* overlay requests in PFDs are ignored
|
||||||
* XXX is overlay support planned?
|
* (see iLayerType at http://msdn.microsoft.com/en-us/library/dd368826(v=vs.85).aspx)
|
||||||
*/
|
*/
|
||||||
switch( eWhat )
|
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:
|
default:
|
||||||
return fgPlatformGlutLayerGet( eWhat );
|
fgWarning( "glutLayerGet(): missing enum handle %d", eWhat );
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* And fail. That's good. Programs do love failing. */
|
/* And fail. That's good. Programs do love failing. */
|
||||||
|
@ -29,14 +29,6 @@
|
|||||||
#include <GL/freeglut.h>
|
#include <GL/freeglut.h>
|
||||||
#include "freeglut_internal.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:
|
* TODO BEFORE THE STABLE RELEASE:
|
||||||
*
|
*
|
||||||
|
@ -42,6 +42,20 @@ static pGetTouchInputInfo fghGetTouchInputInfo = (pGetTouchInputInfo)0xDEADBEEF;
|
|||||||
static pCloseTouchInputHandle fghCloseTouchInputHandle = (pCloseTouchInputHandle)0xDEADBEEF;
|
static pCloseTouchInputHandle fghCloseTouchInputHandle = (pCloseTouchInputHandle)0xDEADBEEF;
|
||||||
#endif
|
#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
|
* Helper functions for getting client area from the window rect
|
||||||
* and the window rect from the client area given the style of the window
|
* and the window rect from the client area given the style of the window
|
||||||
|
@ -47,6 +47,13 @@ extern void fghGetBorderWidth(const DWORD windowStyle, int* xBorderWidth, int* y
|
|||||||
*/
|
*/
|
||||||
#define WGL_SAMPLES_ARB 0x2042
|
#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 )
|
int fgPlatformGlutGet ( GLenum eWhat )
|
||||||
@ -283,55 +290,15 @@ int fgPlatformGlutDeviceGet ( GLenum eWhat )
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int fgPlatformGlutLayerGet( GLenum eWhat )
|
|
||||||
{
|
|
||||||
/*
|
/*
|
||||||
* This is easy as layers are not implemented ;-)
|
* This is for querying the number of supported auxiliary or multisample
|
||||||
*
|
* buffers for a (the current?) display mode.
|
||||||
* XXX Can we merge the UNIX/X11 and WIN32 sections? Or
|
* see http://old.nabble.com/-GLX--glutGetModeValues-to13514723.html#a13514723
|
||||||
* XXX is overlay support planned?
|
* 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!)
|
||||||
*/
|
*/
|
||||||
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? */
|
|
||||||
int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size)
|
int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size)
|
||||||
{
|
{
|
||||||
*size = 0;
|
*size = 0;
|
||||||
|
@ -255,49 +255,6 @@ int fgPlatformGlutDeviceGet ( GLenum eWhat )
|
|||||||
return -1;
|
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)
|
int *fgPlatformGlutGetModeValues(GLenum eWhat, int *size)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user