some whitespace cleanup
This commit is contained in:
parent
c4294ad590
commit
2dd5aa4aa1
@ -689,14 +689,14 @@ static void fghInitErrorFuncCallback( const char *fmt, va_list ap, FGCBUserData
|
|||||||
|
|
||||||
void FGAPIENTRY glutInitErrorFunc( FGError callback )
|
void FGAPIENTRY glutInitErrorFunc( FGError callback )
|
||||||
{
|
{
|
||||||
if (callback)
|
if (callback)
|
||||||
{
|
{
|
||||||
glutInitErrorFuncUcall( fghInitErrorFuncCallback, (FGCBUserData)callback );
|
glutInitErrorFuncUcall( fghInitErrorFuncCallback, (FGCBUserData)callback );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
glutInitErrorFuncUcall( NULL, NULL );
|
glutInitErrorFuncUcall( NULL, NULL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -717,14 +717,14 @@ static void fghInitWarningFuncCallback( const char *fmt, va_list ap, FGCBUserDat
|
|||||||
|
|
||||||
void FGAPIENTRY glutInitWarningFunc( FGWarning callback )
|
void FGAPIENTRY glutInitWarningFunc( FGWarning callback )
|
||||||
{
|
{
|
||||||
if (callback)
|
if (callback)
|
||||||
{
|
{
|
||||||
glutInitWarningFuncUcall( fghInitWarningFuncCallback, (FGCBUserData)callback );
|
glutInitWarningFuncUcall( fghInitWarningFuncCallback, (FGCBUserData)callback );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
glutInitWarningFuncUcall( NULL, NULL );
|
glutInitWarningFuncUcall( NULL, NULL );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*** END OF FILE ***/
|
/*** END OF FILE ***/
|
||||||
|
@ -581,7 +581,7 @@ void fgPlatformJoystickRawRead( SFG_Joystick* joy, int* buttons, float* axes )
|
|||||||
|
|
||||||
void fgPlatformJoystickOpen( SFG_Joystick* joy )
|
void fgPlatformJoystickOpen( SFG_Joystick* joy )
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
OSStatus err;
|
OSStatus err;
|
||||||
|
|
||||||
/* XXX FIXME: get joystick name in Mac */
|
/* XXX FIXME: get joystick name in Mac */
|
||||||
@ -856,7 +856,7 @@ static void fghJoystickOpen( SFG_Joystick* joy )
|
|||||||
joy->num_axes = joy->num_buttons = 0;
|
joy->num_axes = joy->num_buttons = 0;
|
||||||
joy->name[ 0 ] = '\0';
|
joy->name[ 0 ] = '\0';
|
||||||
|
|
||||||
fgPlatformJoystickOpen ( joy );
|
fgPlatformJoystickOpen ( joy );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -878,7 +878,7 @@ static void fghJoystickInit( int ident )
|
|||||||
fgJoystick[ ident ]->num_axes = fgJoystick[ ident ]->num_buttons = 0;
|
fgJoystick[ ident ]->num_axes = fgJoystick[ ident ]->num_buttons = 0;
|
||||||
fgJoystick[ ident ]->error = GL_TRUE;
|
fgJoystick[ ident ]->error = GL_TRUE;
|
||||||
|
|
||||||
fgPlatformJoystickInit( fgJoystick, ident );
|
fgPlatformJoystickInit( fgJoystick, ident );
|
||||||
|
|
||||||
fghJoystickOpen( fgJoystick[ ident ] );
|
fghJoystickOpen( fgJoystick[ ident ] );
|
||||||
}
|
}
|
||||||
@ -906,7 +906,7 @@ void fgJoystickClose( void )
|
|||||||
{
|
{
|
||||||
if( fgJoystick[ ident ] )
|
if( fgJoystick[ ident ] )
|
||||||
{
|
{
|
||||||
fgPlatformJoystickClose ( ident );
|
fgPlatformJoystickClose ( ident );
|
||||||
|
|
||||||
free( fgJoystick[ ident ] );
|
free( fgJoystick[ ident ] );
|
||||||
fgJoystick[ ident ] = NULL;
|
fgJoystick[ ident ] = NULL;
|
||||||
|
@ -179,7 +179,7 @@ static void fghcbCheckJoystickPolls( SFG_Window *window,
|
|||||||
SFG_Enumerator *enumerator )
|
SFG_Enumerator *enumerator )
|
||||||
{
|
{
|
||||||
fg_time_t checkTime;
|
fg_time_t checkTime;
|
||||||
|
|
||||||
if (window->State.JoystickPollRate > 0 && FETCH_WCB( *window, Joystick ))
|
if (window->State.JoystickPollRate > 0 && FETCH_WCB( *window, Joystick ))
|
||||||
{
|
{
|
||||||
/* This window has a joystick to be polled (if pollrate <= 0, user needs to poll manually with glutForceJoystickFunc */
|
/* This window has a joystick to be polled (if pollrate <= 0, user needs to poll manually with glutForceJoystickFunc */
|
||||||
@ -200,7 +200,7 @@ static void fghcbCheckJoystickPolls( SFG_Window *window,
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Check all windows for joystick polling
|
* Check all windows for joystick polling
|
||||||
*
|
*
|
||||||
* The real way to do this is to make use of the glutTimer() API
|
* The real way to do this is to make use of the glutTimer() API
|
||||||
* to more cleanly re-implement the joystick API. Then, this code
|
* to more cleanly re-implement the joystick API. Then, this code
|
||||||
* and all other "joystick timer" code can be yanked.
|
* and all other "joystick timer" code can be yanked.
|
||||||
@ -237,18 +237,18 @@ static void fghCheckTimers( void )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Platform-dependent time in milliseconds, as an unsigned 64-bit integer.
|
/* Platform-dependent time in milliseconds, as an unsigned 64-bit integer.
|
||||||
* This doesn't overflow in any reasonable time, so no need to worry about
|
* This doesn't overflow in any reasonable time, so no need to worry about
|
||||||
* that. The GLUT API return value will however overflow after 49.7 days,
|
* that. The GLUT API return value will however overflow after 49.7 days,
|
||||||
* which means you will still get in trouble when running the
|
* which means you will still get in trouble when running the
|
||||||
* application for more than 49.7 days.
|
* application for more than 49.7 days.
|
||||||
*/
|
*/
|
||||||
fg_time_t fgSystemTime(void)
|
fg_time_t fgSystemTime(void)
|
||||||
{
|
{
|
||||||
return fgPlatformSystemTime();
|
return fgPlatformSystemTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Elapsed Time
|
* Elapsed Time
|
||||||
*/
|
*/
|
||||||
@ -446,7 +446,7 @@ void fgProcessWork(SFG_Window *window)
|
|||||||
void FGAPIENTRY glutMainLoopEvent( void )
|
void FGAPIENTRY glutMainLoopEvent( void )
|
||||||
{
|
{
|
||||||
/* Process input */
|
/* Process input */
|
||||||
fgPlatformProcessSingleEvent ();
|
fgPlatformProcessSingleEvent ();
|
||||||
|
|
||||||
if( fgState.Timers.First )
|
if( fgState.Timers.First )
|
||||||
fghCheckTimers( );
|
fghCheckTimers( );
|
||||||
|
@ -1,163 +1,163 @@
|
|||||||
VERSION @VERSION_MAJOR@.@VERSION_MINOR@
|
VERSION @VERSION_MAJOR@.@VERSION_MINOR@
|
||||||
EXPORTS
|
EXPORTS
|
||||||
glutInit
|
glutInit
|
||||||
glutInitWindowPosition
|
glutInitWindowPosition
|
||||||
glutInitWindowSize
|
glutInitWindowSize
|
||||||
glutInitDisplayMode
|
glutInitDisplayMode
|
||||||
glutInitDisplayString
|
glutInitDisplayString
|
||||||
glutMainLoop
|
glutMainLoop
|
||||||
glutMainLoopEvent
|
glutMainLoopEvent
|
||||||
glutLeaveMainLoop
|
glutLeaveMainLoop
|
||||||
glutCreateWindow
|
glutCreateWindow
|
||||||
glutCreateSubWindow
|
glutCreateSubWindow
|
||||||
glutDestroyWindow
|
glutDestroyWindow
|
||||||
glutSetWindow
|
glutSetWindow
|
||||||
glutGetWindow
|
glutGetWindow
|
||||||
glutSetWindowData
|
glutSetWindowData
|
||||||
glutGetWindowData
|
glutGetWindowData
|
||||||
glutSetWindowTitle
|
glutSetWindowTitle
|
||||||
glutSetIconTitle
|
glutSetIconTitle
|
||||||
glutReshapeWindow
|
glutReshapeWindow
|
||||||
glutPositionWindow
|
glutPositionWindow
|
||||||
glutShowWindow
|
glutShowWindow
|
||||||
glutHideWindow
|
glutHideWindow
|
||||||
glutIconifyWindow
|
glutIconifyWindow
|
||||||
glutPushWindow
|
glutPushWindow
|
||||||
glutPopWindow
|
glutPopWindow
|
||||||
glutFullScreen
|
glutFullScreen
|
||||||
glutPostWindowRedisplay
|
glutPostWindowRedisplay
|
||||||
glutPostRedisplay
|
glutPostRedisplay
|
||||||
glutSwapBuffers
|
glutSwapBuffers
|
||||||
glutWarpPointer
|
glutWarpPointer
|
||||||
glutSetCursor
|
glutSetCursor
|
||||||
glutEstablishOverlay
|
glutEstablishOverlay
|
||||||
glutRemoveOverlay
|
glutRemoveOverlay
|
||||||
glutUseLayer
|
glutUseLayer
|
||||||
glutPostOverlayRedisplay
|
glutPostOverlayRedisplay
|
||||||
glutPostWindowOverlayRedisplay
|
glutPostWindowOverlayRedisplay
|
||||||
glutShowOverlay
|
glutShowOverlay
|
||||||
glutHideOverlay
|
glutHideOverlay
|
||||||
glutCreateMenu
|
glutCreateMenu
|
||||||
glutDestroyMenu
|
glutDestroyMenu
|
||||||
glutGetMenu
|
glutGetMenu
|
||||||
glutSetMenu
|
glutSetMenu
|
||||||
glutGetMenuData
|
glutGetMenuData
|
||||||
glutSetMenuData
|
glutSetMenuData
|
||||||
glutAddMenuEntry
|
glutAddMenuEntry
|
||||||
glutAddSubMenu
|
glutAddSubMenu
|
||||||
glutChangeToMenuEntry
|
glutChangeToMenuEntry
|
||||||
glutChangeToSubMenu
|
glutChangeToSubMenu
|
||||||
glutRemoveMenuItem
|
glutRemoveMenuItem
|
||||||
glutAttachMenu
|
glutAttachMenu
|
||||||
glutDetachMenu
|
glutDetachMenu
|
||||||
glutTimerFunc
|
glutTimerFunc
|
||||||
glutIdleFunc
|
glutIdleFunc
|
||||||
glutKeyboardFunc
|
glutKeyboardFunc
|
||||||
glutSpecialFunc
|
glutSpecialFunc
|
||||||
glutReshapeFunc
|
glutReshapeFunc
|
||||||
glutPositionFunc
|
glutPositionFunc
|
||||||
glutVisibilityFunc
|
glutVisibilityFunc
|
||||||
glutDisplayFunc
|
glutDisplayFunc
|
||||||
glutMouseFunc
|
glutMouseFunc
|
||||||
glutMouseWheelFunc
|
glutMouseWheelFunc
|
||||||
glutMotionFunc
|
glutMotionFunc
|
||||||
glutPassiveMotionFunc
|
glutPassiveMotionFunc
|
||||||
glutEntryFunc
|
glutEntryFunc
|
||||||
glutCloseFunc
|
glutCloseFunc
|
||||||
glutWMCloseFunc
|
glutWMCloseFunc
|
||||||
glutKeyboardUpFunc
|
glutKeyboardUpFunc
|
||||||
glutSpecialUpFunc
|
glutSpecialUpFunc
|
||||||
glutJoystickFunc
|
glutJoystickFunc
|
||||||
glutMenuStateFunc
|
glutMenuStateFunc
|
||||||
glutMenuStatusFunc
|
glutMenuStatusFunc
|
||||||
glutMenuDestroyFunc
|
glutMenuDestroyFunc
|
||||||
glutOverlayDisplayFunc
|
glutOverlayDisplayFunc
|
||||||
glutWindowStatusFunc
|
glutWindowStatusFunc
|
||||||
glutSpaceballMotionFunc
|
glutSpaceballMotionFunc
|
||||||
glutSpaceballRotateFunc
|
glutSpaceballRotateFunc
|
||||||
glutSpaceballButtonFunc
|
glutSpaceballButtonFunc
|
||||||
glutButtonBoxFunc
|
glutButtonBoxFunc
|
||||||
glutDialsFunc
|
glutDialsFunc
|
||||||
glutTabletMotionFunc
|
glutTabletMotionFunc
|
||||||
glutTabletButtonFunc
|
glutTabletButtonFunc
|
||||||
glutSetOption
|
glutSetOption
|
||||||
glutGet
|
glutGet
|
||||||
glutDeviceGet
|
glutDeviceGet
|
||||||
glutGetModifiers
|
glutGetModifiers
|
||||||
glutLayerGet
|
glutLayerGet
|
||||||
glutBitmapCharacter
|
glutBitmapCharacter
|
||||||
glutBitmapWidth
|
glutBitmapWidth
|
||||||
glutStrokeCharacter
|
glutStrokeCharacter
|
||||||
glutStrokeWidth
|
glutStrokeWidth
|
||||||
glutBitmapLength
|
glutBitmapLength
|
||||||
glutStrokeLength
|
glutStrokeLength
|
||||||
glutBitmapHeight
|
glutBitmapHeight
|
||||||
glutStrokeHeight
|
glutStrokeHeight
|
||||||
glutBitmapString
|
glutBitmapString
|
||||||
glutStrokeString
|
glutStrokeString
|
||||||
glutWireCube
|
glutWireCube
|
||||||
glutSolidCube
|
glutSolidCube
|
||||||
glutWireSphere
|
glutWireSphere
|
||||||
glutSolidSphere
|
glutSolidSphere
|
||||||
glutWireCone
|
glutWireCone
|
||||||
glutSolidCone
|
glutSolidCone
|
||||||
glutWireTorus
|
glutWireTorus
|
||||||
glutSolidTorus
|
glutSolidTorus
|
||||||
glutWireDodecahedron
|
glutWireDodecahedron
|
||||||
glutSolidDodecahedron
|
glutSolidDodecahedron
|
||||||
glutWireOctahedron
|
glutWireOctahedron
|
||||||
glutSolidOctahedron
|
glutSolidOctahedron
|
||||||
glutWireTetrahedron
|
glutWireTetrahedron
|
||||||
glutSolidTetrahedron
|
glutSolidTetrahedron
|
||||||
glutWireIcosahedron
|
glutWireIcosahedron
|
||||||
glutSolidIcosahedron
|
glutSolidIcosahedron
|
||||||
glutWireRhombicDodecahedron
|
glutWireRhombicDodecahedron
|
||||||
glutSolidRhombicDodecahedron
|
glutSolidRhombicDodecahedron
|
||||||
glutWireSierpinskiSponge
|
glutWireSierpinskiSponge
|
||||||
glutSolidSierpinskiSponge
|
glutSolidSierpinskiSponge
|
||||||
glutWireTeapot
|
glutWireTeapot
|
||||||
glutSolidTeapot
|
glutSolidTeapot
|
||||||
glutWireTeacup
|
glutWireTeacup
|
||||||
glutSolidTeacup
|
glutSolidTeacup
|
||||||
glutWireTeaspoon
|
glutWireTeaspoon
|
||||||
glutSolidTeaspoon
|
glutSolidTeaspoon
|
||||||
glutWireCylinder
|
glutWireCylinder
|
||||||
glutSolidCylinder
|
glutSolidCylinder
|
||||||
glutGameModeString
|
glutGameModeString
|
||||||
glutEnterGameMode
|
glutEnterGameMode
|
||||||
glutLeaveGameMode
|
glutLeaveGameMode
|
||||||
glutGameModeGet
|
glutGameModeGet
|
||||||
glutVideoResizeGet
|
glutVideoResizeGet
|
||||||
glutSetupVideoResizing
|
glutSetupVideoResizing
|
||||||
glutStopVideoResizing
|
glutStopVideoResizing
|
||||||
glutVideoResize
|
glutVideoResize
|
||||||
glutVideoPan
|
glutVideoPan
|
||||||
glutSetColor
|
glutSetColor
|
||||||
glutGetColor
|
glutGetColor
|
||||||
glutCopyColormap
|
glutCopyColormap
|
||||||
glutIgnoreKeyRepeat
|
glutIgnoreKeyRepeat
|
||||||
glutSetKeyRepeat
|
glutSetKeyRepeat
|
||||||
glutForceJoystickFunc
|
glutForceJoystickFunc
|
||||||
glutExtensionSupported
|
glutExtensionSupported
|
||||||
glutReportErrors
|
glutReportErrors
|
||||||
glutGetProcAddress
|
glutGetProcAddress
|
||||||
glutExit
|
glutExit
|
||||||
glutFullScreenToggle
|
glutFullScreenToggle
|
||||||
glutLeaveFullScreen
|
glutLeaveFullScreen
|
||||||
glutSetMenuFont
|
glutSetMenuFont
|
||||||
glutGetModeValues
|
glutGetModeValues
|
||||||
glutInitContextFlags
|
glutInitContextFlags
|
||||||
glutInitContextVersion
|
glutInitContextVersion
|
||||||
glutInitContextProfile
|
glutInitContextProfile
|
||||||
glutInitErrorFunc
|
glutInitErrorFunc
|
||||||
glutInitWarningFunc
|
glutInitWarningFunc
|
||||||
__glutInitWithExit
|
__glutInitWithExit
|
||||||
__glutCreateWindowWithExit
|
__glutCreateWindowWithExit
|
||||||
__glutCreateMenuWithExit
|
__glutCreateMenuWithExit
|
||||||
glutMultiButtonFunc
|
glutMultiButtonFunc
|
||||||
glutMultiEntryFunc
|
glutMultiEntryFunc
|
||||||
glutMultiMotionFunc
|
glutMultiMotionFunc
|
||||||
glutMultiPassiveFunc
|
glutMultiPassiveFunc
|
||||||
glutInitContextFunc
|
glutInitContextFunc
|
||||||
glutAppStatusFunc
|
glutAppStatusFunc
|
||||||
glutSetVertexAttribCoord3
|
glutSetVertexAttribCoord3
|
||||||
|
@ -170,7 +170,7 @@ static int fghJoystickGetOEMProductName ( SFG_Joystick* joy, char *buf, int buf_
|
|||||||
|
|
||||||
void fgPlatformJoystickOpen( SFG_Joystick* joy )
|
void fgPlatformJoystickOpen( SFG_Joystick* joy )
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
joy->pJoystick.js.dwFlags = JOY_RETURNALL;
|
joy->pJoystick.js.dwFlags = JOY_RETURNALL;
|
||||||
joy->pJoystick.js.dwSize = sizeof( joy->pJoystick.js );
|
joy->pJoystick.js.dwSize = sizeof( joy->pJoystick.js );
|
||||||
|
@ -63,7 +63,7 @@ struct GXKeyList gxKeyList;
|
|||||||
#endif /* _WIN32_WCE */
|
#endif /* _WIN32_WCE */
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
/*
|
/*
|
||||||
* WM_ message to string, for debugging
|
* WM_ message to string, for debugging
|
||||||
* This is taken from the 8.0 SDK, so Windows 8 API and everything earlier is included
|
* This is taken from the 8.0 SDK, so Windows 8 API and everything earlier is included
|
||||||
*/
|
*/
|
||||||
@ -474,7 +474,7 @@ fg_time_t fgPlatformSystemTime ( void )
|
|||||||
/* Check if we just wrapped */
|
/* Check if we just wrapped */
|
||||||
if (currTime32 < lastTime32)
|
if (currTime32 < lastTime32)
|
||||||
timeEpoch++;
|
timeEpoch++;
|
||||||
|
|
||||||
lastTime32 = currTime32;
|
lastTime32 = currTime32;
|
||||||
|
|
||||||
return currTime32 | timeEpoch << 32;
|
return currTime32 | timeEpoch << 32;
|
||||||
@ -542,7 +542,7 @@ static void fghPlatformOnWindowStatusNotify(SFG_Window *window, GLboolean visSta
|
|||||||
{
|
{
|
||||||
SFG_Window *saved_window = fgStructure.CurrentWindow;
|
SFG_Window *saved_window = fgStructure.CurrentWindow;
|
||||||
|
|
||||||
/* On win32 we only have two states, window displayed and window not displayed (iconified)
|
/* On win32 we only have two states, window displayed and window not displayed (iconified)
|
||||||
* We map these to GLUT_FULLY_RETAINED and GLUT_HIDDEN respectively.
|
* We map these to GLUT_FULLY_RETAINED and GLUT_HIDDEN respectively.
|
||||||
*/
|
*/
|
||||||
INVOKE_WCB( *window, WindowStatus, ( visState ? GLUT_FULLY_RETAINED:GLUT_HIDDEN ) );
|
INVOKE_WCB( *window, WindowStatus, ( visState ? GLUT_FULLY_RETAINED:GLUT_HIDDEN ) );
|
||||||
@ -592,7 +592,7 @@ static LRESULT fghWindowProcKeyPress(SFG_Window *window, UINT uMsg, GLboolean ke
|
|||||||
rControl = 0, rShift = 0, rAlt = 0;
|
rControl = 0, rShift = 0, rAlt = 0;
|
||||||
|
|
||||||
int keypress = -1;
|
int keypress = -1;
|
||||||
|
|
||||||
/* if keydown, check for repeat */
|
/* if keydown, check for repeat */
|
||||||
/* If repeat is globally switched off, it cannot be switched back on per window.
|
/* If repeat is globally switched off, it cannot be switched back on per window.
|
||||||
* But if it is globally switched on, it can be switched off per window. This matches
|
* But if it is globally switched on, it can be switched off per window. This matches
|
||||||
@ -601,7 +601,7 @@ static LRESULT fghWindowProcKeyPress(SFG_Window *window, UINT uMsg, GLboolean ke
|
|||||||
*/
|
*/
|
||||||
if( keydown && ( fgState.KeyRepeat==GLUT_KEY_REPEAT_OFF || window->State.IgnoreKeyRepeat==GL_TRUE ) && (HIWORD(lParam) & KF_REPEAT) )
|
if( keydown && ( fgState.KeyRepeat==GLUT_KEY_REPEAT_OFF || window->State.IgnoreKeyRepeat==GL_TRUE ) && (HIWORD(lParam) & KF_REPEAT) )
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
/* Remember the current modifiers state so user can query it from their callback */
|
/* Remember the current modifiers state so user can query it from their callback */
|
||||||
fgState.Modifiers = fgPlatformGetModifiers( );
|
fgState.Modifiers = fgPlatformGetModifiers( );
|
||||||
|
|
||||||
@ -715,7 +715,7 @@ static LRESULT fghWindowProcKeyPress(SFG_Window *window, UINT uMsg, GLboolean ke
|
|||||||
keypress = GLUT_KEY_F4;
|
keypress = GLUT_KEY_F4;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( keypress != -1 )
|
if( keypress != -1 )
|
||||||
if (keydown)
|
if (keydown)
|
||||||
INVOKE_WCB( *window, Special,
|
INVOKE_WCB( *window, Special,
|
||||||
@ -756,7 +756,7 @@ SFG_Window* fghWindowUnderCursor(SFG_Window *window)
|
|||||||
mouse_pos.x = GET_X_LPARAM(mouse_pos_dw);
|
mouse_pos.x = GET_X_LPARAM(mouse_pos_dw);
|
||||||
mouse_pos.y = GET_Y_LPARAM(mouse_pos_dw);
|
mouse_pos.y = GET_Y_LPARAM(mouse_pos_dw);
|
||||||
ScreenToClient( window->Window.Handle, &mouse_pos );
|
ScreenToClient( window->Window.Handle, &mouse_pos );
|
||||||
|
|
||||||
hwnd = ChildWindowFromPoint(window->Window.Handle, mouse_pos);
|
hwnd = ChildWindowFromPoint(window->Window.Handle, mouse_pos);
|
||||||
if (hwnd && hwnd!=window->Window.Handle) /* can be NULL if mouse outside parent by the time we get here, or can be same as parent if we didn't find a child */
|
if (hwnd && hwnd!=window->Window.Handle) /* can be NULL if mouse outside parent by the time we get here, or can be same as parent if we didn't find a child */
|
||||||
{
|
{
|
||||||
@ -888,7 +888,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
width = LOWORD(lParam);
|
width = LOWORD(lParam);
|
||||||
height = HIWORD(lParam);
|
height = HIWORD(lParam);
|
||||||
#endif /* defined(_WIN32_WCE) */
|
#endif /* defined(_WIN32_WCE) */
|
||||||
|
|
||||||
/* Update state and call callback, if there was a change */
|
/* Update state and call callback, if there was a change */
|
||||||
fghOnReshapeNotify(window, width, height, GL_FALSE);
|
fghOnReshapeNotify(window, width, height, GL_FALSE);
|
||||||
}
|
}
|
||||||
@ -935,15 +935,15 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
if (!IsIconic(window->Window.Handle))
|
if (!IsIconic(window->Window.Handle))
|
||||||
{
|
{
|
||||||
RECT windowRect;
|
RECT windowRect;
|
||||||
|
|
||||||
/* lParam contains coordinates of top-left of client area.
|
/* lParam contains coordinates of top-left of client area.
|
||||||
* Get top-left of non-client area of window, matching coordinates of
|
* Get top-left of non-client area of window, matching coordinates of
|
||||||
* glutInitPosition and glutPositionWindow, but not those of
|
* glutInitPosition and glutPositionWindow, but not those of
|
||||||
* glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y), which return
|
* glutGet(GLUT_WINDOW_X) and glutGet(GLUT_WINDOW_Y), which return
|
||||||
* top-left of client area.
|
* top-left of client area.
|
||||||
*/
|
*/
|
||||||
GetWindowRect( window->Window.Handle, &windowRect );
|
GetWindowRect( window->Window.Handle, &windowRect );
|
||||||
|
|
||||||
if (window->Parent)
|
if (window->Parent)
|
||||||
{
|
{
|
||||||
/* For child window, we should return relative to upper-left
|
/* For child window, we should return relative to upper-left
|
||||||
@ -1031,7 +1031,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
{
|
{
|
||||||
TRACKMOUSEEVENT tme;
|
TRACKMOUSEEVENT tme;
|
||||||
|
|
||||||
/* Cursor just entered window, set cursor look */
|
/* Cursor just entered window, set cursor look */
|
||||||
fgSetCursor ( window, window->State.Cursor ) ;
|
fgSetCursor ( window, window->State.Cursor ) ;
|
||||||
|
|
||||||
/* If an EntryFunc callback is specified by the user, also
|
/* If an EntryFunc callback is specified by the user, also
|
||||||
@ -1090,7 +1090,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
case WM_PAINT:
|
case WM_PAINT:
|
||||||
{
|
{
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
|
||||||
/* As per docs, upon receiving WM_PAINT, first check if the update region is not empty before you call BeginPaint */
|
/* As per docs, upon receiving WM_PAINT, first check if the update region is not empty before you call BeginPaint */
|
||||||
if (GetUpdateRect(hWnd,&rect,FALSE))
|
if (GetUpdateRect(hWnd,&rect,FALSE))
|
||||||
{
|
{
|
||||||
@ -1279,7 +1279,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
{
|
{
|
||||||
int wheel_number = 0; /* Only one scroll wheel on windows */
|
int wheel_number = 0; /* Only one scroll wheel on windows */
|
||||||
#if defined(_WIN32_WCE)
|
#if defined(_WIN32_WCE)
|
||||||
int modkeys = LOWORD(wParam);
|
int modkeys = LOWORD(wParam);
|
||||||
short ticks = (short)HIWORD(wParam);
|
short ticks = (short)HIWORD(wParam);
|
||||||
/* commented out as should not be needed here, mouse motion is processed in WM_MOUSEMOVE first:
|
/* commented out as should not be needed here, mouse motion is processed in WM_MOUSEMOVE first:
|
||||||
xPos = LOWORD(lParam); -- straight from docs, not consistent with mouse nutton and mouse motion above (which i think is wrong)
|
xPos = LOWORD(lParam); -- straight from docs, not consistent with mouse nutton and mouse motion above (which i think is wrong)
|
||||||
@ -1296,10 +1296,10 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
|
|
||||||
window = fghWindowUnderCursor(window);
|
window = fghWindowUnderCursor(window);
|
||||||
|
|
||||||
fgState.MouseWheelTicks += ticks;
|
fgState.MouseWheelTicks += ticks;
|
||||||
if ( abs ( fgState.MouseWheelTicks ) >= WHEEL_DELTA )
|
if ( abs ( fgState.MouseWheelTicks ) >= WHEEL_DELTA )
|
||||||
{
|
{
|
||||||
int direction = ( fgState.MouseWheelTicks > 0 ) ? 1 : -1;
|
int direction = ( fgState.MouseWheelTicks > 0 ) ? 1 : -1;
|
||||||
|
|
||||||
if( ! FETCH_WCB( *window, MouseWheel ) &&
|
if( ! FETCH_WCB( *window, MouseWheel ) &&
|
||||||
! FETCH_WCB( *window, Mouse ) )
|
! FETCH_WCB( *window, Mouse ) )
|
||||||
@ -1309,7 +1309,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
fgState.Modifiers = fgPlatformGetModifiers( );
|
fgState.Modifiers = fgPlatformGetModifiers( );
|
||||||
|
|
||||||
while( abs ( fgState.MouseWheelTicks ) >= WHEEL_DELTA )
|
while( abs ( fgState.MouseWheelTicks ) >= WHEEL_DELTA )
|
||||||
{
|
{
|
||||||
if( FETCH_WCB( *window, MouseWheel ) )
|
if( FETCH_WCB( *window, MouseWheel ) )
|
||||||
INVOKE_WCB( *window, MouseWheel,
|
INVOKE_WCB( *window, MouseWheel,
|
||||||
( wheel_number,
|
( wheel_number,
|
||||||
@ -1319,7 +1319,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
else /* No mouse wheel, call the mouse button callback twice */
|
else /* No mouse wheel, call the mouse button callback twice */
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Map wheel zero to button 3 and 4; +1 to 3, -1 to 4
|
* Map wheel zero to button 3 and 4; +1 to 3, -1 to 4
|
||||||
* " " one +1 to 5, -1 to 6, ...
|
* " " one +1 to 5, -1 to 6, ...
|
||||||
@ -1338,13 +1338,13 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
( button, GLUT_UP,
|
( button, GLUT_UP,
|
||||||
window->State.MouseX, window->State.MouseY )
|
window->State.MouseX, window->State.MouseY )
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fgState.MouseWheelTicks -= WHEEL_DELTA * direction;
|
fgState.MouseWheelTicks -= WHEEL_DELTA * direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
fgState.Modifiers = INVALID_MODIFIERS;
|
fgState.Modifiers = INVALID_MODIFIERS;
|
||||||
}
|
}
|
||||||
/* Per docs, should return zero */
|
/* Per docs, should return zero */
|
||||||
lRet = 0;
|
lRet = 0;
|
||||||
}
|
}
|
||||||
@ -1498,60 +1498,60 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPAR
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef WM_TOUCH
|
#ifdef WM_TOUCH
|
||||||
/* handle multi-touch messages */
|
/* handle multi-touch messages */
|
||||||
case WM_TOUCH:
|
case WM_TOUCH:
|
||||||
{
|
{
|
||||||
unsigned int numInputs = (unsigned int)wParam;
|
unsigned int numInputs = (unsigned int)wParam;
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
TOUCHINPUT* ti = (TOUCHINPUT*)malloc( sizeof(TOUCHINPUT)*numInputs);
|
TOUCHINPUT* ti = (TOUCHINPUT*)malloc( sizeof(TOUCHINPUT)*numInputs);
|
||||||
|
|
||||||
if (fghGetTouchInputInfo == (pGetTouchInputInfo)0xDEADBEEF) {
|
if (fghGetTouchInputInfo == (pGetTouchInputInfo)0xDEADBEEF) {
|
||||||
fghGetTouchInputInfo = (pGetTouchInputInfo)GetProcAddress(GetModuleHandle("user32"),"GetTouchInputInfo");
|
fghGetTouchInputInfo = (pGetTouchInputInfo)GetProcAddress(GetModuleHandle("user32"),"GetTouchInputInfo");
|
||||||
fghCloseTouchInputHandle = (pCloseTouchInputHandle)GetProcAddress(GetModuleHandle("user32"),"CloseTouchInputHandle");
|
fghCloseTouchInputHandle = (pCloseTouchInputHandle)GetProcAddress(GetModuleHandle("user32"),"CloseTouchInputHandle");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!fghGetTouchInputInfo) {
|
if (!fghGetTouchInputInfo) {
|
||||||
free( (void*)ti );
|
free( (void*)ti );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fghGetTouchInputInfo( (HTOUCHINPUT)lParam, numInputs, ti, sizeof(TOUCHINPUT) )) {
|
if (fghGetTouchInputInfo( (HTOUCHINPUT)lParam, numInputs, ti, sizeof(TOUCHINPUT) )) {
|
||||||
/* Handle each contact point */
|
/* Handle each contact point */
|
||||||
for (i = 0; i < numInputs; ++i ) {
|
for (i = 0; i < numInputs; ++i ) {
|
||||||
|
|
||||||
POINT tp;
|
POINT tp;
|
||||||
tp.x = TOUCH_COORD_TO_PIXEL(ti[i].x);
|
tp.x = TOUCH_COORD_TO_PIXEL(ti[i].x);
|
||||||
tp.y = TOUCH_COORD_TO_PIXEL(ti[i].y);
|
tp.y = TOUCH_COORD_TO_PIXEL(ti[i].y);
|
||||||
ScreenToClient( hWnd, &tp );
|
ScreenToClient( hWnd, &tp );
|
||||||
|
|
||||||
ti[i].dwID = ti[i].dwID * 2;
|
ti[i].dwID = ti[i].dwID * 2;
|
||||||
|
|
||||||
if (ti[i].dwFlags & TOUCHEVENTF_DOWN) {
|
if (ti[i].dwFlags & TOUCHEVENTF_DOWN) {
|
||||||
INVOKE_WCB( *window, MultiEntry, ( ti[i].dwID, GLUT_ENTERED ) );
|
INVOKE_WCB( *window, MultiEntry, ( ti[i].dwID, GLUT_ENTERED ) );
|
||||||
INVOKE_WCB( *window, MultiButton, ( ti[i].dwID, tp.x, tp.y, 0, GLUT_DOWN ) );
|
INVOKE_WCB( *window, MultiButton, ( ti[i].dwID, tp.x, tp.y, 0, GLUT_DOWN ) );
|
||||||
} else if (ti[i].dwFlags & TOUCHEVENTF_MOVE) {
|
} else if (ti[i].dwFlags & TOUCHEVENTF_MOVE) {
|
||||||
INVOKE_WCB( *window, MultiMotion, ( ti[i].dwID, tp.x, tp.y ) );
|
INVOKE_WCB( *window, MultiMotion, ( ti[i].dwID, tp.x, tp.y ) );
|
||||||
} else if (ti[i].dwFlags & TOUCHEVENTF_UP) {
|
} else if (ti[i].dwFlags & TOUCHEVENTF_UP) {
|
||||||
INVOKE_WCB( *window, MultiButton, ( ti[i].dwID, tp.x, tp.y, 0, GLUT_UP ) );
|
INVOKE_WCB( *window, MultiButton, ( ti[i].dwID, tp.x, tp.y, 0, GLUT_UP ) );
|
||||||
INVOKE_WCB( *window, MultiEntry, ( ti[i].dwID, GLUT_LEFT ) );
|
INVOKE_WCB( *window, MultiEntry, ( ti[i].dwID, GLUT_LEFT ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fghCloseTouchInputHandle((HTOUCHINPUT)lParam);
|
fghCloseTouchInputHandle((HTOUCHINPUT)lParam);
|
||||||
free( (void*)ti );
|
free( (void*)ti );
|
||||||
lRet = 0; /*DefWindowProc( hWnd, uMsg, wParam, lParam );*/
|
lRet = 0; /*DefWindowProc( hWnd, uMsg, wParam, lParam );*/
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WM_INPUT
|
#ifdef WM_INPUT
|
||||||
case WM_INPUT:
|
case WM_INPUT:
|
||||||
/* Added by Jinrong Xie <stonexjr at gmail.com> for SpaceNavigator support on Windows. Dec 2014 */
|
/* Added by Jinrong Xie <stonexjr at gmail.com> for SpaceNavigator support on Windows. Dec 2014 */
|
||||||
if (fgHasSpaceball())
|
if (fgHasSpaceball())
|
||||||
{
|
{
|
||||||
fgSpaceballHandleWinEvent(hWnd, wParam, lParam);
|
fgSpaceballHandleWinEvent(hWnd, wParam, lParam);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
/* Handle unhandled messages */
|
/* Handle unhandled messages */
|
||||||
@ -1615,7 +1615,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
window->State.DesiredWidth = window->State.pWState.OldRect.right - window->State.pWState.OldRect.left;
|
window->State.DesiredWidth = window->State.pWState.OldRect.right - window->State.pWState.OldRect.left;
|
||||||
window->State.DesiredHeight = window->State.pWState.OldRect.bottom - window->State.pWState.OldRect.top;
|
window->State.DesiredHeight = window->State.pWState.OldRect.bottom - window->State.pWState.OldRect.top;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We'll finish off the fullscreen operation below after the other GLUT_POSITION_WORK|GLUT_SIZE_WORK|GLUT_ZORDER_WORK */
|
/* We'll finish off the fullscreen operation below after the other GLUT_POSITION_WORK|GLUT_SIZE_WORK|GLUT_ZORDER_WORK */
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1626,7 +1626,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
RECT rect;
|
RECT rect;
|
||||||
HMONITOR hMonitor;
|
HMONITOR hMonitor;
|
||||||
MONITORINFO mi;
|
MONITORINFO mi;
|
||||||
|
|
||||||
/* save current window rect, style, exstyle and maximized state */
|
/* save current window rect, style, exstyle and maximized state */
|
||||||
window->State.pWState.OldMaximized = !!IsZoomed(window->Window.Handle);
|
window->State.pWState.OldMaximized = !!IsZoomed(window->Window.Handle);
|
||||||
if (window->State.pWState.OldMaximized)
|
if (window->State.pWState.OldMaximized)
|
||||||
@ -1649,7 +1649,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
|
|
||||||
/* For fullscreen mode, find the monitor that is covered the most
|
/* For fullscreen mode, find the monitor that is covered the most
|
||||||
* by the window and get its rect as the resize target.
|
* by the window and get its rect as the resize target.
|
||||||
*/
|
*/
|
||||||
hMonitor= MonitorFromWindow(window->Window.Handle, MONITOR_DEFAULTTONEAREST);
|
hMonitor= MonitorFromWindow(window->Window.Handle, MONITOR_DEFAULTTONEAREST);
|
||||||
mi.cbSize = sizeof(mi);
|
mi.cbSize = sizeof(mi);
|
||||||
GetMonitorInfo(hMonitor, &mi);
|
GetMonitorInfo(hMonitor, &mi);
|
||||||
@ -1668,7 +1668,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
|
|
||||||
/* Now deal with normal position, reshape and z order requests (some might have been set when handling GLUT_FULLSCREEN_WORK above */
|
/* Now deal with normal position, reshape and z order requests (some might have been set when handling GLUT_FULLSCREEN_WORK above */
|
||||||
{
|
{
|
||||||
/* get rect describing window's current position and size,
|
/* get rect describing window's current position and size,
|
||||||
* in screen coordinates and in FreeGLUT format
|
* in screen coordinates and in FreeGLUT format
|
||||||
* (size (right-left, bottom-top) is client area size, top and left
|
* (size (right-left, bottom-top) is client area size, top and left
|
||||||
* are outside of window including decorations).
|
* are outside of window including decorations).
|
||||||
@ -1678,7 +1678,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
if (workMask & GLUT_POSITION_WORK)
|
if (workMask & GLUT_POSITION_WORK)
|
||||||
{
|
{
|
||||||
flags &= ~SWP_NOMOVE;
|
flags &= ~SWP_NOMOVE;
|
||||||
|
|
||||||
/* Move rect so that top-left is at requested position */
|
/* Move rect so that top-left is at requested position */
|
||||||
/* This also automatically makes sure that child window requested coordinates are relative
|
/* This also automatically makes sure that child window requested coordinates are relative
|
||||||
* to top-left of parent's client area (needed input for SetWindowPos on child windows),
|
* to top-left of parent's client area (needed input for SetWindowPos on child windows),
|
||||||
@ -1689,7 +1689,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
if (workMask & GLUT_SIZE_WORK)
|
if (workMask & GLUT_SIZE_WORK)
|
||||||
{
|
{
|
||||||
flags &= ~SWP_NOSIZE;
|
flags &= ~SWP_NOSIZE;
|
||||||
|
|
||||||
/* Note on maximizing behavior of Windows: the resize borders are off
|
/* Note on maximizing behavior of Windows: the resize borders are off
|
||||||
* the screen such that the client area extends all the way from the
|
* the screen such that the client area extends all the way from the
|
||||||
* leftmost corner to the rightmost corner to maximize screen real
|
* leftmost corner to the rightmost corner to maximize screen real
|
||||||
@ -1724,7 +1724,7 @@ void fgPlatformPosResZordWork(SFG_Window* window, unsigned int workMask)
|
|||||||
if (!window->Parent)
|
if (!window->Parent)
|
||||||
/* get the window rect from this to feed to SetWindowPos, correct for window decorations */
|
/* get the window rect from this to feed to SetWindowPos, correct for window decorations */
|
||||||
fghComputeWindowRectFromClientArea_QueryWindow(&clientRect,window,TRUE);
|
fghComputeWindowRectFromClientArea_QueryWindow(&clientRect,window,TRUE);
|
||||||
|
|
||||||
/* Do the requested positioning, moving, and z order push/pop. */
|
/* Do the requested positioning, moving, and z order push/pop. */
|
||||||
SetWindowPos( window->Window.Handle,
|
SetWindowPos( window->Window.Handle,
|
||||||
insertAfter,
|
insertAfter,
|
||||||
|
Reference in New Issue
Block a user