1 Clazz.declarePackage ("java.awt.geom");
\r
2 Clazz.load (["java.awt.geom.PathIterator"], "java.awt.geom.RoundRectIterator", ["java.util.NoSuchElementException"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
12 Clazz.instantialize (this, arguments);
\r
13 }, java.awt.geom, "RoundRectIterator", null, java.awt.geom.PathIterator);
\r
14 Clazz.makeConstructor (c$,
\r
16 this.x = rr.getX ();
\r
17 this.y = rr.getY ();
\r
18 this.w = rr.getWidth ();
\r
19 this.h = rr.getHeight ();
\r
20 this.aw = Math.min (this.w, Math.abs (rr.getArcWidth ()));
\r
21 this.ah = Math.min (this.h, Math.abs (rr.getArcHeight ()));
\r
23 if (this.aw < 0 || this.ah < 0) {
\r
24 this.index = java.awt.geom.RoundRectIterator.ctrlpts.length;
\r
25 }}, "java.awt.geom.RoundRectangle2D,java.awt.geom.AffineTransform");
\r
26 Clazz.overrideMethod (c$, "getWindingRule",
\r
30 Clazz.overrideMethod (c$, "isDone",
\r
32 return this.index >= java.awt.geom.RoundRectIterator.ctrlpts.length;
\r
34 Clazz.overrideMethod (c$, "next",
\r
38 Clazz.defineMethod (c$, "currentSegment",
\r
40 if (this.isDone ()) {
\r
41 throw new java.util.NoSuchElementException ("roundrect iterator out of bounds");
\r
42 }var ctrls = java.awt.geom.RoundRectIterator.ctrlpts[this.index];
\r
44 for (var i = 0; i < ctrls.length; i += 4) {
\r
45 coords[nc++] = (this.x + ctrls[i + 0] * this.w + ctrls[i + 1] * this.aw);
\r
46 coords[nc++] = (this.y + ctrls[i + 2] * this.h + ctrls[i + 3] * this.ah);
\r
48 if (this.affine != null) {
\r
49 this.affine.transform (coords, 0, coords, 0, Clazz.doubleToInt (nc / 2));
\r
50 }return java.awt.geom.RoundRectIterator.types[this.index];
\r
52 Clazz.defineMethod (c$, "currentSegment",
\r
54 if (this.isDone ()) {
\r
55 throw new java.util.NoSuchElementException ("roundrect iterator out of bounds");
\r
56 }var ctrls = java.awt.geom.RoundRectIterator.ctrlpts[this.index];
\r
58 for (var i = 0; i < ctrls.length; i += 4) {
\r
59 coords[nc++] = (this.x + ctrls[i + 0] * this.w + ctrls[i + 1] * this.aw);
\r
60 coords[nc++] = (this.y + ctrls[i + 2] * this.h + ctrls[i + 3] * this.ah);
\r
62 if (this.affine != null) {
\r
63 this.affine.transform (coords, 0, coords, 0, Clazz.doubleToInt (nc / 2));
\r
64 }return java.awt.geom.RoundRectIterator.types[this.index];
\r
66 Clazz.defineStatics (c$,
\r
67 "angle", 0.7853981633974483);
\r
68 c$.a = c$.prototype.a = 1.0 - Math.cos (0.7853981633974483);
\r
69 c$.b = c$.prototype.b = Math.tan (0.7853981633974483);
\r
70 c$.c = c$.prototype.c = Math.sqrt (1.0 + java.awt.geom.RoundRectIterator.b * java.awt.geom.RoundRectIterator.b) - 1 + java.awt.geom.RoundRectIterator.a;
\r
71 c$.cv = c$.prototype.cv = 1.3333333333333333 * java.awt.geom.RoundRectIterator.a * java.awt.geom.RoundRectIterator.b / java.awt.geom.RoundRectIterator.c;
\r
72 c$.acv = c$.prototype.acv = (1.0 - java.awt.geom.RoundRectIterator.cv) / 2.0;
\r
73 c$.ctrlpts = c$.prototype.ctrlpts = Clazz.newArray (-1, [ Clazz.newDoubleArray (-1, [0.0, 0.0, 0.0, 0.5]), Clazz.newDoubleArray (-1, [0.0, 0.0, 1.0, -0.5]), Clazz.newDoubleArray (-1, [0.0, 0.0, 1.0, -java.awt.geom.RoundRectIterator.acv, 0.0, java.awt.geom.RoundRectIterator.acv, 1.0, 0.0, 0.0, 0.5, 1.0, 0.0]), Clazz.newDoubleArray (-1, [1.0, -0.5, 1.0, 0.0]), Clazz.newDoubleArray (-1, [1.0, -java.awt.geom.RoundRectIterator.acv, 1.0, 0.0, 1.0, 0.0, 1.0, -java.awt.geom.RoundRectIterator.acv, 1.0, 0.0, 1.0, -0.5]), Clazz.newDoubleArray (-1, [1.0, 0.0, 0.0, 0.5]), Clazz.newDoubleArray (-1, [1.0, 0.0, 0.0, java.awt.geom.RoundRectIterator.acv, 1.0, -java.awt.geom.RoundRectIterator.acv, 0.0, 0.0, 1.0, -0.5, 0.0, 0.0]), Clazz.newDoubleArray (-1, [0.0, 0.5, 0.0, 0.0]), Clazz.newDoubleArray (-1, [0.0, java.awt.geom.RoundRectIterator.acv, 0.0, 0.0, 0.0, 0.0, 0.0, java.awt.geom.RoundRectIterator.acv, 0.0, 0.0, 0.0, 0.5]), Clazz.newDoubleArray (-1, [])]);
\r
74 Clazz.defineStatics (c$,
\r
75 "types", Clazz.newIntArray (-1, [0, 1, 3, 1, 3, 1, 3, 1, 3, 4]));
\r