From 6e2867b935af242ca96767732e37b85a01620f42 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 10 Jun 2014 13:25:15 +0300 Subject: Use cliparea for texture drawing position in modernopengl. --- src/render/modernopenglgraphics.cpp | 7 +++++-- src/test/testlauncher.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/render/modernopenglgraphics.cpp b/src/render/modernopenglgraphics.cpp index fd700a9cf..ab8a9a787 100644 --- a/src/render/modernopenglgraphics.cpp +++ b/src/render/modernopenglgraphics.cpp @@ -297,9 +297,12 @@ bool ModernOpenGLGraphics::drawImageInline(const Image *const image, bindTexture(GL_TEXTURE_2D, image->mGLImage); setTexturingAndBlending(true); + const ClipRect &clipArea = mClipStack.top(); const SDL_Rect &imageRect = image->mBounds; - drawQuad(image, imageRect.x, imageRect.y, - dstX, dstY, imageRect.w, imageRect.h); + drawQuad(image, + imageRect.x, imageRect.y, + dstX + clipArea.xOffset, dstY + clipArea.yOffset, + imageRect.w, imageRect.h); return true; } diff --git a/src/test/testlauncher.cpp b/src/test/testlauncher.cpp index 462e46716..433d5ad42 100644 --- a/src/test/testlauncher.cpp +++ b/src/test/testlauncher.cpp @@ -380,7 +380,7 @@ int TestLauncher::testDraw() mainGraphics->drawRectangle(Rect(0, 0, 400, 200)); mainGraphics->setColor(Color(0xFFU, 0x00U, 0x00U, 0xB0U)); - mainGraphics->drawImage(img[0], 190, 403); + mainGraphics->drawImage(img[0], 190, 383); mainGraphics->setColor(Color(0x80U, 0x00U, 0xA0U, 0x90U)); mainGraphics->fillRectangle(Rect(200, 100, 300, 300)); -- cgit v1.2.3-70-g09d2