home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / awt / geom / GeneralPathIterator.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.3 KB  |  60 lines

  1. package java.awt.geom;
  2.  
  3. class GeneralPathIterator implements PathIterator {
  4.    int typeIdx;
  5.    int pointIdx;
  6.    GeneralPath path;
  7.    AffineTransform affine;
  8.    private static final int[] curvesize = new int[]{2, 2, 4, 6, 0};
  9.  
  10.    GeneralPathIterator(GeneralPath var1) {
  11.       this(var1, (AffineTransform)null);
  12.    }
  13.  
  14.    GeneralPathIterator(GeneralPath var1, AffineTransform var2) {
  15.       this.typeIdx = 0;
  16.       this.pointIdx = 0;
  17.       this.path = var1;
  18.       this.affine = var2;
  19.    }
  20.  
  21.    public int getWindingRule() {
  22.       return this.path.getWindingRule();
  23.    }
  24.  
  25.    public boolean isDone() {
  26.       return this.typeIdx >= this.path.numTypes;
  27.    }
  28.  
  29.    public void next() {
  30.       byte var1 = this.path.pointTypes[this.typeIdx++];
  31.       this.pointIdx += curvesize[var1];
  32.    }
  33.  
  34.    public int currentSegment(float[] var1) {
  35.       byte var2 = this.path.pointTypes[this.typeIdx];
  36.       int var3 = curvesize[var2];
  37.       if (var3 > 0 && this.affine != null) {
  38.          this.affine.transform(this.path.pointCoords, this.pointIdx, var1, 0, var3 / 2);
  39.       } else {
  40.          System.arraycopy(this.path.pointCoords, this.pointIdx, var1, 0, var3);
  41.       }
  42.  
  43.       return var2;
  44.    }
  45.  
  46.    public int currentSegment(double[] var1) {
  47.       byte var2 = this.path.pointTypes[this.typeIdx];
  48.       int var3 = curvesize[var2];
  49.       if (var3 > 0 && this.affine != null) {
  50.          this.affine.transform(this.path.pointCoords, this.pointIdx, var1, 0, var3 / 2);
  51.       } else {
  52.          for(int var4 = 0; var4 < var3; ++var4) {
  53.             var1[var4] = (double)this.path.pointCoords[this.pointIdx + var4];
  54.          }
  55.       }
  56.  
  57.       return var2;
  58.    }
  59. }
  60.