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:
dcnieho 2012-03-10 03:07:13 +00:00
parent 8197972757
commit ec322806c9
8 changed files with 74 additions and 136 deletions

View File

@ -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" );

View File

@ -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.

View File

@ -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) */
}
/* /*
* *
*/ */

View File

@ -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. */

View File

@ -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:
* *

View File

@ -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

View File

@ -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;

View File

@ -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)
{ {