From 25f8968aacfa2038bc34be17ccaf05cae52c1110 Mon Sep 17 00:00:00 2001 From: "John F. Fay" Date: Sun, 29 Jan 2012 02:52:21 +0000 Subject: [PATCH] Moving the Windows platform-specific "SwapBuffers" calls into a Windows platform-specific file git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@1012 7f0cb862-5218-0410-a997-914c9d46530a --- src/Common/freeglut_display.c | 18 +++++++++++++----- src/mswin/freeglut_display_mswin.c | 37 ++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/Common/freeglut_display.c b/src/Common/freeglut_display.c index f13319c..086d24a 100644 --- a/src/Common/freeglut_display.c +++ b/src/Common/freeglut_display.c @@ -28,6 +28,18 @@ #include #include "freeglut_internal.h" + +/* Function prototypes */ +extern void fgPlatformGlutSwapBuffers( SFG_PlatformDisplay *pDisplayPtr, SFG_Window* CurrentWindow ); + + +#if TARGET_HOST_POSIX_X11 +void fgPlatformGlutSwapBuffers( SFG_PlatformDisplay *pDisplayPtr, SFG_Window* CurrentWindow ) +{ + glXSwapBuffers( pDisplayPtr->Display, CurrentWindow->Window.Handle ); +} +#endif + /* -- INTERFACE FUNCTIONS -------------------------------------------------- */ /* @@ -61,11 +73,7 @@ void FGAPIENTRY glutSwapBuffers( void ) if( ! fgStructure.CurrentWindow->Window.DoubleBuffered ) return; -#if TARGET_HOST_POSIX_X11 - glXSwapBuffers( fgDisplay.pDisplay.Display, fgStructure.CurrentWindow->Window.Handle ); -#elif TARGET_HOST_MS_WINDOWS - SwapBuffers( fgStructure.CurrentWindow->Window.Device ); -#endif + fgPlatformGlutSwapBuffers( &fgDisplay.pDisplay, fgStructure.CurrentWindow ); /* GLUT_FPS env var support */ if( fgState.FPSInterval ) diff --git a/src/mswin/freeglut_display_mswin.c b/src/mswin/freeglut_display_mswin.c index e69de29..9437382 100644 --- a/src/mswin/freeglut_display_mswin.c +++ b/src/mswin/freeglut_display_mswin.c @@ -0,0 +1,37 @@ +/* + * freeglut_display_mswin.c + * + * The Windows-specific mouse cursor related stuff. + * + * Copyright (c) 2012 Stephen J. Baker. All Rights Reserved. + * Written by John F. Fay, + * Creation date: Sat Jan 28, 2012 + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include +#include "../Common/freeglut_internal.h" + + + + +void fgPlatformGlutSwapBuffers( SFG_PlatformDisplay *pDisplayPtr, SFG_Window* CurrentWindow ) +{ + SwapBuffers( CurrentWindow->Window.Device ); +} -- 1.7.10.4