home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 May / PCO_5_97.ISO / FilesBBS / OS2 / CSIME.ARJ / CSIME.ZIP / csime / Circle.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-02-09  |  2.5 KB  |  100 lines

  1. import java.awt.Graphics;
  2. import java.util.NoSuchElementException;
  3. import java.util.StringTokenizer;
  4.  
  5. public class Circle extends Area {
  6.    private static final int MINRADIUS = 5;
  7.    // $FF: renamed from: _x int
  8.    private int field_0;
  9.    // $FF: renamed from: _y int
  10.    private int field_1;
  11.    // $FF: renamed from: _r int
  12.    private int field_2;
  13.  
  14.    public Circle(int var1, int var2) {
  15.       this(var1, var2, 0);
  16.    }
  17.  
  18.    public Circle(int var1, int var2, int var3) {
  19.       this.field_0 = var1;
  20.       this.field_1 = var2;
  21.       this.field_2 = var3;
  22.    }
  23.  
  24.    public Circle(String var1) {
  25.       StringTokenizer var2 = new StringTokenizer(var1, ", \t\n\r");
  26.  
  27.       try {
  28.          this.field_0 = Integer.parseInt(var2.nextToken());
  29.          this.field_1 = Integer.parseInt(var2.nextToken());
  30.          this.field_2 = Integer.parseInt(var2.nextToken());
  31.       } catch (NoSuchElementException var3) {
  32.       } catch (NumberFormatException var4) {
  33.       }
  34.    }
  35.  
  36.    public void resize(int var1, int var2) {
  37.       this.field_2 = this.radius(var1, var2);
  38.    }
  39.  
  40.    public void translate(int var1, int var2) {
  41.       this.field_0 += var1;
  42.       this.field_1 += var2;
  43.    }
  44.  
  45.    public boolean isGrab(int var1, int var2) {
  46.       return ((Area)this).grabPoint(this.field_0, this.field_1 - this.field_2, var1, var2) || ((Area)this).grabPoint(this.field_0 + this.field_2, this.field_1, var1, var2) || ((Area)this).grabPoint(this.field_0, this.field_1 + this.field_2, var1, var2) || ((Area)this).grabPoint(this.field_0 - this.field_2, this.field_1, var1, var2);
  47.    }
  48.  
  49.    public boolean isSelect(int var1, int var2) {
  50.       return ((Area)this).grabPoint(this.field_2, 0, this.radius(var1, var2), 0);
  51.    }
  52.  
  53.    public boolean inside(int var1, int var2) {
  54.       return this.radius(var1, var2) <= this.field_2;
  55.    }
  56.  
  57.    public boolean isValid() {
  58.       return this.field_2 >= 5;
  59.    }
  60.  
  61.    public boolean isComplete() {
  62.       return this.isValid();
  63.    }
  64.  
  65.    public void advance() {
  66.    }
  67.  
  68.    public void draw(Graphics var1) {
  69.       if (this.isValid()) {
  70.          var1.drawOval(this.field_0 - this.field_2, this.field_1 - this.field_2, 2 * this.field_2, 2 * this.field_2);
  71.          if (super._selected) {
  72.             ((Area)this).drawPoint(var1, this.field_0, this.field_1 - this.field_2);
  73.             ((Area)this).drawPoint(var1, this.field_0 + this.field_2, this.field_1);
  74.             ((Area)this).drawPoint(var1, this.field_0, this.field_1 + this.field_2);
  75.             ((Area)this).drawPoint(var1, this.field_0 - this.field_2, this.field_1);
  76.             ((Area)this).drawCenter(var1, this.field_0, this.field_1);
  77.          }
  78.       }
  79.  
  80.    }
  81.  
  82.    public String getShape() {
  83.       return "CIRCLE";
  84.    }
  85.  
  86.    public String getCoords() {
  87.       return this.field_0 + "," + this.field_1 + "," + this.field_2;
  88.    }
  89.  
  90.    public synchronized Object clone() {
  91.       return new Circle(this.field_0, this.field_1, this.field_2);
  92.    }
  93.  
  94.    private int radius(int var1, int var2) {
  95.       int var3 = var1 - this.field_0;
  96.       int var4 = var2 - this.field_1;
  97.       return (int)Math.round(Math.sqrt((double)(var3 * var3 + var4 * var4)));
  98.    }
  99. }
  100.