public final class com.sun.marlin.DPathSimplifier implements com.sun.marlin.DPathConsumer2D
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.marlin.DPathSimplifier
  super_class: java.lang.Object
{
  private static final double PIX_THRESHOLD;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double SQUARE_TOLERANCE;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.marlin.DPathConsumer2D delegate;
    descriptor: Lcom/sun/marlin/DPathConsumer2D;
    flags: (0x0002) ACC_PRIVATE

  private double cx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double cy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private boolean skipped;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private double sx;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  private double sy;
    descriptor: D
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 31
            invokestatic com.sun.marlin.MarlinProperties.getPathSimplifierPixelTolerance:()F
            f2d
            putstatic com.sun.marlin.DPathSimplifier.PIX_THRESHOLD:D
         1: .line 33
            getstatic com.sun.marlin.DPathSimplifier.PIX_THRESHOLD:D
            getstatic com.sun.marlin.DPathSimplifier.PIX_THRESHOLD:D
            dmul
            putstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DPathSimplifier this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            return
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/marlin/DPathSimplifier;

  public com.sun.marlin.DPathSimplifier init(com.sun.marlin.DPathConsumer2D);
    descriptor: (Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathSimplifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // com.sun.marlin.DPathConsumer2D delegate
         0: .line 48
            aload 0 /* this */
            aload 1 /* delegate */
            putfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
         1: .line 49
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
         2: .line 50
            aload 0 /* this */
            areturn
        end local 1 // com.sun.marlin.DPathConsumer2D delegate
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/marlin/DPathSimplifier;
            0    3     1  delegate  Lcom/sun/marlin/DPathConsumer2D;
    MethodParameters:
          Name  Flags
      delegate  final

  private void finishPath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.marlin.DPathSimplifier this
         0: .line 54
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.skipped:Z
            ifeq 2
         1: .line 55
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.sx:D
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.sy:D
            invokevirtual com.sun.marlin.DPathSimplifier._lineTo:(DD)V
         2: .line 57
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/marlin/DPathSimplifier;

  public void pathDone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DPathSimplifier this
         0: .line 61
            aload 0 /* this */
            invokevirtual com.sun.marlin.DPathSimplifier.finishPath:()V
         1: .line 62
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.pathDone:()V
         2: .line 63
            return
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/marlin/DPathSimplifier;

  public void closePath();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.marlin.DPathSimplifier this
         0: .line 67
            aload 0 /* this */
            invokevirtual com.sun.marlin.DPathSimplifier.finishPath:()V
         1: .line 68
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            invokeinterface com.sun.marlin.DPathConsumer2D.closePath:()V
         2: .line 69
            return
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/marlin/DPathSimplifier;

  public void moveTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // double xe
        start local 3 // double ye
         0: .line 73
            aload 0 /* this */
            invokevirtual com.sun.marlin.DPathSimplifier.finishPath:()V
         1: .line 74
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* xe */
            dload 3 /* ye */
            invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
         2: .line 75
            aload 0 /* this */
            dload 1 /* xe */
            putfield com.sun.marlin.DPathSimplifier.cx:D
         3: .line 76
            aload 0 /* this */
            dload 3 /* ye */
            putfield com.sun.marlin.DPathSimplifier.cy:D
         4: .line 77
            return
        end local 3 // double ye
        end local 1 // double xe
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DPathSimplifier;
            0    5     1    xe  D
            0    5     3    ye  D
    MethodParameters:
      Name  Flags
      xe    final
      ye    final

  public void lineTo(double, double);
    descriptor: (DD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // double xe
        start local 3 // double ye
         0: .line 82
            dload 1 /* xe */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 5 /* dx */
        start local 5 // double dx
         1: .line 83
            dload 3 /* ye */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 7 /* dy */
        start local 7 // double dy
         2: .line 85
            dload 5 /* dx */
            dload 5 /* dx */
            dmul
            dload 7 /* dy */
            dload 7 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 7
         3: .line 86
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
         4: .line 87
            aload 0 /* this */
            dload 1 /* xe */
            putfield com.sun.marlin.DPathSimplifier.sx:D
         5: .line 88
            aload 0 /* this */
            dload 3 /* ye */
            putfield com.sun.marlin.DPathSimplifier.sy:D
         6: .line 89
            return
         7: .line 91
      StackMap locals: double double
      StackMap stack:
            aload 0 /* this */
            dload 1 /* xe */
            dload 3 /* ye */
            invokevirtual com.sun.marlin.DPathSimplifier._lineTo:(DD)V
         8: .line 92
            return
        end local 7 // double dy
        end local 5 // double dx
        end local 3 // double ye
        end local 1 // double xe
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/marlin/DPathSimplifier;
            0    9     1    xe  D
            0    9     3    ye  D
            1    9     5    dx  D
            2    9     7    dy  D
    MethodParameters:
      Name  Flags
      xe    final
      ye    final

  private void _lineTo(double, double);
    descriptor: (DD)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // double xe
        start local 3 // double ye
         0: .line 95
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* xe */
            dload 3 /* ye */
            invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
         1: .line 96
            aload 0 /* this */
            dload 1 /* xe */
            putfield com.sun.marlin.DPathSimplifier.cx:D
         2: .line 97
            aload 0 /* this */
            dload 3 /* ye */
            putfield com.sun.marlin.DPathSimplifier.cy:D
         3: .line 98
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
         4: .line 99
            return
        end local 3 // double ye
        end local 1 // double xe
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/marlin/DPathSimplifier;
            0    5     1    xe  D
            0    5     3    ye  D
    MethodParameters:
      Name  Flags
      xe    final
      ye    final

  public void quadTo(double, double, double, double);
    descriptor: (DDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=13, args_size=5
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double xe
        start local 7 // double ye
         0: .line 106
            dload 5 /* xe */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 9 /* dx */
        start local 9 // double dx
         1: .line 107
            dload 7 /* ye */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 11 /* dy */
        start local 11 // double dy
         2: .line 109
            dload 9 /* dx */
            dload 9 /* dx */
            dmul
            dload 11 /* dy */
            dload 11 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 10
         3: .line 111
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 9 /* dx */
         4: .line 112
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 11 /* dy */
         5: .line 114
            dload 9 /* dx */
            dload 9 /* dx */
            dmul
            dload 11 /* dy */
            dload 11 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 10
         6: .line 115
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
         7: .line 116
            aload 0 /* this */
            dload 5 /* xe */
            putfield com.sun.marlin.DPathSimplifier.sx:D
         8: .line 117
            aload 0 /* this */
            dload 7 /* ye */
            putfield com.sun.marlin.DPathSimplifier.sy:D
         9: .line 118
            return
        10: .line 121
      StackMap locals: double double
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* xe */
            dload 7 /* ye */
            invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
        11: .line 122
            aload 0 /* this */
            dload 5 /* xe */
            putfield com.sun.marlin.DPathSimplifier.cx:D
        12: .line 123
            aload 0 /* this */
            dload 7 /* ye */
            putfield com.sun.marlin.DPathSimplifier.cy:D
        13: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
        14: .line 125
            return
        end local 11 // double dy
        end local 9 // double dx
        end local 7 // double ye
        end local 5 // double xe
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lcom/sun/marlin/DPathSimplifier;
            0   15     1    x1  D
            0   15     3    y1  D
            0   15     5    xe  D
            0   15     7    ye  D
            1   15     9    dx  D
            2   15    11    dy  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      xe    final
      ye    final

  public void curveTo(double, double, double, double, double, double);
    descriptor: (DDDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=13, locals=17, args_size=7
        start local 0 // com.sun.marlin.DPathSimplifier this
        start local 1 // double x1
        start local 3 // double y1
        start local 5 // double x2
        start local 7 // double y2
        start local 9 // double xe
        start local 11 // double ye
         0: .line 133
            dload 9 /* xe */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 13 /* dx */
        start local 13 // double dx
         1: .line 134
            dload 11 /* ye */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 15 /* dy */
        start local 15 // double dy
         2: .line 136
            dload 13 /* dx */
            dload 13 /* dx */
            dmul
            dload 15 /* dy */
            dload 15 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 13
         3: .line 138
            dload 1 /* x1 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 13 /* dx */
         4: .line 139
            dload 3 /* y1 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 15 /* dy */
         5: .line 141
            dload 13 /* dx */
            dload 13 /* dx */
            dmul
            dload 15 /* dy */
            dload 15 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 13
         6: .line 143
            dload 5 /* x2 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cx:D
            dsub
            dstore 13 /* dx */
         7: .line 144
            dload 7 /* y2 */
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.cy:D
            dsub
            dstore 15 /* dy */
         8: .line 146
            dload 13 /* dx */
            dload 13 /* dx */
            dmul
            dload 15 /* dy */
            dload 15 /* dy */
            dmul
            dadd
            getstatic com.sun.marlin.DPathSimplifier.SQUARE_TOLERANCE:D
            dcmpg
            ifgt 13
         9: .line 147
            aload 0 /* this */
            iconst_1
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
        10: .line 148
            aload 0 /* this */
            dload 9 /* xe */
            putfield com.sun.marlin.DPathSimplifier.sx:D
        11: .line 149
            aload 0 /* this */
            dload 11 /* ye */
            putfield com.sun.marlin.DPathSimplifier.sy:D
        12: .line 150
            return
        13: .line 154
      StackMap locals: double double
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.marlin.DPathSimplifier.delegate:Lcom/sun/marlin/DPathConsumer2D;
            dload 1 /* x1 */
            dload 3 /* y1 */
            dload 5 /* x2 */
            dload 7 /* y2 */
            dload 9 /* xe */
            dload 11 /* ye */
            invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
        14: .line 155
            aload 0 /* this */
            dload 9 /* xe */
            putfield com.sun.marlin.DPathSimplifier.cx:D
        15: .line 156
            aload 0 /* this */
            dload 11 /* ye */
            putfield com.sun.marlin.DPathSimplifier.cy:D
        16: .line 157
            aload 0 /* this */
            iconst_0
            putfield com.sun.marlin.DPathSimplifier.skipped:Z
        17: .line 158
            return
        end local 15 // double dy
        end local 13 // double dx
        end local 11 // double ye
        end local 9 // double xe
        end local 7 // double y2
        end local 5 // double x2
        end local 3 // double y1
        end local 1 // double x1
        end local 0 // com.sun.marlin.DPathSimplifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lcom/sun/marlin/DPathSimplifier;
            0   18     1    x1  D
            0   18     3    y1  D
            0   18     5    x2  D
            0   18     7    y2  D
            0   18     9    xe  D
            0   18    11    ye  D
            1   18    13    dx  D
            2   18    15    dy  D
    MethodParameters:
      Name  Flags
      x1    final
      y1    final
      x2    final
      y2    final
      xe    final
      ye    final
}
SourceFile: "DPathSimplifier.java"