1 Clazz.declarePackage ("java.awt");
\r
2 Clazz.load (["java.awt.Shape", "java.awt.geom.Rectangle2D"], "java.awt.Rectangle", ["java.awt.Dimension", "$.Point"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
8 Clazz.instantialize (this, arguments);
\r
9 }, java.awt, "Rectangle", java.awt.geom.Rectangle2D, java.awt.Shape);
\r
10 Clazz.makeConstructor (c$,
\r
12 this.construct (0, 0, 0, 0);
\r
14 Clazz.makeConstructor (c$,
\r
16 this.construct (r.x, r.y, r.width, r.height);
\r
17 }, "java.awt.Rectangle");
\r
18 Clazz.makeConstructor (c$,
\r
19 function (x, y, width, height) {
\r
20 Clazz.superConstructor (this, java.awt.Rectangle, []);
\r
24 this.height = height;
\r
26 Clazz.makeConstructor (c$,
\r
27 function (width, height) {
\r
28 this.construct (0, 0, width, height);
\r
30 Clazz.makeConstructor (c$,
\r
32 this.construct (p.x, p.y, d.width, d.height);
\r
33 }, "java.awt.Point,java.awt.Dimension");
\r
34 Clazz.makeConstructor (c$,
\r
36 this.construct (p.x, p.y, 0, 0);
\r
37 }, "java.awt.Point");
\r
38 Clazz.makeConstructor (c$,
\r
40 this.construct (0, 0, d.width, d.height);
\r
41 }, "java.awt.Dimension");
\r
42 Clazz.overrideMethod (c$, "getX",
\r
46 Clazz.overrideMethod (c$, "getY",
\r
50 Clazz.overrideMethod (c$, "getWidth",
\r
54 Clazz.overrideMethod (c$, "getHeight",
\r
58 Clazz.overrideMethod (c$, "getBounds",
\r
60 return new java.awt.Rectangle (this.x, this.y, this.width, this.height);
\r
62 Clazz.overrideMethod (c$, "getBounds2D",
\r
64 return new java.awt.Rectangle (this.x, this.y, this.width, this.height);
\r
66 Clazz.defineMethod (c$, "setBounds",
\r
68 this.reshape (r.x, r.y, r.width, r.height);
\r
69 }, "java.awt.Rectangle");
\r
70 Clazz.defineMethod (c$, "setBounds",
\r
71 function (x, y, width, height) {
\r
72 this.reshape (x, y, width, height);
\r
74 Clazz.defineMethod (c$, "setRect",
\r
75 function (x, y, width, height) {
\r
80 if (x > 4.294967294E9) {
\r
84 newx = java.awt.Rectangle.clip (x, false);
\r
85 if (width >= 0) width += x - newx;
\r
86 neww = java.awt.Rectangle.clip (width, width >= 0);
\r
87 }if (y > 4.294967294E9) {
\r
91 newy = java.awt.Rectangle.clip (y, false);
\r
92 if (height >= 0) height += y - newy;
\r
93 newh = java.awt.Rectangle.clip (height, height >= 0);
\r
94 }this.reshape (newx, newy, neww, newh);
\r
96 c$.clip = Clazz.defineMethod (c$, "clip",
\r
97 function (v, doceil) {
\r
98 if (v <= -2147483648) {
\r
100 }if (v >= 2147483647) {
\r
102 }return Clazz.doubleToInt (doceil ? Math.ceil (v) : Math.floor (v));
\r
104 Clazz.defineMethod (c$, "reshape",
\r
105 function (x, y, width, height) {
\r
108 this.width = width;
\r
109 this.height = height;
\r
111 Clazz.defineMethod (c$, "getLocation",
\r
113 return new java.awt.Point (this.x, this.y);
\r
115 Clazz.defineMethod (c$, "setLocation",
\r
117 this.setLocation (p.x, p.y);
\r
118 }, "java.awt.Point");
\r
119 Clazz.defineMethod (c$, "setLocation",
\r
123 Clazz.defineMethod (c$, "move",
\r
128 Clazz.defineMethod (c$, "translate",
\r
129 function (dx, dy) {
\r
131 var newv = oldv + dx;
\r
134 if (this.width >= 0) {
\r
135 this.width += newv - -2147483648;
\r
136 }newv = -2147483648;
\r
139 if (this.width >= 0) {
\r
140 this.width += newv - 2147483647;
\r
141 if (this.width < 0) this.width = 2147483647;
\r
142 }newv = 2147483647;
\r
148 if (this.height >= 0) {
\r
149 this.height += newv - -2147483648;
\r
150 }newv = -2147483648;
\r
153 if (this.height >= 0) {
\r
154 this.height += newv - 2147483647;
\r
155 if (this.height < 0) this.height = 2147483647;
\r
156 }newv = 2147483647;
\r
159 Clazz.defineMethod (c$, "getSize",
\r
161 return new java.awt.Dimension (this.width, this.height);
\r
163 Clazz.defineMethod (c$, "setSize",
\r
165 this.setSize (d.width, d.height);
\r
166 }, "java.awt.Dimension");
\r
167 Clazz.defineMethod (c$, "setSize",
\r
168 function (width, height) {
\r
169 this.resize (width, height);
\r
171 Clazz.defineMethod (c$, "resize",
\r
172 function (width, height) {
\r
173 this.width = width;
\r
174 this.height = height;
\r
176 Clazz.defineMethod (c$, "contains",
\r
178 return this.contains (p.x, p.y);
\r
179 }, "java.awt.Point");
\r
180 Clazz.defineMethod (c$, "contains",
\r
182 return this.inside (x, y);
\r
184 Clazz.defineMethod (c$, "contains",
\r
186 return this.contains (r.x, r.y, r.width, r.height);
\r
187 }, "java.awt.Rectangle");
\r
188 Clazz.defineMethod (c$, "contains",
\r
189 function (X, Y, W, H) {
\r
190 var w = this.width;
\r
191 var h = this.height;
\r
192 if ((w | h | W | H) < 0) {
\r
196 if (X < x || Y < y) {
\r
201 if (w >= x || W > w) return false;
\r
203 if (w >= x && W > w) return false;
\r
207 if (h >= y || H > h) return false;
\r
209 if (h >= y && H > h) return false;
\r
212 Clazz.defineMethod (c$, "inside",
\r
214 var w = this.width;
\r
215 var h = this.height;
\r
220 if (X < x || Y < y) {
\r
224 return ((w < x || w > X) && (h < y || h > Y));
\r
226 Clazz.defineMethod (c$, "intersects",
\r
228 var tw = this.width;
\r
229 var th = this.height;
\r
232 if (rw <= 0 || rh <= 0 || tw <= 0 || th <= 0) {
\r
242 return ((rw < rx || rw > tx) && (rh < ry || rh > ty) && (tw < tx || tw > rx) && (th < ty || th > ry));
\r
243 }, "java.awt.Rectangle");
\r
244 Clazz.defineMethod (c$, "intersection",
\r
253 ty2 += this.height;
\r
258 if (tx1 < rx1) tx1 = rx1;
\r
259 if (ty1 < ry1) ty1 = ry1;
\r
260 if (tx2 > rx2) tx2 = rx2;
\r
261 if (ty2 > ry2) ty2 = ry2;
\r
264 if (tx2 < -2147483648) tx2 = -2147483648;
\r
265 if (ty2 < -2147483648) ty2 = -2147483648;
\r
266 return new java.awt.Rectangle (tx1, ty1, tx2, ty2);
\r
267 }, "java.awt.Rectangle");
\r
268 Clazz.defineMethod (c$, "union",
\r
270 var tx2 = this.width;
\r
271 var ty2 = this.height;
\r
272 if ((tx2 | ty2) < 0) {
\r
273 return new java.awt.Rectangle (r);
\r
274 }var rx2 = r.width;
\r
275 var ry2 = r.height;
\r
276 if ((rx2 | ry2) < 0) {
\r
277 return new java.awt.Rectangle (this);
\r
286 if (tx1 > rx1) tx1 = rx1;
\r
287 if (ty1 > ry1) ty1 = ry1;
\r
288 if (tx2 < rx2) tx2 = rx2;
\r
289 if (ty2 < ry2) ty2 = ry2;
\r
292 if (tx2 > 2147483647) tx2 = 2147483647;
\r
293 if (ty2 > 2147483647) ty2 = 2147483647;
\r
294 return new java.awt.Rectangle (tx1, ty1, tx2, ty2);
\r
295 }, "java.awt.Rectangle");
\r
296 Clazz.defineMethod (c$, "add",
\r
297 function (newx, newy) {
\r
298 if ((this.width | this.height) < 0) {
\r
301 this.width = this.height = 0;
\r
305 var x2 = this.width;
\r
306 var y2 = this.height;
\r
309 if (x1 > newx) x1 = newx;
\r
310 if (y1 > newy) y1 = newy;
\r
311 if (x2 < newx) x2 = newx;
\r
312 if (y2 < newy) y2 = newy;
\r
315 if (x2 > 2147483647) x2 = 2147483647;
\r
316 if (y2 > 2147483647) y2 = 2147483647;
\r
317 this.reshape (x1, y1, x2, y2);
\r
319 Clazz.defineMethod (c$, "add",
\r
321 this.add (pt.x, pt.y);
\r
322 }, "java.awt.Point");
\r
323 Clazz.defineMethod (c$, "add",
\r
325 var tx2 = this.width;
\r
326 var ty2 = this.height;
\r
327 if ((tx2 | ty2) < 0) {
\r
328 this.reshape (r.x, r.y, r.width, r.height);
\r
329 }var rx2 = r.width;
\r
330 var ry2 = r.height;
\r
331 if ((rx2 | ry2) < 0) {
\r
341 if (tx1 > rx1) tx1 = rx1;
\r
342 if (ty1 > ry1) ty1 = ry1;
\r
343 if (tx2 < rx2) tx2 = rx2;
\r
344 if (ty2 < ry2) ty2 = ry2;
\r
347 if (tx2 > 2147483647) tx2 = 2147483647;
\r
348 if (ty2 > 2147483647) ty2 = 2147483647;
\r
349 this.reshape (tx1, ty1, tx2, ty2);
\r
350 }, "java.awt.Rectangle");
\r
351 Clazz.defineMethod (c$, "grow",
\r
355 var x1 = this.width;
\r
356 var y1 = this.height;
\r
365 if (x1 < -2147483648) x1 = -2147483648;
\r
366 if (x0 < -2147483648) x0 = -2147483648;
\r
367 else if (x0 > 2147483647) x0 = 2147483647;
\r
369 if (x0 < -2147483648) x0 = -2147483648;
\r
370 else if (x0 > 2147483647) x0 = 2147483647;
\r
372 if (x1 < -2147483648) x1 = -2147483648;
\r
373 else if (x1 > 2147483647) x1 = 2147483647;
\r
376 if (y1 < -2147483648) y1 = -2147483648;
\r
377 if (y0 < -2147483648) y0 = -2147483648;
\r
378 else if (y0 > 2147483647) y0 = 2147483647;
\r
380 if (y0 < -2147483648) y0 = -2147483648;
\r
381 else if (y0 > 2147483647) y0 = 2147483647;
\r
383 if (y1 < -2147483648) y1 = -2147483648;
\r
384 else if (y1 > 2147483647) y1 = 2147483647;
\r
385 }this.reshape (x0, y0, x1, y1);
\r
387 Clazz.overrideMethod (c$, "isEmpty",
\r
389 return (this.width <= 0) || (this.height <= 0);
\r
391 Clazz.defineMethod (c$, "outcode",
\r
394 if (this.width <= 0) {
\r
396 } else if (x < this.x) {
\r
398 } else if (x > this.x + this.width) {
\r
400 }if (this.height <= 0) {
\r
402 } else if (y < this.y) {
\r
404 } else if (y > this.y + this.height) {
\r
408 Clazz.overrideMethod (c$, "createIntersection",
\r
410 if (Clazz.instanceOf (r, java.awt.Rectangle)) {
\r
411 return this.intersection (r);
\r
412 }var dest = new java.awt.geom.Rectangle2D.Double ();
\r
413 java.awt.geom.Rectangle2D.intersect (this, r, dest);
\r
415 }, "java.awt.geom.Rectangle2D");
\r
416 Clazz.overrideMethod (c$, "createUnion",
\r
418 if (Clazz.instanceOf (r, java.awt.Rectangle)) {
\r
419 return this.union (r);
\r
420 }var dest = new java.awt.geom.Rectangle2D.Double ();
\r
421 java.awt.geom.Rectangle2D.union (this, r, dest);
\r
423 }, "java.awt.geom.Rectangle2D");
\r
424 Clazz.defineMethod (c$, "equals",
\r
426 if (Clazz.instanceOf (obj, java.awt.Rectangle)) {
\r
428 return ((this.x == r.x) && (this.y == r.y) && (this.width == r.width) && (this.height == r.height));
\r
429 }return Clazz.superCall (this, java.awt.Rectangle, "equals", [obj]);
\r
431 Clazz.overrideMethod (c$, "toString",
\r
433 return this.getClass ().getName () + "[x=" + this.x + ",y=" + this.y + ",width=" + this.width + ",height=" + this.height + "]";
\r