summaryrefslogtreecommitdiff
path: root/src/normalopenglgraphics.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-08-22 11:59:38 +0300
committerAndrei Karas <akaras@inbox.ru>2013-08-24 21:08:15 +0300
commit2480ea4cc668ff99007dd6fb8b44911eea5d5287 (patch)
treec8fc22a9612d30474cddd6d40da5269ffd7f55a5 /src/normalopenglgraphics.cpp
parent07390a4c8dcde85602c1a91d3773061d67d169ab (diff)
downloadplus-2480ea4cc668ff99007dd6fb8b44911eea5d5287.tar.gz
plus-2480ea4cc668ff99007dd6fb8b44911eea5d5287.tar.bz2
plus-2480ea4cc668ff99007dd6fb8b44911eea5d5287.tar.xz
plus-2480ea4cc668ff99007dd6fb8b44911eea5d5287.zip
store window size into rectangle.
Diffstat (limited to 'src/normalopenglgraphics.cpp')
-rw-r--r--src/normalopenglgraphics.cpp23
1 files changed, 13 insertions, 10 deletions
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<float>(mWindow->w),
- static_cast<float>(mWindow->h), 0.0, -1.0, 1.0);
+ glOrthof(0.0, static_cast<float>(w), static_cast<float>(h),
+ 0.0, -1.0, 1.0);
#else
- glOrtho(0.0, static_cast<double>(mWindow->w),
- static_cast<double>(mWindow->h), 0.0, -1.0, 1.0);
+ glOrtho(0.0, static_cast<double>(w), static_cast<double>(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<GLfloat>(transX),
static_cast<GLfloat>(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);
}