home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Graphics;
- import java.util.NoSuchElementException;
- import java.util.StringTokenizer;
-
- public class Rect extends Area {
- private static final int MINWIDTH = 10;
- private static final int MINHEIGHT = 10;
- private static final int TOP = 1;
- private static final int BOTTOM = 2;
- private static final int LEFT = 4;
- private static final int RIGHT = 8;
- private int _x1;
- private int _y1;
- private int _x2;
- private int _y2;
- private int _grabIndex;
-
- public Rect(int var1, int var2) {
- this(var1, var2, var1, var2);
- }
-
- public Rect(int var1, int var2, int var3, int var4) {
- this._grabIndex = 10;
- this._x1 = var1;
- this._y1 = var2;
- this._x2 = var3;
- this._y2 = var4;
- }
-
- public Rect(String var1) {
- this._grabIndex = 10;
- StringTokenizer var2 = new StringTokenizer(var1, ", \t\n\r");
-
- try {
- this._x1 = Integer.parseInt(var2.nextToken());
- this._y1 = Integer.parseInt(var2.nextToken());
- this._x2 = Integer.parseInt(var2.nextToken());
- this._y2 = Integer.parseInt(var2.nextToken());
- } catch (NoSuchElementException var3) {
- } catch (NumberFormatException var4) {
- }
- }
-
- private Rect() {
- this._grabIndex = 10;
- }
-
- public void resize(int var1, int var2) {
- if ((this._grabIndex & 1) != 0) {
- this._y1 = var2;
- }
-
- if ((this._grabIndex & 2) != 0) {
- this._y2 = var2;
- }
-
- if ((this._grabIndex & 4) != 0) {
- this._x1 = var1;
- }
-
- if ((this._grabIndex & 8) != 0) {
- this._x2 = var1;
- }
-
- }
-
- public void translate(int var1, int var2) {
- this._x1 += var1;
- this._y1 += var2;
- this._x2 += var1;
- this._y2 += var2;
- }
-
- public boolean isGrab(int var1, int var2) {
- int var3 = (this._x1 + this._x2) / 2;
- int var4 = (this._y1 + this._y2) / 2;
- if (((Area)this).grabPoint(this._x1, this._y1, var1, var2)) {
- this._grabIndex = 5;
- } else if (((Area)this).grabPoint(var3, this._y1, var1, var2)) {
- this._grabIndex = 1;
- } else if (((Area)this).grabPoint(this._x2, this._y1, var1, var2)) {
- this._grabIndex = 9;
- } else if (((Area)this).grabPoint(this._x2, var4, var1, var2)) {
- this._grabIndex = 8;
- } else if (((Area)this).grabPoint(this._x2, this._y2, var1, var2)) {
- this._grabIndex = 10;
- } else if (((Area)this).grabPoint(var3, this._y2, var1, var2)) {
- this._grabIndex = 2;
- } else if (((Area)this).grabPoint(this._x1, this._y2, var1, var2)) {
- this._grabIndex = 6;
- } else {
- if (!((Area)this).grabPoint(this._x1, var4, var1, var2)) {
- return false;
- }
-
- this._grabIndex = 4;
- }
-
- return true;
- }
-
- public boolean isSelect(int var1, int var2) {
- return ((Area)this).grabLine(this._x1, this._y1, this._x2, this._y1, var1, var2) || ((Area)this).grabLine(this._x2, this._y1, this._x2, this._y2, var1, var2) || ((Area)this).grabLine(this._x2, this._y2, this._x1, this._y2, var1, var2) || ((Area)this).grabLine(this._x1, this._y2, this._x1, this._y1, var1, var2);
- }
-
- public boolean inside(int var1, int var2) {
- return (this._x1 <= var1 && var1 <= this._x2 || this._x2 <= var1 && var1 <= this._x1) && (this._y1 <= var2 && var2 <= this._y2 || this._y2 <= var2 && var2 <= this._y1);
- }
-
- public boolean isValid() {
- return Math.abs(this._x2 - this._x1) >= 10 || Math.abs(this._y2 - this._y1) >= 10;
- }
-
- public boolean isComplete() {
- return this.isValid();
- }
-
- public void advance() {
- }
-
- public void draw(Graphics var1) {
- if (this.isValid()) {
- int var2 = Math.min(this._x1, this._x2);
- int var3 = Math.min(this._y1, this._y2);
- int var4 = Math.abs(this._x2 - this._x1);
- int var5 = Math.abs(this._y2 - this._y1);
- var1.drawRect(var2, var3, var4, var5);
- if (super._selected) {
- int var6 = (this._x1 + this._x2) / 2;
- int var7 = (this._y1 + this._y2) / 2;
- ((Area)this).drawPoint(var1, this._x1, this._y1);
- ((Area)this).drawPoint(var1, var6, this._y1);
- ((Area)this).drawPoint(var1, this._x2, this._y1);
- ((Area)this).drawPoint(var1, this._x2, var7);
- ((Area)this).drawPoint(var1, this._x2, this._y2);
- ((Area)this).drawPoint(var1, var6, this._y2);
- ((Area)this).drawPoint(var1, this._x1, this._y2);
- ((Area)this).drawPoint(var1, this._x1, var7);
- ((Area)this).drawCenter(var1, var6, var7);
- }
- }
-
- }
-
- public String getShape() {
- return "RECT";
- }
-
- public String getCoords() {
- return Math.min(this._x1, this._x2) + "," + Math.min(this._y1, this._y2) + "," + Math.max(this._x1, this._x2) + "," + Math.max(this._y1, this._y2);
- }
-
- public synchronized Object clone() {
- return new Rect(this._x1, this._y1, this._x2, this._y2);
- }
- }
-