From 2480ea4cc668ff99007dd6fb8b44911eea5d5287 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 22 Aug 2013 11:59:38 +0300 Subject: store window size into rectangle. --- src/normalopenglgraphics.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/normalopenglgraphics.cpp') diff --git a/src/normalopenglgraphics.cpp b/src/normalopenglgraphics.cpp index ac933a6ac..089077224 100644 --- a/src/normalopenglgraphics.cpp +++ b/src/normalopenglgraphics.cpp @@ -1052,12 +1052,15 @@ void NormalOpenGLGraphics::_beginDraw() glMatrixMode(GL_PROJECTION); glLoadIdentity(); + const int w = mRect.w; + const int h = mRect.h; + #ifdef ANDROID - glOrthof(0.0, static_cast(mWindow->w), - static_cast(mWindow->h), 0.0, -1.0, 1.0); + glOrthof(0.0, static_cast(w), static_cast(h), + 0.0, -1.0, 1.0); #else - glOrtho(0.0, static_cast(mWindow->w), - static_cast(mWindow->h), 0.0, -1.0, 1.0); + glOrtho(0.0, static_cast(w), static_cast(h), + 0.0, -1.0, 1.0); #endif glMatrixMode(GL_MODELVIEW); @@ -1092,7 +1095,7 @@ void NormalOpenGLGraphics::_beginDraw() // glScalef(0.5f, 0.5f, 0.5f); - pushClipArea(gcn::Rectangle(0, 0, mWindow->w, mWindow->h)); + pushClipArea(gcn::Rectangle(0, 0, w, h)); } void NormalOpenGLGraphics::_endDraw() @@ -1103,13 +1106,13 @@ void NormalOpenGLGraphics::_endDraw() void NormalOpenGLGraphics::prepareScreenshot() { if (config.getBoolValue("usefbo")) - graphicsManager.createFBO(mWindow->w, mWindow->h, &mFbo); + graphicsManager.createFBO(mRect.w, mRect.h, &mFbo); } SDL_Surface* NormalOpenGLGraphics::getScreenshot() { - const int h = mWindow->h; - const int w = mWindow->w - (mWindow->w % 4); + const int h = mRect.h; + const int w = mRect.w - (mRect.w % 4); GLint pack = 1; SDL_Surface *const screenshot = SDL_CreateRGBSurface( @@ -1181,7 +1184,7 @@ bool NormalOpenGLGraphics::pushClipArea(gcn::Rectangle area) glTranslatef(static_cast(transX), static_cast(transY), 0); } - glScissor(clipArea.x, mWindow->h - clipArea.y - clipArea.height, + glScissor(clipArea.x, mRect.h - clipArea.y - clipArea.height, clipArea.width, clipArea.height); return result; @@ -1196,7 +1199,7 @@ void NormalOpenGLGraphics::popClipArea() glPopMatrix(); const gcn::ClipRectangle &clipArea = mClipStack.top(); - glScissor(clipArea.x, mWindow->h - clipArea.y - clipArea.height, + glScissor(clipArea.x, mRect.h - clipArea.y - clipArea.height, clipArea.width, clipArea.height); } -- cgit v1.2.3-60-g2f50