home *** CD-ROM | disk | FTP | other *** search
- package java.awt.geom;
-
- import java.awt.Shape;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.io.ObjectOutputStream;
- import java.io.Serializable;
-
- public class AffineTransform implements Cloneable, Serializable {
- public static final int TYPE_IDENTITY = 0;
- public static final int TYPE_TRANSLATION = 1;
- public static final int TYPE_UNIFORM_SCALE = 2;
- public static final int TYPE_GENERAL_SCALE = 4;
- public static final int TYPE_MASK_SCALE = 6;
- public static final int TYPE_FLIP = 64;
- public static final int TYPE_QUADRANT_ROTATION = 8;
- public static final int TYPE_GENERAL_ROTATION = 16;
- public static final int TYPE_MASK_ROTATION = 24;
- public static final int TYPE_GENERAL_TRANSFORM = 32;
- static final int APPLY_IDENTITY = 0;
- static final int APPLY_TRANSLATE = 1;
- static final int APPLY_SCALE = 2;
- static final int APPLY_SHEAR = 4;
- private static final int HI_SHIFT = 3;
- private static final int HI_IDENTITY = 0;
- private static final int HI_TRANSLATE = 8;
- private static final int HI_SCALE = 16;
- private static final int HI_SHEAR = 32;
- double m00;
- double m10;
- double m01;
- double m11;
- double m02;
- double m12;
- transient int state;
- private static int[] rot90conversion = new int[]{4, 5, 4, 5, 2, 3, 6, 7};
-
- private AffineTransform(double var1, double var3, double var5, double var7, double var9, double var11, int var13) {
- this.m00 = var1;
- this.m10 = var3;
- this.m01 = var5;
- this.m11 = var7;
- this.m02 = var9;
- this.m12 = var11;
- this.state = var13;
- }
-
- public AffineTransform() {
- this.m00 = this.m11 = (double)1.0F;
- }
-
- public AffineTransform(AffineTransform var1) {
- this.m00 = var1.m00;
- this.m10 = var1.m10;
- this.m01 = var1.m01;
- this.m11 = var1.m11;
- this.m02 = var1.m02;
- this.m12 = var1.m12;
- this.state = var1.state;
- }
-
- public AffineTransform(float var1, float var2, float var3, float var4, float var5, float var6) {
- this.m00 = (double)var1;
- this.m10 = (double)var2;
- this.m01 = (double)var3;
- this.m11 = (double)var4;
- this.m02 = (double)var5;
- this.m12 = (double)var6;
- this.updateState();
- }
-
- public AffineTransform(float[] var1) {
- this.m00 = (double)var1[0];
- this.m10 = (double)var1[1];
- this.m01 = (double)var1[2];
- this.m11 = (double)var1[3];
- if (var1.length > 5) {
- this.m02 = (double)var1[4];
- this.m12 = (double)var1[5];
- }
-
- this.updateState();
- }
-
- public AffineTransform(double var1, double var3, double var5, double var7, double var9, double var11) {
- this.m00 = var1;
- this.m10 = var3;
- this.m01 = var5;
- this.m11 = var7;
- this.m02 = var9;
- this.m12 = var11;
- this.updateState();
- }
-
- public AffineTransform(double[] var1) {
- this.m00 = var1[0];
- this.m10 = var1[1];
- this.m01 = var1[2];
- this.m11 = var1[3];
- if (var1.length > 5) {
- this.m02 = var1[4];
- this.m12 = var1[5];
- }
-
- this.updateState();
- }
-
- public static AffineTransform getTranslateInstance(double var0, double var2) {
- AffineTransform var4 = new AffineTransform();
- var4.setToTranslation(var0, var2);
- return var4;
- }
-
- public static AffineTransform getRotateInstance(double var0) {
- AffineTransform var2 = new AffineTransform();
- var2.setToRotation(var0);
- return var2;
- }
-
- public static AffineTransform getRotateInstance(double var0, double var2, double var4) {
- AffineTransform var6 = new AffineTransform();
- var6.setToRotation(var0, var2, var4);
- return var6;
- }
-
- public static AffineTransform getScaleInstance(double var0, double var2) {
- AffineTransform var4 = new AffineTransform();
- var4.setToScale(var0, var2);
- return var4;
- }
-
- public static AffineTransform getShearInstance(double var0, double var2) {
- AffineTransform var4 = new AffineTransform();
- var4.setToShear(var0, var2);
- return var4;
- }
-
- public int getType() {
- int var1 = 0;
- switch (this.state) {
- case 0:
- break;
- case 1:
- var1 = 1;
- break;
- case 3:
- var1 = 1;
- case 2:
- double var16;
- boolean var12 = (var16 = this.m00) >= (double)0.0F;
- double var18;
- boolean var14 = (var18 = this.m11) >= (double)0.0F;
- if (var12 == var14) {
- if (var12) {
- if (var16 == var18) {
- var1 |= 2;
- } else {
- var1 |= 4;
- }
- } else if (var16 == var18) {
- var1 |= 10;
- } else {
- var1 |= 12;
- }
- } else if (var16 == -var18) {
- if (var16 != (double)1.0F && var16 != (double)-1.0F) {
- var1 |= 66;
- } else {
- var1 |= 64;
- }
- } else {
- var1 |= 68;
- }
- break;
- case 5:
- var1 = 1;
- case 4:
- double var4;
- boolean var2 = (var4 = this.m01) >= (double)0.0F;
- double var6;
- boolean var3 = (var6 = this.m10) >= (double)0.0F;
- if (var2 != var3) {
- if (var4 == -var6) {
- var1 |= 10;
- } else {
- var1 |= 12;
- }
- } else if (var4 == var6) {
- var1 |= 74;
- } else {
- var1 |= 76;
- }
- break;
- default:
- this.stateError();
- case 7:
- var1 = 1;
- case 6:
- double var8;
- double var10;
- double var17;
- double var19;
- if ((var17 = this.m00) * (var8 = this.m01) + (var10 = this.m10) * (var19 = this.m11) != (double)0.0F) {
- return 32;
- }
-
- boolean var13 = var17 >= (double)0.0F;
- boolean var15 = var19 >= (double)0.0F;
- if (var13 == var15) {
- if (var17 == var19 && var8 == -var10) {
- if (var17 * var19 - var8 * var10 != (double)1.0F) {
- var1 |= 18;
- } else {
- var1 |= 16;
- }
- } else {
- var1 |= 20;
- }
- } else if (var17 == -var19 && var8 == var10) {
- if (var17 * var19 - var8 * var10 != (double)1.0F) {
- var1 |= 82;
- } else {
- var1 |= 80;
- }
- } else {
- var1 |= 84;
- }
- }
-
- return var1;
- }
-
- public double getDeterminant() {
- switch (this.state) {
- case 0:
- case 1:
- return (double)1.0F;
- case 2:
- case 3:
- return this.m00 * this.m11;
- case 4:
- case 5:
- return -(this.m01 * this.m10);
- default:
- this.stateError();
- case 6:
- case 7:
- return this.m00 * this.m11 - this.m01 * this.m10;
- }
- }
-
- void updateState() {
- if (this.m01 == (double)0.0F && this.m10 == (double)0.0F) {
- if (this.m00 == (double)1.0F && this.m11 == (double)1.0F) {
- if (this.m02 == (double)0.0F && this.m12 == (double)0.0F) {
- this.state = 0;
- } else {
- this.state = 1;
- }
- } else if (this.m02 == (double)0.0F && this.m12 == (double)0.0F) {
- this.state = 2;
- } else {
- this.state = 3;
- }
- } else if (this.m00 == (double)0.0F && this.m11 == (double)0.0F) {
- if (this.m02 == (double)0.0F && this.m12 == (double)0.0F) {
- this.state = 4;
- } else {
- this.state = 5;
- }
- } else if (this.m02 == (double)0.0F && this.m12 == (double)0.0F) {
- this.state = 6;
- } else {
- this.state = 7;
- }
-
- }
-
- private void stateError() {
- throw new InternalError("missing case in transform state switch");
- }
-
- public void getMatrix(double[] var1) {
- var1[0] = this.m00;
- var1[1] = this.m10;
- var1[2] = this.m01;
- var1[3] = this.m11;
- if (var1.length > 5) {
- var1[4] = this.m02;
- var1[5] = this.m12;
- }
-
- }
-
- public double getScaleX() {
- return this.m00;
- }
-
- public double getScaleY() {
- return this.m11;
- }
-
- public double getShearX() {
- return this.m01;
- }
-
- public double getShearY() {
- return this.m10;
- }
-
- public double getTranslateX() {
- return this.m02;
- }
-
- public double getTranslateY() {
- return this.m12;
- }
-
- public void translate(double var1, double var3) {
- switch (this.state) {
- case 0:
- this.m02 = var1;
- this.m12 = var3;
- this.state = 1;
- return;
- case 1:
- this.m02 += var1;
- this.m12 += var3;
- return;
- case 2:
- this.m02 = var1 * this.m00;
- this.m12 = var3 * this.m11;
- this.state = 3;
- return;
- case 3:
- this.m02 += var1 * this.m00;
- this.m12 += var3 * this.m11;
- return;
- case 4:
- this.m02 = var3 * this.m01;
- this.m12 = var1 * this.m10;
- this.state = 5;
- return;
- case 5:
- this.m02 += var3 * this.m01;
- this.m12 += var1 * this.m10;
- return;
- case 6:
- this.m02 = var1 * this.m00 + var3 * this.m01;
- this.m12 = var1 * this.m10 + var3 * this.m11;
- this.state = 7;
- return;
- default:
- this.stateError();
- case 7:
- this.m02 += var1 * this.m00 + var3 * this.m01;
- this.m12 += var1 * this.m10 + var3 * this.m11;
- }
- }
-
- public void rotate(double var1) {
- double var3 = Math.sin(var1);
- double var5 = Math.cos(var1);
- if (!(Math.abs(var3) < 1.0E-15)) {
- if (Math.abs(var5) < 1.0E-15) {
- if (var3 < (double)0.0F) {
- double var13 = this.m00;
- this.m00 = -this.m01;
- this.m01 = var13;
- var13 = this.m10;
- this.m10 = -this.m11;
- this.m11 = var13;
- } else {
- double var15 = this.m00;
- this.m00 = this.m01;
- this.m01 = -var15;
- var15 = this.m10;
- this.m10 = this.m11;
- this.m11 = -var15;
- }
-
- this.state = rot90conversion[this.state];
- } else {
- double var11 = this.m00;
- double var9 = this.m01;
- this.m00 = var5 * var11 + var3 * var9;
- this.m01 = -var3 * var11 + var5 * var9;
- var11 = this.m10;
- var9 = this.m11;
- this.m10 = var5 * var11 + var3 * var9;
- this.m11 = -var3 * var11 + var5 * var9;
- this.updateState();
- }
- } else {
- if (var5 < (double)0.0F) {
- this.m00 = -this.m00;
- this.m11 = -this.m11;
- int var7 = this.state;
- if ((var7 & 4) != 0) {
- this.m01 = -this.m01;
- this.m10 = -this.m10;
- } else if (this.m00 == (double)1.0F && this.m11 == (double)1.0F) {
- this.state = var7 & -3;
- } else {
- this.state = var7 | 2;
- }
- }
-
- }
- }
-
- public void rotate(double var1, double var3, double var5) {
- this.translate(var3, var5);
- this.rotate(var1);
- this.translate(-var3, -var5);
- }
-
- public void scale(double var1, double var3) {
- int var5 = this.state;
- switch (var5) {
- case 0:
- case 1:
- this.m00 = var1;
- this.m11 = var3;
- this.state = var5 | 2;
- return;
- case 2:
- case 3:
- this.m00 *= var1;
- this.m11 *= var3;
- return;
- default:
- this.stateError();
- case 6:
- case 7:
- this.m00 *= var1;
- this.m11 *= var3;
- case 4:
- case 5:
- this.m01 *= var3;
- this.m10 *= var1;
- }
- }
-
- public void shear(double var1, double var3) {
- int var5 = this.state;
- switch (var5) {
- case 0:
- case 1:
- this.m01 = var1;
- this.m10 = var3;
- this.state = var5 | 2 | 4;
- return;
- case 2:
- case 3:
- this.m01 = this.m00 * var1;
- this.m10 = this.m11 * var3;
- this.state = var5 | 4;
- return;
- case 4:
- case 5:
- this.m00 = this.m01 * var3;
- this.m11 = this.m10 * var1;
- this.state = var5 | 2;
- return;
- default:
- this.stateError();
- case 6:
- case 7:
- double var6 = this.m00;
- double var8 = this.m01;
- this.m00 = var6 + var8 * var3;
- this.m01 = var6 * var1 + var8;
- var6 = this.m10;
- var8 = this.m11;
- this.m10 = var6 + var8 * var3;
- this.m11 = var6 * var1 + var8;
- }
- }
-
- public void setToIdentity() {
- this.m00 = this.m11 = (double)1.0F;
- this.m10 = this.m01 = this.m02 = this.m12 = (double)0.0F;
- this.state = 0;
- }
-
- public void setToTranslation(double var1, double var3) {
- this.m00 = (double)1.0F;
- this.m10 = (double)0.0F;
- this.m01 = (double)0.0F;
- this.m11 = (double)1.0F;
- this.m02 = var1;
- this.m12 = var3;
- this.state = 1;
- }
-
- public void setToRotation(double var1) {
- this.m02 = (double)0.0F;
- this.m12 = (double)0.0F;
- double var3 = Math.sin(var1);
- double var5 = Math.cos(var1);
- if (Math.abs(var3) < 1.0E-15) {
- this.m01 = this.m10 = (double)0.0F;
- if (var5 < (double)0.0F) {
- this.m00 = this.m11 = (double)-1.0F;
- this.state = 2;
- } else {
- this.m00 = this.m11 = (double)1.0F;
- this.state = 0;
- }
-
- } else if (Math.abs(var5) < 1.0E-15) {
- this.m00 = this.m11 = (double)0.0F;
- if (var3 < (double)0.0F) {
- this.m01 = (double)1.0F;
- this.m10 = (double)-1.0F;
- } else {
- this.m01 = (double)-1.0F;
- this.m10 = (double)1.0F;
- }
-
- this.state = 4;
- } else {
- this.m00 = var5;
- this.m01 = -var3;
- this.m10 = var3;
- this.m11 = var5;
- this.state = 6;
- }
- }
-
- public void setToRotation(double var1, double var3, double var5) {
- this.setToRotation(var1);
- double var7 = this.m10;
- double var9 = (double)1.0F - this.m00;
- this.m02 = var3 * var9 + var5 * var7;
- this.m12 = var5 * var9 - var3 * var7;
- this.state |= 1;
- }
-
- public void setToScale(double var1, double var3) {
- this.m00 = var1;
- this.m10 = (double)0.0F;
- this.m01 = (double)0.0F;
- this.m11 = var3;
- this.m02 = (double)0.0F;
- this.m12 = (double)0.0F;
- this.state = 2;
- }
-
- public void setToShear(double var1, double var3) {
- this.m00 = (double)1.0F;
- this.m01 = var1;
- this.m10 = var3;
- this.m11 = (double)1.0F;
- this.m02 = (double)0.0F;
- this.m12 = (double)0.0F;
- this.state = 6;
- }
-
- public void setTransform(AffineTransform var1) {
- this.m00 = var1.m00;
- this.m10 = var1.m10;
- this.m01 = var1.m01;
- this.m11 = var1.m11;
- this.m02 = var1.m02;
- this.m12 = var1.m12;
- this.state = var1.state;
- }
-
- public void setTransform(double var1, double var3, double var5, double var7, double var9, double var11) {
- this.m00 = var1;
- this.m10 = var3;
- this.m01 = var5;
- this.m11 = var7;
- this.m02 = var9;
- this.m12 = var11;
- this.updateState();
- }
-
- public void concatenate(AffineTransform var1) {
- int var18 = this.state;
- int var19 = var1.state;
- switch (var19 << 3 | var18) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- return;
- case 9:
- this.m02 += var1.m02;
- this.m12 += var1.m12;
- return;
- case 10:
- this.m02 = var1.m02 * this.m00;
- this.m12 = var1.m12 * this.m11;
- this.state = 3;
- return;
- case 11:
- this.m02 += var1.m02 * this.m00;
- this.m12 += var1.m12 * this.m11;
- return;
- case 12:
- this.m02 = var1.m12 * this.m01;
- this.m12 = var1.m02 * this.m10;
- this.state = 5;
- return;
- case 13:
- this.m02 += var1.m12 * this.m01;
- this.m12 += var1.m02 * this.m10;
- return;
- case 14:
- double var32 = var1.m02;
- double var34 = var1.m12;
- this.m02 = var32 * this.m00 + var34 * this.m01;
- this.m12 = var32 * this.m10 + var34 * this.m11;
- this.state = 7;
- return;
- case 15:
- double var14 = var1.m02;
- double var16 = var1.m12;
- this.m02 += var14 * this.m00 + var16 * this.m01;
- this.m12 += var14 * this.m10 + var16 * this.m11;
- return;
- case 17:
- this.m00 = var1.m00;
- this.m11 = var1.m11;
- this.state = 3;
- return;
- case 18:
- case 19:
- this.m00 *= var1.m00;
- this.m11 *= var1.m11;
- return;
- case 20:
- case 21:
- this.m01 *= var1.m11;
- this.m10 *= var1.m00;
- return;
- case 22:
- case 23:
- double var6 = var1.m00;
- double var12 = var1.m11;
- this.m00 *= var6;
- this.m11 *= var12;
- this.m01 *= var12;
- this.m10 *= var6;
- return;
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- case 41:
- case 42:
- case 43:
- case 44:
- case 45:
- case 46:
- case 47:
- case 49:
- case 50:
- case 51:
- case 52:
- case 53:
- case 54:
- case 55:
- default:
- double var28 = var1.m00;
- double var29 = var1.m01;
- double var33 = var1.m02;
- double var30 = var1.m10;
- double var31 = var1.m11;
- double var35 = var1.m12;
- switch (var18) {
- case 1:
- this.m00 = var28;
- this.m01 = var29;
- this.m02 += var33;
- this.m10 = var30;
- this.m11 = var31;
- this.m12 += var35;
- this.state = var19 | 1;
- return;
- case 2:
- case 3:
- double var23 = this.m00;
- this.m00 = var28 * var23;
- this.m01 = var29 * var23;
- this.m02 += var33 * var23;
- var23 = this.m11;
- this.m10 = var30 * var23;
- this.m11 = var31 * var23;
- this.m12 += var35 * var23;
- break;
- case 4:
- case 5:
- double var21 = this.m01;
- this.m00 = var30 * var21;
- this.m01 = var31 * var21;
- this.m02 += var35 * var21;
- var21 = this.m10;
- this.m10 = var28 * var21;
- this.m11 = var29 * var21;
- this.m12 += var33 * var21;
- break;
- default:
- this.stateError();
- case 6:
- this.state = var18 | var19;
- case 7:
- double var25 = this.m00;
- double var4 = this.m01;
- this.m00 = var28 * var25 + var30 * var4;
- this.m01 = var29 * var25 + var31 * var4;
- this.m02 += var33 * var25 + var35 * var4;
- var25 = this.m10;
- var4 = this.m11;
- this.m10 = var28 * var25 + var30 * var4;
- this.m11 = var29 * var25 + var31 * var4;
- this.m12 += var33 * var25 + var35 * var4;
- return;
- }
-
- this.updateState();
- return;
- case 33:
- this.m00 = (double)0.0F;
- this.m01 = var1.m01;
- this.m10 = var1.m10;
- this.m11 = (double)0.0F;
- this.state = 5;
- return;
- case 34:
- case 35:
- this.m01 = this.m00 * var1.m01;
- this.m00 = (double)0.0F;
- this.m10 = this.m11 * var1.m10;
- this.m11 = (double)0.0F;
- this.state = var18 ^ 6;
- return;
- case 36:
- case 37:
- this.m00 = this.m01 * var1.m10;
- this.m01 = (double)0.0F;
- this.m11 = this.m10 * var1.m01;
- this.m10 = (double)0.0F;
- this.state = var18 ^ 6;
- return;
- case 38:
- case 39:
- double var8 = var1.m01;
- double var10 = var1.m10;
- double var2 = this.m00;
- this.m00 = this.m01 * var10;
- this.m01 = var2 * var8;
- var2 = this.m10;
- this.m10 = this.m11 * var10;
- this.m11 = var2 * var8;
- return;
- case 40:
- this.m02 = var1.m02;
- this.m12 = var1.m12;
- case 32:
- this.m01 = var1.m01;
- this.m10 = var1.m10;
- this.m00 = this.m11 = (double)0.0F;
- this.state = var19;
- return;
- case 48:
- this.m01 = var1.m01;
- this.m10 = var1.m10;
- case 16:
- this.m00 = var1.m00;
- this.m11 = var1.m11;
- this.state = var19;
- return;
- case 56:
- this.m01 = var1.m01;
- this.m10 = var1.m10;
- case 24:
- this.m00 = var1.m00;
- this.m11 = var1.m11;
- case 8:
- this.m02 = var1.m02;
- this.m12 = var1.m12;
- this.state = var19;
- }
- }
-
- public void preConcatenate(AffineTransform var1) {
- int var18 = this.state;
- int var19 = var1.state;
- switch (var19 << 3 | var18) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- return;
- case 8:
- case 10:
- case 12:
- case 14:
- this.m02 = var1.m02;
- this.m12 = var1.m12;
- this.state = var18 | 1;
- return;
- case 9:
- case 11:
- case 13:
- case 15:
- this.m02 += var1.m02;
- this.m12 += var1.m12;
- return;
- case 16:
- case 17:
- this.state = var18 | 2;
- case 18:
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- double var6 = var1.m00;
- double var12 = var1.m11;
- if ((var18 & 4) != 0) {
- this.m01 *= var6;
- this.m10 *= var12;
- if ((var18 & 2) != 0) {
- this.m00 *= var6;
- this.m11 *= var12;
- }
- } else {
- this.m00 *= var6;
- this.m11 *= var12;
- }
-
- if ((var18 & 1) != 0) {
- this.m02 *= var6;
- this.m12 *= var12;
- }
-
- return;
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- default:
- double var37 = var1.m00;
- double var38 = var1.m01;
- double var14 = var1.m02;
- double var39 = var1.m10;
- double var40 = var1.m11;
- double var16 = var1.m12;
- switch (var18) {
- case 1:
- double var28 = this.m02;
- double var33 = this.m12;
- var14 += var28 * var37 + var33 * var38;
- var16 += var28 * var39 + var33 * var40;
- case 0:
- this.m02 = var14;
- this.m12 = var16;
- this.m00 = var37;
- this.m10 = var39;
- this.m01 = var38;
- this.m11 = var40;
- this.state = var18 | var19;
- return;
- case 3:
- double var25 = this.m02;
- double var32 = this.m12;
- var14 += var25 * var37 + var32 * var38;
- var16 += var25 * var39 + var32 * var40;
- case 2:
- this.m02 = var14;
- this.m12 = var16;
- double var26 = this.m00;
- this.m00 = var26 * var37;
- this.m10 = var26 * var39;
- var26 = this.m11;
- this.m01 = var26 * var38;
- this.m11 = var26 * var40;
- break;
- case 5:
- double var22 = this.m02;
- double var4 = this.m12;
- var14 += var22 * var37 + var4 * var38;
- var16 += var22 * var39 + var4 * var40;
- case 4:
- this.m02 = var14;
- this.m12 = var16;
- double var23 = this.m10;
- this.m00 = var23 * var38;
- this.m10 = var23 * var40;
- var23 = this.m01;
- this.m01 = var23 * var37;
- this.m11 = var23 * var39;
- break;
- default:
- this.stateError();
- case 7:
- double var29 = this.m02;
- double var34 = this.m12;
- var14 += var29 * var37 + var34 * var38;
- var16 += var29 * var39 + var34 * var40;
- case 6:
- this.m02 = var14;
- this.m12 = var16;
- double var30 = this.m00;
- double var35 = this.m10;
- this.m00 = var30 * var37 + var35 * var38;
- this.m10 = var30 * var39 + var35 * var40;
- var30 = this.m01;
- var35 = this.m11;
- this.m01 = var30 * var37 + var35 * var38;
- this.m11 = var30 * var39 + var35 * var40;
- }
-
- this.updateState();
- return;
- case 36:
- case 37:
- var18 |= 2;
- case 32:
- case 33:
- case 34:
- case 35:
- this.state = var18 ^ 4;
- case 38:
- case 39:
- double var8 = var1.m01;
- double var10 = var1.m10;
- double var2 = this.m00;
- this.m00 = this.m10 * var8;
- this.m10 = var2 * var10;
- var2 = this.m01;
- this.m01 = this.m11 * var8;
- this.m11 = var2 * var10;
- var2 = this.m02;
- this.m02 = this.m12 * var8;
- this.m12 = var2 * var10;
- }
- }
-
- public AffineTransform createInverse() throws NoninvertibleTransformException {
- switch (this.state) {
- case 0:
- return new AffineTransform();
- case 1:
- return new AffineTransform((double)1.0F, (double)0.0F, (double)0.0F, (double)1.0F, -this.m02, -this.m12, 1);
- case 2:
- if (this.m00 != (double)0.0F && this.m11 != (double)0.0F) {
- return new AffineTransform((double)1.0F / this.m00, (double)0.0F, (double)0.0F, (double)1.0F / this.m11, (double)0.0F, (double)0.0F, 2);
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 3:
- if (this.m00 != (double)0.0F && this.m11 != (double)0.0F) {
- return new AffineTransform((double)1.0F / this.m00, (double)0.0F, (double)0.0F, (double)1.0F / this.m11, -this.m02 / this.m00, -this.m12 / this.m11, 3);
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 4:
- if (this.m01 != (double)0.0F && this.m10 != (double)0.0F) {
- return new AffineTransform((double)0.0F, (double)1.0F / this.m01, (double)1.0F / this.m10, (double)0.0F, (double)0.0F, (double)0.0F, 4);
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 5:
- if (this.m01 != (double)0.0F && this.m10 != (double)0.0F) {
- return new AffineTransform((double)0.0F, (double)1.0F / this.m01, (double)1.0F / this.m10, (double)0.0F, -this.m12 / this.m10, -this.m02 / this.m01, 5);
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 6:
- double var1 = this.m00 * this.m11 - this.m01 * this.m10;
- if (Math.abs(var1) <= Double.MIN_VALUE) {
- throw new NoninvertibleTransformException("Determinant is " + var1);
- }
-
- return new AffineTransform(this.m11 / var1, -this.m10 / var1, -this.m01 / var1, this.m00 / var1, (double)0.0F, (double)0.0F, 6);
- default:
- this.stateError();
- case 7:
- double var3 = this.m00 * this.m11 - this.m01 * this.m10;
- if (Math.abs(var3) <= Double.MIN_VALUE) {
- throw new NoninvertibleTransformException("Determinant is " + var3);
- } else {
- return new AffineTransform(this.m11 / var3, -this.m10 / var3, -this.m01 / var3, this.m00 / var3, (this.m01 * this.m12 - this.m11 * this.m02) / var3, (this.m10 * this.m02 - this.m00 * this.m12) / var3, 7);
- }
- }
- }
-
- public Point2D transform(Point2D var1, Point2D var2) {
- if (var2 == null) {
- if (var1 instanceof Point2D.Double) {
- var2 = new Point2D.Double();
- } else {
- var2 = new Point2D.Float();
- }
- }
-
- double var3 = var1.getX();
- double var5 = var1.getY();
- switch (this.state) {
- case 0:
- ((Point2D)var2).setLocation(var3, var5);
- return (Point2D)var2;
- case 1:
- ((Point2D)var2).setLocation(var3 + this.m02, var5 + this.m12);
- return (Point2D)var2;
- case 2:
- ((Point2D)var2).setLocation(var3 * this.m00, var5 * this.m11);
- return (Point2D)var2;
- case 3:
- ((Point2D)var2).setLocation(var3 * this.m00 + this.m02, var5 * this.m11 + this.m12);
- return (Point2D)var2;
- case 4:
- ((Point2D)var2).setLocation(var5 * this.m01, var3 * this.m10);
- return (Point2D)var2;
- case 5:
- ((Point2D)var2).setLocation(var5 * this.m01 + this.m02, var3 * this.m10 + this.m12);
- return (Point2D)var2;
- case 6:
- ((Point2D)var2).setLocation(var3 * this.m00 + var5 * this.m01, var3 * this.m10 + var5 * this.m11);
- return (Point2D)var2;
- default:
- this.stateError();
- case 7:
- ((Point2D)var2).setLocation(var3 * this.m00 + var5 * this.m01 + this.m02, var3 * this.m10 + var5 * this.m11 + this.m12);
- return (Point2D)var2;
- }
- }
-
- public void transform(Point2D[] var1, int var2, Point2D[] var3, int var4, int var5) {
- int var6 = this.state;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- Point2D var7 = var1[var2++];
- double var8 = var7.getX();
- double var10 = var7.getY();
- Object var12 = var3[var4++];
- if (var12 == null) {
- if (var7 instanceof Point2D.Double) {
- var12 = new Point2D.Double();
- } else {
- var12 = new Point2D.Float();
- }
-
- var3[var4 - 1] = (Point2D)var12;
- }
-
- switch (var6) {
- case 0:
- ((Point2D)var12).setLocation(var8, var10);
- break;
- case 1:
- ((Point2D)var12).setLocation(var8 + this.m02, var10 + this.m12);
- break;
- case 2:
- ((Point2D)var12).setLocation(var8 * this.m00, var10 * this.m11);
- break;
- case 3:
- ((Point2D)var12).setLocation(var8 * this.m00 + this.m02, var10 * this.m11 + this.m12);
- break;
- case 4:
- ((Point2D)var12).setLocation(var10 * this.m01, var8 * this.m10);
- break;
- case 5:
- ((Point2D)var12).setLocation(var10 * this.m01 + this.m02, var8 * this.m10 + this.m12);
- break;
- case 6:
- ((Point2D)var12).setLocation(var8 * this.m00 + var10 * this.m01, var8 * this.m10 + var10 * this.m11);
- break;
- default:
- this.stateError();
- case 7:
- ((Point2D)var12).setLocation(var8 * this.m00 + var10 * this.m01 + this.m02, var8 * this.m10 + var10 * this.m11 + this.m12);
- }
- }
- }
-
- public void transform(float[] var1, int var2, float[] var3, int var4, int var5) {
- if (var3 == var1 && var4 > var2 && var4 < var2 + var5 * 2) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- var2 = var4;
- }
-
- switch (this.state) {
- case 0:
- if (var1 != var3 || var2 != var4) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- }
-
- return;
- case 1:
- double var43 = this.m02;
- double var52 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)((double)var1[var2++] + var43);
- var3[var4++] = (float)((double)var1[var2++] + var52);
- }
- case 2:
- double var37 = this.m00;
- double var49 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)(var37 * (double)var1[var2++]);
- var3[var4++] = (float)(var49 * (double)var1[var2++]);
- }
- case 3:
- double var36 = this.m00;
- double var42 = this.m02;
- double var48 = this.m11;
- double var51 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)(var36 * (double)var1[var2++] + var42);
- var3[var4++] = (float)(var48 * (double)var1[var2++] + var51);
- }
- case 4:
- double var40 = this.m01;
- double var46 = this.m10;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var55 = (double)var1[var2++];
- var3[var4++] = (float)(var40 * (double)var1[var2++]);
- var3[var4++] = (float)(var46 * var55);
- }
- case 5:
- double var39 = this.m01;
- double var10 = this.m02;
- double var45 = this.m10;
- double var16 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var54 = (double)var1[var2++];
- var3[var4++] = (float)(var39 * (double)var1[var2++] + var10);
- var3[var4++] = (float)(var45 * var54 + var16);
- }
- case 6:
- double var6 = this.m00;
- double var8 = this.m01;
- double var12 = this.m10;
- double var14 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var18 = (double)var1[var2++];
- double var20 = (double)var1[var2++];
- var3[var4++] = (float)(var6 * var18 + var8 * var20);
- var3[var4++] = (float)(var12 * var18 + var14 * var20);
- }
- default:
- this.stateError();
- case 7:
- double var38 = this.m00;
- double var41 = this.m01;
- double var44 = this.m02;
- double var47 = this.m10;
- double var50 = this.m11;
- double var53 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var56 = (double)var1[var2++];
- double var57 = (double)var1[var2++];
- var3[var4++] = (float)(var38 * var56 + var41 * var57 + var44);
- var3[var4++] = (float)(var47 * var56 + var50 * var57 + var53);
- }
- }
- }
-
- public void transform(double[] var1, int var2, double[] var3, int var4, int var5) {
- if (var3 == var1 && var4 > var2 && var4 < var2 + var5 * 2) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- var2 = var4;
- }
-
- switch (this.state) {
- case 0:
- if (var1 != var3 || var2 != var4) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- }
-
- return;
- case 1:
- double var43 = this.m02;
- double var52 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var1[var2++] + var43;
- var3[var4++] = var1[var2++] + var52;
- }
- case 2:
- double var37 = this.m00;
- double var49 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var37 * var1[var2++];
- var3[var4++] = var49 * var1[var2++];
- }
- case 3:
- double var36 = this.m00;
- double var42 = this.m02;
- double var48 = this.m11;
- double var51 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var36 * var1[var2++] + var42;
- var3[var4++] = var48 * var1[var2++] + var51;
- }
- case 4:
- double var40 = this.m01;
- double var46 = this.m10;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var55 = var1[var2++];
- var3[var4++] = var40 * var1[var2++];
- var3[var4++] = var46 * var55;
- }
- case 5:
- double var39 = this.m01;
- double var10 = this.m02;
- double var45 = this.m10;
- double var16 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var54 = var1[var2++];
- var3[var4++] = var39 * var1[var2++] + var10;
- var3[var4++] = var45 * var54 + var16;
- }
- case 6:
- double var6 = this.m00;
- double var8 = this.m01;
- double var12 = this.m10;
- double var14 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var18 = var1[var2++];
- double var20 = var1[var2++];
- var3[var4++] = var6 * var18 + var8 * var20;
- var3[var4++] = var12 * var18 + var14 * var20;
- }
- default:
- this.stateError();
- case 7:
- double var38 = this.m00;
- double var41 = this.m01;
- double var44 = this.m02;
- double var47 = this.m10;
- double var50 = this.m11;
- double var53 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var56 = var1[var2++];
- double var57 = var1[var2++];
- var3[var4++] = var38 * var56 + var41 * var57 + var44;
- var3[var4++] = var47 * var56 + var50 * var57 + var53;
- }
- }
- }
-
- public void transform(float[] var1, int var2, double[] var3, int var4, int var5) {
- switch (this.state) {
- case 0:
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (double)var1[var2++];
- var3[var4++] = (double)var1[var2++];
- }
- case 1:
- double var45 = this.m02;
- double var54 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (double)var1[var2++] + var45;
- var3[var4++] = (double)var1[var2++] + var54;
- }
- case 2:
- double var39 = this.m00;
- double var51 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var39 * (double)var1[var2++];
- var3[var4++] = var51 * (double)var1[var2++];
- }
- case 3:
- double var38 = this.m00;
- double var44 = this.m02;
- double var50 = this.m11;
- double var53 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var38 * (double)var1[var2++] + var44;
- var3[var4++] = var50 * (double)var1[var2++] + var53;
- }
- case 4:
- double var42 = this.m01;
- double var48 = this.m10;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var57 = (double)var1[var2++];
- var3[var4++] = var42 * (double)var1[var2++];
- var3[var4++] = var48 * var57;
- }
- case 5:
- double var41 = this.m01;
- double var10 = this.m02;
- double var47 = this.m10;
- double var16 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var56 = (double)var1[var2++];
- var3[var4++] = var41 * (double)var1[var2++] + var10;
- var3[var4++] = var47 * var56 + var16;
- }
- case 6:
- double var6 = this.m00;
- double var8 = this.m01;
- double var12 = this.m10;
- double var14 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var18 = (double)var1[var2++];
- double var20 = (double)var1[var2++];
- var3[var4++] = var6 * var18 + var8 * var20;
- var3[var4++] = var12 * var18 + var14 * var20;
- }
- default:
- this.stateError();
- case 7:
- double var40 = this.m00;
- double var43 = this.m01;
- double var46 = this.m02;
- double var49 = this.m10;
- double var52 = this.m11;
- double var55 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var58 = (double)var1[var2++];
- double var59 = (double)var1[var2++];
- var3[var4++] = var40 * var58 + var43 * var59 + var46;
- var3[var4++] = var49 * var58 + var52 * var59 + var55;
- }
- }
- }
-
- public void transform(double[] var1, int var2, float[] var3, int var4, int var5) {
- switch (this.state) {
- case 0:
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)var1[var2++];
- var3[var4++] = (float)var1[var2++];
- }
- case 1:
- double var45 = this.m02;
- double var54 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)(var1[var2++] + var45);
- var3[var4++] = (float)(var1[var2++] + var54);
- }
- case 2:
- double var39 = this.m00;
- double var51 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)(var39 * var1[var2++]);
- var3[var4++] = (float)(var51 * var1[var2++]);
- }
- case 3:
- double var38 = this.m00;
- double var44 = this.m02;
- double var50 = this.m11;
- double var53 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (float)(var38 * var1[var2++] + var44);
- var3[var4++] = (float)(var50 * var1[var2++] + var53);
- }
- case 4:
- double var42 = this.m01;
- double var48 = this.m10;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var57 = var1[var2++];
- var3[var4++] = (float)(var42 * var1[var2++]);
- var3[var4++] = (float)(var48 * var57);
- }
- case 5:
- double var41 = this.m01;
- double var10 = this.m02;
- double var47 = this.m10;
- double var16 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var56 = var1[var2++];
- var3[var4++] = (float)(var41 * var1[var2++] + var10);
- var3[var4++] = (float)(var47 * var56 + var16);
- }
- case 6:
- double var6 = this.m00;
- double var8 = this.m01;
- double var12 = this.m10;
- double var14 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var18 = var1[var2++];
- double var20 = var1[var2++];
- var3[var4++] = (float)(var6 * var18 + var8 * var20);
- var3[var4++] = (float)(var12 * var18 + var14 * var20);
- }
- default:
- this.stateError();
- case 7:
- double var40 = this.m00;
- double var43 = this.m01;
- double var46 = this.m02;
- double var49 = this.m10;
- double var52 = this.m11;
- double var55 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var58 = var1[var2++];
- double var59 = var1[var2++];
- var3[var4++] = (float)(var40 * var58 + var43 * var59 + var46);
- var3[var4++] = (float)(var49 * var58 + var52 * var59 + var55);
- }
- }
- }
-
- public Point2D inverseTransform(Point2D var1, Point2D var2) throws NoninvertibleTransformException {
- if (var2 == null) {
- if (var1 instanceof Point2D.Double) {
- var2 = new Point2D.Double();
- } else {
- var2 = new Point2D.Float();
- }
- }
-
- double var3 = var1.getX();
- double var5 = var1.getY();
- switch (this.state) {
- case 0:
- ((Point2D)var2).setLocation(var3, var5);
- return (Point2D)var2;
- case 1:
- ((Point2D)var2).setLocation(var3 - this.m02, var5 - this.m12);
- return (Point2D)var2;
- case 3:
- var3 -= this.m02;
- var5 -= this.m12;
- case 2:
- if (this.m00 != (double)0.0F && this.m11 != (double)0.0F) {
- ((Point2D)var2).setLocation(var3 / this.m00, var5 / this.m11);
- return (Point2D)var2;
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 5:
- var3 -= this.m02;
- var5 -= this.m12;
- case 4:
- if (this.m01 != (double)0.0F && this.m10 != (double)0.0F) {
- ((Point2D)var2).setLocation(var5 / this.m10, var3 / this.m01);
- return (Point2D)var2;
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- default:
- this.stateError();
- case 7:
- var3 -= this.m02;
- var5 -= this.m12;
- case 6:
- double var7 = this.m00 * this.m11 - this.m01 * this.m10;
- if (Math.abs(var7) <= Double.MIN_VALUE) {
- throw new NoninvertibleTransformException("Determinant is " + var7);
- } else {
- ((Point2D)var2).setLocation((var3 * this.m11 - var5 * this.m01) / var7, (var5 * this.m00 - var3 * this.m10) / var7);
- return (Point2D)var2;
- }
- }
- }
-
- public void inverseTransform(double[] var1, int var2, double[] var3, int var4, int var5) throws NoninvertibleTransformException {
- if (var3 == var1 && var4 > var2 && var4 < var2 + var5 * 2) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- var2 = var4;
- }
-
- switch (this.state) {
- case 0:
- if (var1 != var3 || var2 != var4) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- }
-
- return;
- case 1:
- double var45 = this.m02;
- double var54 = this.m12;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var1[var2++] - var45;
- var3[var4++] = var1[var2++] - var54;
- }
- case 2:
- double var39 = this.m00;
- double var51 = this.m11;
- if (var39 != (double)0.0F && var51 != (double)0.0F) {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var1[var2++] / var39;
- var3[var4++] = var1[var2++] / var51;
- }
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 3:
- double var38 = this.m00;
- double var44 = this.m02;
- double var50 = this.m11;
- double var53 = this.m12;
- if (var38 != (double)0.0F && var50 != (double)0.0F) {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = (var1[var2++] - var44) / var38;
- var3[var4++] = (var1[var2++] - var53) / var50;
- }
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 4:
- double var42 = this.m01;
- double var48 = this.m10;
- if (var42 != (double)0.0F && var48 != (double)0.0F) {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var58 = var1[var2++];
- var3[var4++] = var1[var2++] / var42;
- var3[var4++] = var58 / var48;
- }
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 5:
- double var41 = this.m01;
- double var10 = this.m02;
- double var47 = this.m10;
- double var16 = this.m12;
- if (var41 != (double)0.0F && var47 != (double)0.0F) {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var57 = var1[var2++] - var10;
- var3[var4++] = (var1[var2++] - var16) / var41;
- var3[var4++] = var57 / var47;
- }
- }
-
- throw new NoninvertibleTransformException("Determinant is 0");
- case 6:
- double var6 = this.m00;
- double var8 = this.m01;
- double var12 = this.m10;
- double var14 = this.m11;
- double var18 = var6 * var14 - var8 * var12;
- if (Math.abs(var18) <= Double.MIN_VALUE) {
- throw new NoninvertibleTransformException("Determinant is " + var18);
- } else {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var20 = var1[var2++];
- double var22 = var1[var2++];
- var3[var4++] = (var20 * var14 - var22 * var8) / var18;
- var3[var4++] = (var22 * var6 - var20 * var12) / var18;
- }
- }
- default:
- this.stateError();
- case 7:
- double var40 = this.m00;
- double var43 = this.m01;
- double var46 = this.m02;
- double var49 = this.m10;
- double var52 = this.m11;
- double var55 = this.m12;
- double var56 = var40 * var52 - var43 * var49;
- if (Math.abs(var56) <= Double.MIN_VALUE) {
- throw new NoninvertibleTransformException("Determinant is " + var56);
- } else {
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var59 = var1[var2++] - var46;
- double var60 = var1[var2++] - var55;
- var3[var4++] = (var59 * var52 - var60 * var43) / var56;
- var3[var4++] = (var60 * var40 - var59 * var49) / var56;
- }
- }
- }
- }
-
- public Point2D deltaTransform(Point2D var1, Point2D var2) {
- if (var2 == null) {
- if (var1 instanceof Point2D.Double) {
- var2 = new Point2D.Double();
- } else {
- var2 = new Point2D.Float();
- }
- }
-
- double var3 = var1.getX();
- double var5 = var1.getY();
- switch (this.state) {
- case 0:
- case 1:
- ((Point2D)var2).setLocation(var3, var5);
- return (Point2D)var2;
- case 2:
- case 3:
- ((Point2D)var2).setLocation(var3 * this.m00, var5 * this.m11);
- return (Point2D)var2;
- case 4:
- case 5:
- ((Point2D)var2).setLocation(var5 * this.m01, var3 * this.m10);
- return (Point2D)var2;
- default:
- this.stateError();
- case 6:
- case 7:
- ((Point2D)var2).setLocation(var3 * this.m00 + var5 * this.m01, var3 * this.m10 + var5 * this.m11);
- return (Point2D)var2;
- }
- }
-
- public void deltaTransform(double[] var1, int var2, double[] var3, int var4, int var5) {
- if (var3 == var1 && var4 > var2 && var4 < var2 + var5 * 2) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- var2 = var4;
- }
-
- switch (this.state) {
- case 0:
- case 1:
- if (var1 != var3 || var2 != var4) {
- System.arraycopy(var1, var2, var3, var4, var5 * 2);
- }
-
- return;
- case 2:
- case 3:
- double var6 = this.m00;
- double var12 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- var3[var4++] = var1[var2++] * var6;
- var3[var4++] = var1[var2++] * var12;
- }
- case 4:
- case 5:
- double var8 = this.m01;
- double var10 = this.m10;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var14 = var1[var2++];
- var3[var4++] = var1[var2++] * var8;
- var3[var4++] = var14 * var10;
- }
- default:
- this.stateError();
- case 6:
- case 7:
- double var24 = this.m00;
- double var25 = this.m01;
- double var26 = this.m10;
- double var27 = this.m11;
-
- while(true) {
- --var5;
- if (var5 < 0) {
- return;
- }
-
- double var28 = var1[var2++];
- double var16 = var1[var2++];
- var3[var4++] = var28 * var24 + var16 * var25;
- var3[var4++] = var28 * var26 + var16 * var27;
- }
- }
- }
-
- public Shape createTransformedShape(Shape var1) {
- if (var1 == null) {
- return null;
- } else if (var1 instanceof GeneralPath) {
- return ((GeneralPath)var1).createTransformedShape(this);
- } else {
- PathIterator var2 = var1.getPathIterator(this);
- GeneralPath var3 = new GeneralPath(var2.getWindingRule());
- var3.append(var2, false);
- return var3;
- }
- }
-
- private static double _matround(double var0) {
- return Math.rint(var0 * 1.0E15) / 1.0E15;
- }
-
- public String toString() {
- return "AffineTransform[[" + _matround(this.m00) + ", " + _matround(this.m01) + ", " + _matround(this.m02) + "], [" + _matround(this.m10) + ", " + _matround(this.m11) + ", " + _matround(this.m12) + "]]";
- }
-
- public boolean isIdentity() {
- return this.state == 0;
- }
-
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException var2) {
- throw new InternalError();
- }
- }
-
- public int hashCode() {
- long var1 = Double.doubleToLongBits(this.m00);
- var1 = var1 * 31L + Double.doubleToLongBits(this.m01);
- var1 = var1 * 31L + Double.doubleToLongBits(this.m02);
- var1 = var1 * 31L + Double.doubleToLongBits(this.m10);
- var1 = var1 * 31L + Double.doubleToLongBits(this.m11);
- var1 = var1 * 31L + Double.doubleToLongBits(this.m12);
- return (int)var1 ^ (int)(var1 >> 32);
- }
-
- public boolean equals(Object var1) {
- if (!(var1 instanceof AffineTransform)) {
- return false;
- } else {
- AffineTransform var2 = (AffineTransform)var1;
- return this.m00 == var2.m00 && this.m01 == var2.m01 && this.m02 == var2.m02 && this.m10 == var2.m10 && this.m11 == var2.m11 && this.m12 == var2.m12;
- }
- }
-
- private void writeObject(ObjectOutputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultWriteObject();
- }
-
- private void readObject(ObjectInputStream var1) throws ClassNotFoundException, IOException {
- var1.defaultReadObject();
- this.updateState();
- }
- }
-