diff options
Diffstat (limited to 'src/openglgraphics.cpp')
-rw-r--r-- | src/openglgraphics.cpp | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index d8d7a807..b3a8db4b 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -19,33 +19,32 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "main.h" - -#ifdef USE_OPENGL +#include <cstring> +#include <SDL.h> -#ifndef GL_TEXTURE_RECTANGLE_ARB -#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 -#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 -#endif +#include <guichan/exception.hpp> +#include <guichan/image.hpp> +#include "log.h" +#include "main.h" #include "openglgraphics.h" -#include <cstring> -#include <SDL.h> +#include "resources/image.h" #ifdef __APPLE__ #include <OpenGL/OpenGL.h> #endif -#include <guichan/exception.hpp> -#include <guichan/image.hpp> - -#include "log.h" +#ifdef USE_OPENGL -#include "resources/image.h" +#ifndef GL_TEXTURE_RECTANGLE_ARB +#define GL_TEXTURE_RECTANGLE_ARB 0x84F5 +#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 +#endif OpenGLGraphics::OpenGLGraphics(): - mAlpha(false), mTexture(false), mColorAlpha(false) + mAlpha(false), mTexture(false), mColorAlpha(false), + mSync(false) { } @@ -53,6 +52,11 @@ OpenGLGraphics::~OpenGLGraphics() { } +void OpenGLGraphics::setSync(bool sync) +{ + mSync = sync; +} + bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) { logger->log("Setting video mode %dx%d %s", @@ -76,6 +80,10 @@ bool OpenGLGraphics::setVideoMode(int w, int h, int bpp, bool fs, bool hwaccel) #ifdef __APPLE__ // long VBL = 1; // CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); + if (mSync) { + const GLint VBL = 1; + CGLSetParameter(CGLGetCurrentContext(), kCGLCPSwapInterval, &VBL); + } #endif // Setup OpenGL |