home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2000 February / maximum-cd-2000-02.iso / Flash 4 / data1.cab / App_Files / Players / Flash_Player_Java(tm)_Edition / Flash.cab / SCharacterParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-13  |  10.1 KB  |  1,013 lines

  1. import java.awt.Point;
  2.  
  3. final class SCharacterParser extends SParser {
  4.    // $FF: renamed from: ─ì DisplayList
  5.    DisplayList field_0;
  6.    // $FF: renamed from: ├ü ScriptPlayer
  7.    ScriptPlayer field_1;
  8.    // $FF: renamed from: cx ColorTransform
  9.    ColorTransform field_2;
  10.    // $FF: renamed from: ┼ì Matrix
  11.    Matrix field_3;
  12.    // $FF: renamed from: ┼Ä int
  13.    int field_4;
  14.    // $FF: renamed from: ┼Å int
  15.    int field_5;
  16.    // $FF: renamed from: ┼É int
  17.    int field_6;
  18.    // $FF: renamed from: ┼æ RColor[]
  19.    RColor[] field_7;
  20.    // $FF: renamed from: ┼Æ RColor[]
  21.    RColor[] field_8;
  22.    // $FF: renamed from: ┼ô int[]
  23.    int[] field_9;
  24.    // $FF: renamed from: ┼ö int
  25.    int field_10;
  26.    // $FF: renamed from: ┼ò int
  27.    int field_11;
  28.    // $FF: renamed from: ┼û int
  29.    int field_12;
  30.    // $FF: renamed from: ┼ù int
  31.    int field_13;
  32.    // $FF: renamed from: ┼ÿ int
  33.    int field_14;
  34.    // $FF: renamed from: ┼Ö java.awt.Point
  35.    Point field_15 = new Point(0, 0);
  36.    // $FF: renamed from: ┼Ü java.awt.Point
  37.    Point field_16 = new Point(0, 0);
  38.    // $FF: renamed from: ┼¢ java.awt.Point
  39.    Point field_17 = new Point(0, 0);
  40.    // $FF: renamed from: ┼£ java.awt.Point
  41.    Point field_18 = new Point(0, 0);
  42.    public final int eflagsMoveTo = 1;
  43.    public final int eflagsFill0 = 2;
  44.    public final int eflagsFill1 = 4;
  45.    public final int eflagsLine = 8;
  46.    public final int eflagsNewStyles = 16;
  47.    public final int eflagsEnd = 128;
  48.    // $FF: renamed from: ┼¥ boolean
  49.    boolean field_19 = false;
  50.    // $FF: renamed from: ┼₧ int
  51.    int field_20;
  52.    // $FF: renamed from: ┼ƒ SObject
  53.    SObject field_21;
  54.    // $FF: renamed from: ─╕ int
  55.    int field_22;
  56.    // $FF: renamed from: ─╗ RColor
  57.    RColor field_23;
  58.    // $FF: renamed from: ─╝ RColor
  59.    RColor field_24;
  60.    // $FF: renamed from: ┼á RColor
  61.    RColor field_25;
  62.    // $FF: renamed from: ┼í boolean
  63.    boolean field_26;
  64.    // $FF: renamed from: ┼ó int
  65.    int field_27;
  66.    // $FF: renamed from: ┼ú boolean
  67.    boolean field_28;
  68.    // $FF: renamed from: ┼ñ int
  69.    int field_29;
  70.    // $FF: renamed from: ┼Ñ java.awt.Point
  71.    Point field_30 = new Point(0, 0);
  72.    // $FF: renamed from: ┼ª java.awt.Point
  73.    Point field_31 = new Point(0, 0);
  74.    // $FF: renamed from: ┼º java.awt.Point
  75.    Point field_32 = new Point(0, 0);
  76.    // $FF: renamed from: ┼¿ java.awt.Point
  77.    Point field_33 = new Point(0, 0);
  78.    // $FF: renamed from: ┼⌐ java.awt.Point
  79.    Point field_34 = new Point(0, 0);
  80.    // $FF: renamed from: ┼¬ java.awt.Point
  81.    Point field_35 = new Point(0, 0);
  82.    // $FF: renamed from: ┼½ java.awt.Point
  83.    Point field_36 = new Point(0, 0);
  84.  
  85.    SCharacterParser(ScriptPlayer var1, int var2, Matrix var3, ColorTransform var4) {
  86.       this.field_3 = var3;
  87.       this.field_2 = var4;
  88.       this.field_4 = 0;
  89.       this.field_5 = this.field_6 = 0;
  90.       this.field_12 = this.field_13 = this.field_14 = 0;
  91.       this.field_15.x = this.field_15.y = 0;
  92.       this.field_3.─£(this.field_15, this.field_16);
  93.       this.field_1 = var1;
  94.       this.field_0 = var1.─ì;
  95.       byte[] var5 = this.field_1.╞⌐;
  96.       super.╞⌐ = var5;
  97.       super.╞¬ = var2;
  98.    }
  99.  
  100.    // $FF: renamed from: ┼ì (RColor) void
  101.    private void method_0(RColor var1) {
  102.       if (!var1.─░) {
  103.          switch (var1.─ª) {
  104.             case 64:
  105.             case 65:
  106.             case 66:
  107.                if (var1.─» == null) {
  108.                   var1.─ª = 0;
  109.                   return;
  110.                } else {
  111.                   var1.─▓ = true;
  112.                   var1.─│ = var1.─«.a;
  113.                   var1.─┤ = var1.─«.b;
  114.                   if (this.field_2 != null) {
  115.                      this.field_2.├è();
  116.                      var1.cx = this.field_2;
  117.                      var1.─▓ = false;
  118.                      return;
  119.                   }
  120.                }
  121.             default:
  122.          }
  123.       }
  124.    }
  125.  
  126.    // $FF: renamed from: ┼Ä () boolean
  127.    boolean method_1() {
  128.       this.field_6 = super.╞⌐[super.╞¬++] & 255;
  129.       if (this.field_6 == 255) {
  130.          this.field_6 = ((SParser)this).╞⌐();
  131.       }
  132.  
  133.       if ((this.field_7 = new RColor[this.field_6 + 1]) == null) {
  134.          return false;
  135.       } else {
  136.          for(int var1 = 1; var1 <= this.field_6; ++var1) {
  137.             Object var2 = null;
  138.             int var3 = super.╞⌐[super.╞¬++] & 255;
  139.             RColor var9;
  140.             if ((var3 & 16) == 0) {
  141.                if ((var3 & 64) != 0) {
  142.                   int var12 = ((SParser)this).╞⌐();
  143.                   Matrix var13 = ((SParser)this).╞»();
  144.                   var9 = new RColor(this.field_0, -65281);
  145.                   SCharacter var15 = this.field_1.FindCharacter(var12);
  146.                   if (var15 != null && var15.├â == 1) {
  147.                      if (var15.├ê != null && var15.├ê instanceof Bitmap) {
  148.                         var9.─» = (Bitmap)var15.├ê;
  149.                         var9.─ª = var3;
  150.                         if (this.field_0.├í != null) {
  151.                            Matrix var16;
  152.                            if (this.field_0.├Ö) {
  153.                               Matrix var17 = new Matrix();
  154.                               var17.─¥(16384, 16384);
  155.                               var16 = Matrix.─á(this.field_3, var17);
  156.                            } else {
  157.                               var16 = new Matrix(this.field_3);
  158.                            }
  159.  
  160.                            var13.tx <<= 16;
  161.                            var13.ty <<= 16;
  162.                            var16.tx <<= 16;
  163.                            var16.ty <<= 16;
  164.                            var13 = Matrix.─á(var13, var16);
  165.                            var9.─« = var13.─ƒ();
  166.                            this.method_0(var9);
  167.                         }
  168.                      }
  169.                   } else {
  170.                      var9 = new RColor(this.field_0, -65536);
  171.                   }
  172.                } else {
  173.                   var9 = new RColor(this.field_0, ((SParser)this).╞¡());
  174.                   if (this.field_2 != null) {
  175.                      this.field_2.├î(var9);
  176.                   }
  177.                }
  178.             } else {
  179.                Matrix var4 = ((SParser)this).╞»();
  180.                int var5 = super.╞⌐[super.╞¬++] & 255;
  181.                int[] var6 = new int[var5];
  182.                int[] var7 = new int[var5];
  183.  
  184.                for(int var8 = 0; var8 < var5; ++var8) {
  185.                   var7[var8] = super.╞⌐[super.╞¬++] & 255;
  186.                   var6[var8] = ((SParser)this).╞¡();
  187.                }
  188.  
  189.                var9 = new RColor(this.field_0, var3, var5, var6, var7, var4, this.field_3);
  190.                if (this.field_2 != null) {
  191.                   this.field_2.├ì(var9);
  192.                }
  193.             }
  194.  
  195.             this.field_7[var1] = var9;
  196.             var9.─Ñ = this.field_4 + var1;
  197.          }
  198.  
  199.          this.field_5 = super.╞⌐[super.╞¬++] & 255;
  200.          if (this.field_5 == 255) {
  201.             this.field_5 = ((SParser)this).╞⌐();
  202.          }
  203.  
  204.          this.field_8 = new RColor[this.field_5 + 1];
  205.          this.field_9 = new int[this.field_5 + 1];
  206.          if (this.field_8 != null && this.field_9 != null) {
  207.             for(int var10 = 1; var10 <= this.field_5; ++var10) {
  208.                this.field_9[var10] = this.field_3.─£(((SParser)this).╞⌐());
  209.                RColor var11 = new RColor(this.field_0, ((SParser)this).╞¡());
  210.                if (this.field_2 != null) {
  211.                   this.field_2.├î(var11);
  212.                }
  213.  
  214.                this.field_8[var10] = var11;
  215.                var11.─Ñ = this.field_4 | var10 + this.field_6;
  216.             }
  217.  
  218.             super.╞₧ = 0;
  219.             super.╞¥ = 0;
  220.             this.field_10 = ((SParser)this).╞ù(4);
  221.             this.field_11 = ((SParser)this).╞ù(4);
  222.             return true;
  223.          } else {
  224.             this.field_8 = null;
  225.             this.field_9 = null;
  226.             return false;
  227.          }
  228.       }
  229.    }
  230.  
  231.    // $FF: renamed from: ┼Å (Curve) int
  232.    int method_2(Curve var1) {
  233.       boolean var2 = ((SParser)this).╞ù(1) != 0;
  234.       if (!var2) {
  235.          int var7 = ((SParser)this).╞ù(5);
  236.          if (var7 == 0) {
  237.             return 128;
  238.          } else {
  239.             if ((var7 & 1) != 0) {
  240.                int var8 = ((SParser)this).╞ù(5);
  241.                this.field_15.x = ((SParser)this).╞ÿ(var8);
  242.                this.field_15.y = ((SParser)this).╞ÿ(var8);
  243.                this.field_3.─£(this.field_15, this.field_16);
  244.             }
  245.  
  246.             if ((var7 & 2) != 0) {
  247.                this.field_13 = ((SParser)this).╞ù(this.field_10);
  248.             }
  249.  
  250.             if ((var7 & 4) != 0) {
  251.                this.field_14 = ((SParser)this).╞ù(this.field_10);
  252.             }
  253.  
  254.             if ((var7 & 8) != 0) {
  255.                this.field_12 = ((SParser)this).╞ù(this.field_11);
  256.             }
  257.  
  258.             if ((var7 & 16) != 0) {
  259.                this.field_4 += this.field_6 + this.field_5;
  260.                this.method_1();
  261.             }
  262.  
  263.             return var7;
  264.          }
  265.       } else {
  266.          var1.├ö = ((SParser)this).╞ù(1) != 0;
  267.          if (var1.├ö) {
  268.             int var3 = ((SParser)this).╞ù(4) + 2;
  269.             boolean var4 = ((SParser)this).╞ù(1) != 0;
  270.             if (var4) {
  271.                Point var10000 = this.field_15;
  272.                var10000.x += ((SParser)this).╞ÿ(var3);
  273.                var10000 = this.field_15;
  274.                var10000.y += ((SParser)this).╞ÿ(var3);
  275.             } else {
  276.                boolean var5 = ((SParser)this).╞ù(1) != 0;
  277.                if (var5) {
  278.                   Point var10 = this.field_15;
  279.                   var10.y += ((SParser)this).╞ÿ(var3);
  280.                } else {
  281.                   Point var11 = this.field_15;
  282.                   var11.x += ((SParser)this).╞ÿ(var3);
  283.                }
  284.             }
  285.  
  286.             this.field_3.─£(this.field_15, this.field_18);
  287.             var1.├Ä(this.field_16, this.field_18);
  288.          } else {
  289.             int var6 = ((SParser)this).╞ù(4) + 2;
  290.             Point var12 = this.field_15;
  291.             var12.x += ((SParser)this).╞ÿ(var6);
  292.             var12 = this.field_15;
  293.             var12.y += ((SParser)this).╞ÿ(var6);
  294.             this.field_3.─£(this.field_15, this.field_17);
  295.             var12 = this.field_15;
  296.             var12.x += ((SParser)this).╞ÿ(var6);
  297.             var12 = this.field_15;
  298.             var12.y += ((SParser)this).╞ÿ(var6);
  299.             this.field_3.─£(this.field_15, this.field_18);
  300.             var1.├Ä(this.field_16, this.field_17, this.field_18);
  301.          }
  302.  
  303.          this.field_16.x = this.field_18.x;
  304.          this.field_16.y = this.field_18.y;
  305.          return 0;
  306.       }
  307.    }
  308.  
  309.    // $FF: renamed from: ┼É (Curve, boolean) void
  310.    void method_3(Curve var1, boolean var2) {
  311.       REdge var3 = new REdge();
  312.       if (var1.├Å <= var1.├ô) {
  313.          var3.├Ä = var1.├Ä;
  314.          var3.├Å = var1.├Å;
  315.          var3.├Æ = var1.├Æ;
  316.          var3.├ô = var1.├ô;
  317.          var3.─╣ = 1;
  318.       } else {
  319.          var3.├Ä = var1.├Æ;
  320.          var3.├Å = var1.├ô;
  321.          var3.├Æ = var1.├Ä;
  322.          var3.├ô = var1.├Å;
  323.          var3.─╣ = -1;
  324.       }
  325.  
  326.       var3.├ö = var1.├ö;
  327.       var3.├É = var1.├É;
  328.       var3.├æ = var1.├æ;
  329.       if (!var3.├ö) {
  330.          if (var3.├æ < var3.├Å || var3.├æ > var3.├ô) {
  331.             if (var3.├æ < var3.├Å && var3.├Å - var3.├æ < 3) {
  332.                var3.├æ = var3.├Å;
  333.             } else {
  334.                if (var1.├æ <= var3.├ô || var1.├æ - var3.├ô >= 3) {
  335.                   int var4 = var1.├Å - 2 * var1.├æ + var1.├ô;
  336.                   int var5 = var1.├Å - var1.├æ;
  337.                   if (++this.field_20 > 16) {
  338.                      return;
  339.                   } else {
  340.                      Curve var6 = new Curve(var1);
  341.                      Curve var7 = var6.├Å((int)(((long)var5 << 16) / (long)var4));
  342.                      this.method_3(var6, var2);
  343.                      this.method_3(var7, var2);
  344.                      --this.field_20;
  345.                      return;
  346.                   }
  347.                }
  348.  
  349.                var3.├æ = var3.├ô;
  350.             }
  351.          }
  352.  
  353.          if (var3.├ô - var3.├Å > 256) {
  354.             if (++this.field_20 > 16) {
  355.                return;
  356.             }
  357.  
  358.             Curve var8 = new Curve(var1);
  359.             Curve var9 = var8.├Å(32768);
  360.             this.method_3(var8, var2);
  361.             this.method_3(var9, var2);
  362.             --this.field_20;
  363.             return;
  364.          }
  365.       }
  366.  
  367.       if (var3.├Å != var3.├ô) {
  368.          if (var2) {
  369.             var3.─╕ = 2;
  370.             var3.─╗ = this.field_25;
  371.          } else {
  372.             var3.─╕ = this.field_22;
  373.             var3.─╗ = this.field_23;
  374.             var3.─╝ = this.field_24;
  375.          }
  376.  
  377.          var3.─║ = this.field_21.╞Ä;
  378.          this.field_21.╞Ä = var3;
  379.       }
  380.    }
  381.  
  382.    // $FF: renamed from: ┼æ (boolean) void
  383.    void method_4(boolean var1) {
  384.       this.field_20 = 0;
  385.       this.field_4 = this.field_21.id << 16;
  386.       if (var1) {
  387.          if (!this.method_1()) {
  388.             return;
  389.          }
  390.       } else {
  391.          super.╞₧ = 0;
  392.          super.╞¥ = 0;
  393.          this.field_10 = ((SParser)this).╞ù(4);
  394.          this.field_11 = ((SParser)this).╞ù(4);
  395.       }
  396.  
  397.       boolean var2 = false;
  398.       boolean var3 = false;
  399.       Curve var4 = new Curve();
  400.       this.field_23 = this.field_24 = null;
  401.  
  402.       while(true) {
  403.          int var5 = this.method_2(var4);
  404.          if (var5 != 0) {
  405.             if (var5 == 128) {
  406.                if (var3) {
  407.                   this.method_14();
  408.                   return;
  409.                }
  410.  
  411.                return;
  412.             }
  413.  
  414.             if ((var5 & 6) != 0) {
  415.                this.field_23 = this.field_7[this.field_13];
  416.                this.field_24 = this.field_7[this.field_14];
  417.                if (this.field_23 == null && this.field_24 != null) {
  418.                   this.field_23 = this.field_24;
  419.                   this.field_24 = null;
  420.                }
  421.  
  422.                this.field_22 = this.field_24 != null ? 0 : (this.field_19 ? 2 : 1);
  423.                var2 = this.field_23 != null;
  424.             }
  425.  
  426.             if ((var5 & 9) != 0) {
  427.                if (var3) {
  428.                   this.method_14();
  429.                }
  430.  
  431.                if (this.field_12 != 0) {
  432.                   this.method_12(this.field_9[this.field_12], this.field_8[this.field_12]);
  433.                   var3 = true;
  434.                } else {
  435.                   var3 = false;
  436.                }
  437.             }
  438.          } else {
  439.             if (var3) {
  440.                this.method_13(var4);
  441.             }
  442.  
  443.             if (var2) {
  444.                this.method_3(var4, false);
  445.             }
  446.          }
  447.       }
  448.    }
  449.  
  450.    // $FF: renamed from: ┼Æ (java.awt.Point, java.awt.Point) void
  451.    final void method_5(Point var1, Point var2) {
  452.       if (var1.y != var2.y) {
  453.          REdge var3 = new REdge();
  454.          if (var1.y > var2.y) {
  455.             var3.─╣ = -1;
  456.             ((Curve)var3).├Ä(var2, var1);
  457.          } else {
  458.             var3.─╣ = 1;
  459.             ((Curve)var3).├Ä(var1, var2);
  460.          }
  461.  
  462.          var3.─╕ = 2;
  463.          var3.─╗ = this.field_25;
  464.          var3.─║ = this.field_21.╞Ä;
  465.          this.field_21.╞Ä = var3;
  466.       }
  467.    }
  468.  
  469.    // $FF: renamed from: ┼ô (java.awt.Point, java.awt.Point, java.awt.Point) void
  470.    final void method_6(Point var1, Point var2, Point var3) {
  471.       int var4 = Matrix.─ó(var1.x - var2.x, var1.y - var2.y);
  472.       if (var4 > 3) {
  473.          double var5 = Math.atan2((double)(var1.y - var3.y), (double)(var1.x - var3.x));
  474.  
  475.          double var7;
  476.          for(var7 = Math.atan2((double)(var2.y - var3.y), (double)(var2.x - var3.x)); var5 < var7; var5 += (Math.PI * 2D)) {
  477.          }
  478.  
  479.          double var9 = var5 - var7;
  480.          if (var9 > 0.1 && var9 <= Math.PI) {
  481.             double var11 = (double)(this.field_27 / 2);
  482.             int var13 = (int)(var11 * var9) / 3;
  483.             Point var14 = new Point(var1.x, var1.y);
  484.             Point var15 = new Point(0, 0);
  485.             if (var13 > 1) {
  486.                if (var13 > 16) {
  487.                   var13 = 16;
  488.                }
  489.  
  490.                double var16 = -var9 / (double)var13;
  491.                double var18 = var5 + var16;
  492.                --var13;
  493.  
  494.                while(var13-- > 0) {
  495.                   var15.x = (int)(var11 * Math.cos(var18)) + var3.x;
  496.                   var15.y = (int)(var11 * Math.sin(var18)) + var3.y;
  497.                   this.method_5(var14, var15);
  498.                   var14.x = var15.x;
  499.                   var14.y = var15.y;
  500.                   var18 += var16;
  501.                }
  502.             }
  503.  
  504.             this.method_5(var14, var2);
  505.             return;
  506.          }
  507.       }
  508.  
  509.       this.method_5(var1, var2);
  510.    }
  511.  
  512.    // $FF: renamed from: ┼ö (Curve, java.awt.Point, java.awt.Point) Curve
  513.    static final Curve method_7(Curve var0, Point var1, Point var2) {
  514.       int var3 = Matrix.─ú(var0.├Ä - var0.├Æ, var0.├Å - var0.├ô);
  515.       int var4;
  516.       if (var3 > 0) {
  517.          int var5 = Matrix.─ú(var1.x - var2.x, var1.y - var2.y);
  518.          var4 = (int)(((long)var5 << 16) / (long)var3);
  519.       } else {
  520.          var4 = 65536;
  521.       }
  522.  
  523.       int var10 = var0.├É - var0.├Ä;
  524.       int var6 = var0.├æ - var0.├Å;
  525.       int var7 = var0.├É - var0.├Æ;
  526.       int var8 = var0.├æ - var0.├ô;
  527.       Curve var9 = new Curve();
  528.       var9.├Ä = var1.x;
  529.       var9.├Å = var1.y;
  530.       var9.├Æ = var2.x;
  531.       var9.├ô = var2.y;
  532.       if (Matrix.─ó(var10, var6) > Matrix.─ó(var7, var8)) {
  533.          var9.├É = (int)((long)var4 * (long)var10 + 32768L >> 16) + var1.x;
  534.          var9.├æ = (int)((long)var4 * (long)var6 + 32768L >> 16) + var1.y;
  535.       } else {
  536.          var9.├É = (int)((long)var4 * (long)var7 + 32768L >> 16) + var2.x;
  537.          var9.├æ = (int)((long)var4 * (long)var8 + 32768L >> 16) + var2.y;
  538.       }
  539.  
  540.       return var9;
  541.    }
  542.  
  543.    // $FF: renamed from: ┼ò (Curve) Curve
  544.    static final Curve method_8(Curve var0) {
  545.       Curve var1 = new Curve();
  546.       var1.├ö = var0.├ö;
  547.       var1.├Ä = var0.├Æ;
  548.       var1.├Å = var0.├ô;
  549.       var1.├É = var0.├É;
  550.       var1.├æ = var0.├æ;
  551.       var1.├Æ = var0.├Ä;
  552.       var1.├ô = var0.├Å;
  553.       return var1;
  554.    }
  555.  
  556.    // $FF: renamed from: ┼û (Curve) void
  557.    final void method_9(Curve var1) {
  558.       if (!var1.├ö && this.field_29 < 5) {
  559.          int var2 = var1.├É();
  560.          if (var2 > 6) {
  561.             int var3 = Matrix.─ó(var1.├Ä - var1.├Æ, var1.├Å - var1.├ô);
  562.             if (2 * var2 > var3) {
  563.                Curve var14 = new Curve(var1);
  564.                Curve var18 = var14.├Å(32768);
  565.                ++this.field_29;
  566.                this.method_9(var14);
  567.                this.method_9(var18);
  568.                --this.field_29;
  569.                return;
  570.             }
  571.          }
  572.       }
  573.  
  574.       int var12 = this.field_27 / 2;
  575.       int var13 = var1.├æ - var1.├Å;
  576.       int var4 = var1.├Ä - var1.├É;
  577.       if (var13 == 0 && var4 == 0) {
  578.          var13 = var1.├ô - var1.├Å;
  579.          var4 = var1.├Ä - var1.├Æ;
  580.       }
  581.  
  582.       int var5 = Matrix.─ú(var13, var4);
  583.       if (var5 > 0) {
  584.          var5 = (int)(((long)var12 << 16) / (long)var5);
  585.          var13 = (int)((long)var5 * (long)var13 + 32768L >> 16);
  586.          var4 = (int)((long)var5 * (long)var4 + 32768L >> 16);
  587.       }
  588.  
  589.       int var6;
  590.       int var7;
  591.       if (var1.├ö) {
  592.          var6 = var13;
  593.          var7 = var4;
  594.       } else {
  595.          var6 = var1.├ô - var1.├æ;
  596.          var7 = var1.├É - var1.├Æ;
  597.          if (var6 == 0 && var7 == 0) {
  598.             var6 = var1.├ô - var1.├Å;
  599.             var7 = var1.├Ä - var1.├Æ;
  600.          }
  601.  
  602.          var5 = Matrix.─ú(var6, var7);
  603.          if (var5 > 0) {
  604.             var5 = (int)(((long)var12 << 16) / (long)var5);
  605.             var6 = (int)((long)var5 * (long)var6 + 32768L >> 16);
  606.             var7 = (int)((long)var5 * (long)var7 + 32768L >> 16);
  607.          }
  608.       }
  609.  
  610.       Point var8 = new Point(var1.├Ä + var13, var1.├Å + var4);
  611.       Point var9 = new Point(var1.├Æ + var6, var1.├ô + var7);
  612.       Point var10 = new Point(var1.├Ä - var13, var1.├Å - var4);
  613.       Point var11 = new Point(var1.├Æ - var6, var1.├ô - var7);
  614.       if (var1.├ö) {
  615.          this.method_5(var9, var8);
  616.          this.method_5(var10, var11);
  617.       } else {
  618.          this.method_3(method_8(method_7(var1, var8, var9)), true);
  619.          this.method_3(method_7(var1, var10, var11), true);
  620.       }
  621.  
  622.       if (!this.field_28) {
  623.          this.field_30.x = var8.x;
  624.          this.field_30.y = var8.y;
  625.          this.field_31.x = var1.├Ä;
  626.          this.field_31.y = var1.├Å;
  627.          this.field_32.x = var10.x;
  628.          this.field_32.y = var10.y;
  629.          this.field_28 = true;
  630.       } else {
  631.          this.method_6(var8, this.field_33, this.field_34);
  632.          this.method_6(this.field_35, var10, this.field_34);
  633.       }
  634.  
  635.       this.field_33.x = var9.x;
  636.       this.field_33.y = var9.y;
  637.       this.field_34.x = var1.├Æ;
  638.       this.field_34.y = var1.├ô;
  639.       this.field_35.x = var11.x;
  640.       this.field_35.y = var11.y;
  641.    }
  642.  
  643.    // $FF: renamed from: ┼ù (Curve) void
  644.    final void method_10(Curve var1) {
  645.       int var2 = var1.├ô - var1.├Å;
  646.       int var3 = var1.├Ä - var1.├Æ;
  647.       Point var4 = new Point(var1.├Ä, var1.├Å);
  648.       Point var5 = new Point(var1.├Ä, var1.├Å);
  649.       Point var6 = new Point(var1.├Æ, var1.├ô);
  650.       Point var7 = new Point(var1.├Æ, var1.├ô);
  651.       boolean var8 = (var2 > 0 ? var2 : -var2) > (var3 > 0 ? var3 : -var3);
  652.       switch (this.field_27) {
  653.          case 1:
  654.             if (var8) {
  655.                int var15 = var2 < 0 ? -1 : (var2 > 0 ? 1 : 0);
  656.                if (var15 > 0) {
  657.                   var4.x += var15;
  658.                   var6.x += var15;
  659.                } else {
  660.                   var5.x -= var15;
  661.                   var7.x -= var15;
  662.                }
  663.             } else {
  664.                int var16 = var3 < 0 ? -1 : (var3 > 0 ? 1 : 0);
  665.                if (var16 > 0) {
  666.                   var4.y += var16;
  667.                   var6.y += var16;
  668.                } else {
  669.                   var5.y -= var16;
  670.                   var7.y -= var16;
  671.                }
  672.             }
  673.             break;
  674.          case 2:
  675.             if (var8) {
  676.                int var13 = var2 < 0 ? -1 : (var2 > 0 ? 1 : 0);
  677.                var4.x += var13;
  678.                var6.x += var13;
  679.                var5.x -= var13;
  680.                var7.x -= var13;
  681.             } else {
  682.                int var14 = var3 < 0 ? -1 : (var3 > 0 ? 1 : 0);
  683.                var4.y += var14;
  684.                var6.y += var14;
  685.                var5.y -= var14;
  686.                var7.y -= var14;
  687.             }
  688.             break;
  689.          case 3:
  690.             if (var8) {
  691.                int var9 = var2 < 0 ? -1 : (var2 > 0 ? 1 : 0);
  692.                var4.x += var9;
  693.                var6.x += var9;
  694.                var9 *= 2;
  695.                var5.x -= var9;
  696.                var7.x -= var9;
  697.             } else {
  698.                int var11 = var3 < 0 ? -1 : (var3 > 0 ? 1 : 0);
  699.                var4.y += var11;
  700.                var6.y += var11;
  701.                var11 *= 2;
  702.                var5.y -= var11;
  703.                var7.y -= var11;
  704.             }
  705.       }
  706.  
  707.       this.method_5(var6, var4);
  708.       this.method_5(var5, var7);
  709.       if (!this.field_28) {
  710.          this.field_30.x = var4.x;
  711.          this.field_30.y = var4.y;
  712.          this.field_31.x = var1.├Ä;
  713.          this.field_31.y = var1.├Å;
  714.          this.field_32.x = var5.x;
  715.          this.field_32.y = var5.y;
  716.          this.field_28 = true;
  717.       } else {
  718.          this.method_5(var4, this.field_33);
  719.          this.method_5(this.field_35, var5);
  720.       }
  721.  
  722.       this.field_33.x = var6.x;
  723.       this.field_33.y = var6.y;
  724.       this.field_34.x = var1.├Æ;
  725.       this.field_34.y = var1.├ô;
  726.       this.field_35.x = var7.x;
  727.       this.field_35.y = var7.y;
  728.    }
  729.  
  730.    // $FF: renamed from: ┼ÿ (Curve) void
  731.    final void method_11(Curve var1) {
  732.       label172: {
  733.          if (!var1.├ö && var1.├É() > 2) {
  734.             label173: {
  735.                int var2 = var1.├æ - var1.├Å;
  736.                int var3 = var1.├Ä - var1.├É;
  737.                int var4 = var1.├ô - var1.├æ;
  738.                int var5 = var1.├É - var1.├Æ;
  739.                boolean var6 = (var2 > 0 ? var2 : -var2) > (var3 > 0 ? var3 : -var3);
  740.                boolean var7 = (var4 > 0 ? var4 : -var4) > (var5 > 0 ? var5 : -var5);
  741.                if (var6 != var7) {
  742.                   break label172;
  743.                }
  744.  
  745.                label165: {
  746.                   boolean var10000;
  747.                   if (var2 == 0) {
  748.                      var10000 = true;
  749.                   } else if (var2 > 0) {
  750.                      if (var4 >= 0) {
  751.                         break label165;
  752.                      }
  753.  
  754.                      var10000 = false;
  755.                   } else {
  756.                      if (var4 <= 0) {
  757.                         break label165;
  758.                      }
  759.  
  760.                      var10000 = false;
  761.                   }
  762.  
  763.                   if (!var10000) {
  764.                      break label172;
  765.                   }
  766.                }
  767.  
  768.                boolean var27;
  769.                if (var3 == 0) {
  770.                   var27 = true;
  771.                } else if (var3 > 0) {
  772.                   if (var5 >= 0) {
  773.                      break label173;
  774.                   }
  775.  
  776.                   var27 = false;
  777.                } else {
  778.                   if (var5 <= 0) {
  779.                      break label173;
  780.                   }
  781.  
  782.                   var27 = false;
  783.                }
  784.  
  785.                if (!var27) {
  786.                   break label172;
  787.                }
  788.             }
  789.          }
  790.  
  791.          int var10 = var1.├ô - var1.├Å;
  792.          int var11 = var1.├Ä - var1.├Æ;
  793.          Curve var12 = new Curve(var1);
  794.          Curve var13 = new Curve(var1);
  795.          boolean var14 = (var10 > 0 ? var10 : -var10) > (var11 > 0 ? var11 : -var11);
  796.          switch (this.field_27) {
  797.             case 1:
  798.                if (var14) {
  799.                   int var19 = var10 < 0 ? -1 : (var10 > 0 ? 1 : 0);
  800.                   if (var19 > 0) {
  801.                      var12.├Ä += var19;
  802.                      var12.├É += var19;
  803.                      var12.├Æ += var19;
  804.                   } else {
  805.                      int var24 = -var19;
  806.                      var13.├Ä += var24;
  807.                      var13.├É += var24;
  808.                      var13.├Æ += var24;
  809.                   }
  810.                } else {
  811.                   int var20 = var11 < 0 ? -1 : (var11 > 0 ? 1 : 0);
  812.                   if (var20 > 0) {
  813.                      var12.├Å += var20;
  814.                      var12.├æ += var20;
  815.                      var12.├ô += var20;
  816.                   } else {
  817.                      int var25 = -var20;
  818.                      var13.├Å += var25;
  819.                      var13.├æ += var25;
  820.                      var13.├ô += var25;
  821.                   }
  822.                }
  823.                break;
  824.             case 2:
  825.                if (var14) {
  826.                   int var17 = var10 < 0 ? -1 : (var10 > 0 ? 1 : 0);
  827.                   var12.├Ä += var17;
  828.                   var12.├É += var17;
  829.                   var12.├Æ += var17;
  830.                   int var22 = -var17;
  831.                   var13.├Ä += var22;
  832.                   var13.├É += var22;
  833.                   var13.├Æ += var22;
  834.                } else {
  835.                   int var18 = var11 < 0 ? -1 : (var11 > 0 ? 1 : 0);
  836.                   var12.├Å += var18;
  837.                   var12.├æ += var18;
  838.                   var12.├ô += var18;
  839.                   int var23 = -var18;
  840.                   var13.├Å += var23;
  841.                   var13.├æ += var23;
  842.                   var13.├ô += var23;
  843.                }
  844.                break;
  845.             case 3:
  846.                if (var14) {
  847.                   int var15 = var10 < 0 ? -1 : (var10 > 0 ? 1 : 0);
  848.                   var12.├Ä += var15;
  849.                   var12.├É += var15;
  850.                   var12.├Æ += var15;
  851.                   int var8 = -2 * var15;
  852.                   var13.├Ä += var8;
  853.                   var13.├É += var8;
  854.                   var13.├Æ += var8;
  855.                } else {
  856.                   int var16 = var11 < 0 ? -1 : (var11 > 0 ? 1 : 0);
  857.                   var12.├Å += var16;
  858.                   var12.├æ += var16;
  859.                   var12.├ô += var16;
  860.                   int var21 = -2 * var16;
  861.                   var13.├Å += var21;
  862.                   var13.├æ += var21;
  863.                   var13.├ô += var21;
  864.                }
  865.          }
  866.  
  867.          this.method_3(method_8(var12), true);
  868.          this.method_3(var13, true);
  869.          if (!this.field_28) {
  870.             this.field_30.x = var12.├Ä;
  871.             this.field_30.y = var12.├Å;
  872.             this.field_31.x = var1.├Ä;
  873.             this.field_31.y = var1.├Å;
  874.             this.field_32.x = var13.├Ä;
  875.             this.field_32.y = var13.├Å;
  876.             this.field_28 = true;
  877.          } else {
  878.             this.method_5(new Point(var12.├Ä, var12.├Å), this.field_33);
  879.             this.method_5(this.field_35, new Point(var13.├Ä, var13.├Å));
  880.          }
  881.  
  882.          this.field_33.x = var12.├Æ;
  883.          this.field_33.y = var12.├ô;
  884.          this.field_34.x = var1.├Æ;
  885.          this.field_34.y = var1.├ô;
  886.          this.field_35.x = var13.├Æ;
  887.          this.field_35.y = var13.├ô;
  888.          return;
  889.       }
  890.  
  891.       Curve var26 = new Curve(var1);
  892.       Curve var9 = var26.├Å(32768);
  893.       this.method_11(var26);
  894.       this.method_11(var9);
  895.    }
  896.  
  897.    // $FF: renamed from: ┼Ö (int, RColor) void
  898.    final void method_12(int var1, RColor var2) {
  899.       this.field_28 = false;
  900.       this.field_27 = Math.max(this.field_0.├Ö ? 4 : 1, var1);
  901.       this.field_26 = this.field_27 > 3;
  902.       this.field_25 = var2;
  903.       this.field_36.x = this.field_36.y = Integer.MIN_VALUE;
  904.    }
  905.  
  906.    // $FF: renamed from: ┼Ü (Curve) void
  907.    final void method_13(Curve var1) {
  908.       this.field_36.x = var1.├Æ;
  909.       this.field_36.y = var1.├ô;
  910.       if (var1.├Ä != var1.├Æ || var1.├Å != var1.├ô || var1.├Ä != var1.├É || var1.├Å != var1.├æ) {
  911.          if (!this.field_26) {
  912.             if (var1.├ö) {
  913.                this.method_10(var1);
  914.             } else {
  915.                this.method_11(var1);
  916.             }
  917.          } else if (this.field_0.├Ö && var1.├ö) {
  918.             if (this.field_27 != 4 && this.field_27 != 12) {
  919.                if (this.field_27 != 8) {
  920.                   this.method_9(var1);
  921.                } else {
  922.                   Curve var4;
  923.                   label67: {
  924.                      var4 = new Curve(var1);
  925.                      if (var4.├Ä == var4.├Æ) {
  926.                         int var6 = var4.├Å - var4.├ô;
  927.                         if ((var6 > 0 ? var6 : -var6) > 12) {
  928.                            var4.├Ä = var4.├Æ = var4.├Ä + 2 & -4;
  929.                            break label67;
  930.                         }
  931.                      }
  932.  
  933.                      if (var4.├Å == var4.├ô) {
  934.                         int var7 = var4.├Ä - var4.├Æ;
  935.                         if ((var7 > 0 ? var7 : -var7) > 12) {
  936.                            var4.├Å = var4.├ô = var4.├Å + 2 & -4;
  937.                         }
  938.                      }
  939.                   }
  940.  
  941.                   this.method_9(var4);
  942.                }
  943.             } else {
  944.                Curve var2;
  945.                label76: {
  946.                   var2 = new Curve(var1);
  947.                   if (var2.├Ä == var2.├Æ) {
  948.                      int var3 = var2.├Å - var2.├ô;
  949.                      if ((var3 > 0 ? var3 : -var3) > 12) {
  950.                         var2.├Ä = var2.├Æ = (var2.├Ä & -4) + 2;
  951.                         break label76;
  952.                      }
  953.                   }
  954.  
  955.                   if (var2.├Å == var2.├ô) {
  956.                      int var5 = var2.├Ä - var2.├Æ;
  957.                      if ((var5 > 0 ? var5 : -var5) > 12) {
  958.                         var2.├Å = var2.├ô = (var2.├Å & -4) + 2;
  959.                      }
  960.                   }
  961.                }
  962.  
  963.                this.method_9(var2);
  964.             }
  965.          } else {
  966.             this.method_9(var1);
  967.          }
  968.       }
  969.    }
  970.  
  971.    // $FF: renamed from: ┼¢ () void
  972.    final void method_14() {
  973.       if (this.field_28) {
  974.          if (this.field_31.x == this.field_34.x && this.field_31.y == this.field_34.y) {
  975.             if (!this.field_26) {
  976.                this.method_5(this.field_30, this.field_33);
  977.                this.method_5(this.field_35, this.field_32);
  978.             } else {
  979.                this.method_6(this.field_30, this.field_33, this.field_34);
  980.                this.method_6(this.field_35, this.field_32, this.field_34);
  981.             }
  982.          } else if (!this.field_26) {
  983.             this.method_5(this.field_30, this.field_32);
  984.             this.method_5(this.field_35, this.field_33);
  985.          } else {
  986.             this.method_6(this.field_30, this.field_32, this.field_31);
  987.             this.method_6(this.field_35, this.field_33, this.field_34);
  988.          }
  989.       } else {
  990.          if (this.field_36.x != Integer.MIN_VALUE) {
  991.             int var1 = this.field_27 / 2;
  992.             Point var2 = new Point(this.field_36.x, this.field_36.y);
  993.             Point var3 = new Point(this.field_36.x, this.field_36.y);
  994.             var2.y -= var1;
  995.             var3.y += this.field_27 - var1;
  996.             if (!this.field_26) {
  997.                var2.x -= var1;
  998.                var3.x -= var1;
  999.                this.method_5(var2, var3);
  1000.                var2.x += this.field_27 - var1;
  1001.                var3.x += this.field_27 - var1;
  1002.                this.method_5(var3, var2);
  1003.                return;
  1004.             }
  1005.  
  1006.             this.method_6(var2, var3, this.field_36);
  1007.             this.method_6(var3, var2, this.field_36);
  1008.          }
  1009.  
  1010.       }
  1011.    }
  1012. }
  1013.