X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fxwt%2Fplat%2FWin32.java;h=ba99a8e72734a285c71ac553e4b2ec1a8fe4fac2;hb=8ca06b850fb51673a7cfe751643ea45ec528070d;hp=b57109cc90263356031570365acb24c36cc110d8;hpb=42da60bd167403eccc3466575772819007388cfd;p=org.ibex.core.git diff --git a/src/org/xwt/plat/Win32.java b/src/org/xwt/plat/Win32.java index b57109c..ba99a8e 100644 --- a/src/org/xwt/plat/Win32.java +++ b/src/org/xwt/plat/Win32.java @@ -264,11 +264,26 @@ public class Win32 extends GCJ { public native void setClip(int x, int y, int x2, int y2); public native void fillRect(int x, int y, int x2, int y2, int color); public native void drawPicture(Picture source, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2); + public native void drawPictureAlphaOnly(Picture source, int dx1, int dy1, int dx2, int dy2, + int sx1, int sy1, int sx2, int sy2, int rgb); public native void finalize(); public void drawPicture(Picture source, int x, int y) { drawPicture(source, x, y, x + source.getWidth(), y + source.getHeight(), 0, 0, source.getWidth(), source.getHeight()); } + // FIXME: try to use os acceleration + public void fillTrapezoid(int x1, int x2, int y1, int x3, int x4, int y2, int argb) { + if (x1 == x3 && x2 == x4) { + fillRect(x1, y1, x4, y2, argb); + } else for(int y=y1; y _x2) { int _x0 = _x1; _x1 = _x2; _x2 = _x0; } + fillRect(_x1, _y1, _x2, _y2, argb); + } + } } }