X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fgraphics%2FPolygon.java;fp=src%2Forg%2Fibex%2Fgraphics%2FPolygon.java;h=8dc4bfde2a6498e9fdcfbfbf1137d2e83755d750;hb=026feed5d3ffb670533197a4ec733d1d03578c63;hp=a5221c736c6801a50c5653caea2dacf007bc55ed;hpb=cab49a265d0483f7162711a12193a966c2dd3521;p=org.ibex.core.git diff --git a/src/org/ibex/graphics/Polygon.java b/src/org/ibex/graphics/Polygon.java index a5221c7..8dc4bfd 100644 --- a/src/org/ibex/graphics/Polygon.java +++ b/src/org/ibex/graphics/Polygon.java @@ -100,12 +100,13 @@ public final class Polygon { public void xor(Polygon p2) { clip(GPC_XOR, this, p2); } public void subtract(Polygon p2) { clip(GPC_DIFF, this, p2); } private static Polygon rectclipper = new Polygon(); - public void addrect(float x1, float y1, float x2, float y2, Affine a) { + public Polygon addrect(float x1, float y1, float x2, float y2, Affine a) { add(a.multiply_px(x1, y1), a.multiply_py(x1, y1)); add(a.multiply_px(x2, y1), a.multiply_py(x2, y1)); add(a.multiply_px(x2, y2), a.multiply_py(x2, y2)); add(a.multiply_px(x1, y2), a.multiply_py(x1, y2)); closepath(); + return this; } public void clipto(float x1, float y1, float x2, float y2, Affine a) { rectclipper.clear(); @@ -170,7 +171,7 @@ public final class Polygon { add(a.multiply_px(x, y), a.multiply_py(x, y)); } } - public void transform(Affine a) { + public Polygon transform(Affine a) { maxx = Float.MIN_VALUE; maxy = Float.MIN_VALUE; minx = Float.MAX_VALUE; miny = Float.MIN_VALUE; int s = 0; for(int i=0; i maxy) maxy = y; if (y < miny) miny = y; } + return this; } public void stroke(PixelBuffer buf, int color) {