diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-06-10 13:25:15 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-06-10 13:25:15 +0300 |
commit | 6e2867b935af242ca96767732e37b85a01620f42 (patch) | |
tree | fafad18b152737d1f53c73f1c423b38d8a91cfaf | |
parent | fcb2f8b6fdfa683ce5ba319b46873a0b61c9c75f (diff) | |
download | mv-6e2867b935af242ca96767732e37b85a01620f42.tar.gz mv-6e2867b935af242ca96767732e37b85a01620f42.tar.bz2 mv-6e2867b935af242ca96767732e37b85a01620f42.tar.xz mv-6e2867b935af242ca96767732e37b85a01620f42.zip |
Use cliparea for texture drawing position in modernopengl.
-rw-r--r-- | src/render/modernopenglgraphics.cpp | 7 | ||||
-rw-r--r-- | src/test/testlauncher.cpp | 2 |
2 files changed, 6 insertions, 3 deletions
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)); |