X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fplat%2FOpenGL.cc;h=3c8cf6ad73369948d141fa4a302e4238de40a998;hb=de378041d5ca2aca1a2b5a31ef15ae90a86c977f;hp=14884ef7aa9f10afa6719787a0270b4cce8d50a2;hpb=ccec873624823f890ba53fa15d85206a42a2ab5f;p=org.ibex.core.git diff --git a/src/org/xwt/plat/OpenGL.cc b/src/org/xwt/plat/OpenGL.cc index 14884ef..3c8cf6a 100644 --- a/src/org/xwt/plat/OpenGL.cc +++ b/src/org/xwt/plat/OpenGL.cc @@ -25,7 +25,8 @@ #include -#define min(a,b) (a(b)?(a):(b)) namespace org { namespace xwt { namespace plat { @@ -179,8 +180,10 @@ void OpenGL$RectGLPicture::natInit(Object *data_, jboolean alphaOnly) { } void OpenGL$RectGLPicture::draw(jint dx, jint dy, jint cx1, jint cy1, jint cx2, jint cy2) { + cx1 = max(dx, cx1); + cy1 = max(dy, cy1); cx2 = min(cx2, dx + width); - cy2 = min(cx2, dy + height); + cy2 = min(cy2, dy + height); if (cy2 <= cy1 || cx2 <= cx1) return; glEnable(GL_TEXTURE_RECTANGLE_EXT); glBindTexture(GL_TEXTURE_RECTANGLE_EXT, textureName); @@ -273,8 +276,10 @@ void OpenGL$SquareGLPicture::natInit(Object *data_, jboolean alphaOnly) { } void OpenGL$SquareGLPicture::draw(jint dx, jint dy, jint cx1, jint cy1, jint cx2, jint cy2) { + cx1 = max(dx, cx1); + cy1 = max(dy, cy1); cx2 = min(cx2, dx + width); - cy2 = min(cx2, dy + height); + cy2 = min(cy2, dy + height); if (cy2 <= cy1 || cx2 <= cx1) return; float tx1 = (float) (cx1 - dx) / (float) texWidth; float ty1 = (float) (cy1 - dy) / (float) texHeight;