diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-09-14 04:05:36 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-09-14 04:05:36 +0300 |
commit | 2c73f0e2300c00ec2e1c26ecb7a6c7a500381f0f (patch) | |
tree | f5b11e7d80d78b286ea2f9faa6f821f24df61878 /src/openglgraphics.cpp | |
parent | 06dccbaa3d581aa3790ecc1d7b9c2385e16c9c20 (diff) | |
download | plus-2c73f0e2300c00ec2e1c26ecb7a6c7a500381f0f.tar.gz plus-2c73f0e2300c00ec2e1c26ecb7a6c7a500381f0f.tar.bz2 plus-2c73f0e2300c00ec2e1c26ecb7a6c7a500381f0f.tar.xz plus-2c73f0e2300c00ec2e1c26ecb7a6c7a500381f0f.zip |
Bit improve push cliparea functions in opengl backends.
Diffstat (limited to 'src/openglgraphics.cpp')
-rw-r--r-- | src/openglgraphics.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index 03d38e7e2..b67d4b2be 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -1064,22 +1064,22 @@ bool OpenGLGraphics::pushClipArea(gcn::Rectangle area) if (!mClipStack.empty()) { - transX = -mClipStack.top().xOffset; - transY = -mClipStack.top().yOffset; + const gcn::ClipRectangle &clipArea = mClipStack.top(); + transX = -clipArea.xOffset; + transY = -clipArea.yOffset; } bool result = gcn::Graphics::pushClipArea(area); - transX += mClipStack.top().xOffset; - transY += mClipStack.top().yOffset; + const gcn::ClipRectangle &clipArea = mClipStack.top(); + transX += clipArea.xOffset; + transY += clipArea.yOffset; glPushMatrix(); glTranslatef(static_cast<GLfloat>(transX), static_cast<GLfloat>(transY), 0); - glScissor(mClipStack.top().x, - mTarget->h - mClipStack.top().y - mClipStack.top().height, - mClipStack.top().width, - mClipStack.top().height); + glScissor(clipArea.x, mTarget->h - clipArea.y - clipArea.height, + clipArea.width, clipArea.height); return result; } @@ -1092,10 +1092,9 @@ void OpenGLGraphics::popClipArea() return; glPopMatrix(); - glScissor(mClipStack.top().x, - mTarget->h - mClipStack.top().y - mClipStack.top().height, - mClipStack.top().width, - mClipStack.top().height); + const gcn::ClipRectangle &clipArea = mClipStack.top(); + glScissor(clipArea.x, mTarget->h - clipArea.y - clipArea.height, + clipArea.width, clipArea.height); } void OpenGLGraphics::setColor(const gcn::Color& color) |