#include <stdio.h>
-#define min(a,b) (a<b?a:b)
+#define min(a,b) ((a)<(b)?(a):(b))
+#define max(a,b) ((a)>(b)?(a):(b))
namespace org { namespace xwt { namespace plat {
}
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);
}
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;