public final class com.sun.prism.impl.shape.DMarlinPrismUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.prism.impl.shape.DMarlinPrismUtils
super_class: java.lang.Object
{
private static final boolean FORCE_NO_AA;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final boolean DISABLE_2ND_STROKER_CLIPPING;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final boolean DO_TRACE_PATH;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final boolean DO_CLIP;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final boolean DO_CLIP_FILL;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final boolean DO_CLIP_RUNTIME_ENABLE;
descriptor: Z
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final float UPPER_BND;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1.7014117E38
static final float LOWER_BND;
descriptor: F
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1.7014117E38
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 52
invokestatic com.sun.marlin.MarlinProperties.isDoClip:()Z
putstatic com.sun.prism.impl.shape.DMarlinPrismUtils.DO_CLIP:Z
1: .line 54
invokestatic com.sun.marlin.MarlinProperties.isDoClipRuntimeFlag:()Z
putstatic com.sun.prism.impl.shape.DMarlinPrismUtils.DO_CLIP_RUNTIME_ENABLE:Z
2: .line 57
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.prism.impl.shape.DMarlinPrismUtils this
0: .line 62
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 63
return
end local 0 // com.sun.prism.impl.shape.DMarlinPrismUtils this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/impl/shape/DMarlinPrismUtils;
private static com.sun.marlin.DPathConsumer2D initStroker(com.sun.marlin.DRendererContext, com.sun.prism.BasicStroke, float, com.sun.javafx.geom.transform.BaseTransform, com.sun.marlin.DPathConsumer2D);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=15, locals=25, args_size=5
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.prism.BasicStroke stroke
start local 2 // float lineWidth
start local 3 // com.sun.javafx.geom.transform.BaseTransform tx
start local 4 // com.sun.marlin.DPathConsumer2D out
0: .line 85
aconst_null
astore 5 /* strokerTx */
start local 5 // com.sun.javafx.geom.transform.BaseTransform strokerTx
1: .line 87
iconst_m1
istore 6 /* dashLen */
start local 6 // int dashLen
2: .line 88
iconst_0
istore 7 /* recycleDashes */
start local 7 // boolean recycleDashes
3: .line 89
dconst_1
dstore 8 /* scale */
start local 8 // double scale
4: .line 90
fload 2 /* lineWidth */
f2d
dstore 10 /* width */
start local 10 // double width
5: .line 91
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getDashArray:()[F
astore 12 /* dashes */
start local 12 // float[] dashes
6: .line 92
aconst_null
astore 13 /* dashesD */
start local 13 // double[] dashesD
7: .line 93
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getDashPhase:()F
f2d
dstore 14 /* dashphase */
start local 14 // double dashphase
8: .line 96
aload 12 /* dashes */
ifnull 12
9: .line 97
iconst_1
istore 7 /* recycleDashes */
10: .line 98
aload 12 /* dashes */
arraylength
istore 6 /* dashLen */
11: .line 99
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.dasher:Lcom/sun/marlin/DDasher;
aload 12 /* dashes */
invokevirtual com.sun.marlin.DDasher.copyDashArray:([F)[D
astore 13 /* dashesD */
12: .line 102
StackMap locals: com.sun.marlin.DRendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int double double float[] double[] double
StackMap stack:
aload 3 /* tx */
ifnull 30
aload 3 /* tx */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 30
13: .line 103
aload 3 /* tx */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dstore 16 /* a */
start local 16 // double a
14: .line 104
aload 3 /* tx */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dstore 18 /* b */
start local 18 // double b
15: .line 105
aload 3 /* tx */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dstore 20 /* c */
start local 20 // double c
16: .line 106
aload 3 /* tx */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dstore 22 /* d */
start local 22 // double d
17: .line 114
dload 16 /* a */
dload 18 /* b */
dmul
dload 20 /* c */
dload 22 /* d */
dmul
dadd
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.nearZero:(D)Z
ifeq 28
dload 16 /* a */
dload 16 /* a */
dmul
dload 20 /* c */
dload 20 /* c */
dmul
dadd
dload 18 /* b */
dload 18 /* b */
dmul
dload 22 /* d */
dload 22 /* d */
dmul
dadd
dsub
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.nearZero:(D)Z
ifeq 28
18: .line 115
dload 16 /* a */
dload 16 /* a */
dmul
dload 20 /* c */
dload 20 /* c */
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 8 /* scale */
19: .line 117
aload 13 /* dashesD */
ifnull 26
20: .line 118
iconst_0
istore 24 /* i */
start local 24 // int i
21: goto 24
22: .line 119
StackMap locals: com.sun.marlin.DRendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int double double float[] double[] double double double double double int
StackMap stack:
aload 13 /* dashesD */
iload 24 /* i */
dup2
daload
dload 8 /* scale */
dmul
dastore
23: .line 118
iinc 24 /* i */ 1
StackMap locals:
StackMap stack:
24: iload 24 /* i */
iload 6 /* dashLen */
if_icmplt 22
end local 24 // int i
25: .line 121
dload 14 /* dashphase */
dload 8 /* scale */
dmul
dstore 14 /* dashphase */
26: .line 123
StackMap locals:
StackMap stack:
dload 10 /* width */
dload 8 /* scale */
dmul
dstore 10 /* width */
27: .line 128
goto 31
28: .line 129
StackMap locals:
StackMap stack:
aload 3 /* tx */
astore 5 /* strokerTx */
end local 22 // double d
end local 20 // double c
end local 18 // double b
end local 16 // double a
29: .line 144
goto 31
30: .line 147
StackMap locals: com.sun.marlin.DRendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int double double float[] double[] double
StackMap stack:
aconst_null
astore 3 /* tx */
31: .line 151
StackMap locals:
StackMap stack:
dconst_0
dstore 16 /* rdrOffX */
start local 16 // double rdrOffX
32: dconst_0
dstore 18 /* rdrOffY */
start local 18 // double rdrOffY
33: .line 153
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.doClip:Z
ifeq 37
aload 3 /* tx */
ifnull 37
34: .line 154
aload 4 /* out */
checkcast com.sun.marlin.DMarlinRenderer
astore 20 /* renderer */
start local 20 // com.sun.marlin.DMarlinRenderer renderer
35: .line 155
aload 20 /* renderer */
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetX:()D
dstore 16 /* rdrOffX */
36: .line 156
aload 20 /* renderer */
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetY:()D
dstore 18 /* rdrOffY */
end local 20 // com.sun.marlin.DMarlinRenderer renderer
37: .line 160
StackMap locals: double double
StackMap stack:
aload 4 /* out */
astore 20 /* pc */
start local 20 // com.sun.marlin.DPathConsumer2D pc
38: .line 162
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
astore 21 /* transformerPC2D */
start local 21 // com.sun.marlin.DTransformingPathConsumer2D transformerPC2D
39: .line 169
getstatic com.sun.marlin.MarlinConst.USE_SIMPLIFIER:Z
ifeq 41
40: .line 172
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.simplifier:Lcom/sun/marlin/DCollinearSimplifier;
aload 20 /* pc */
invokevirtual com.sun.marlin.DCollinearSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DCollinearSimplifier;
astore 20 /* pc */
41: .line 176
StackMap locals: com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack:
aload 21 /* transformerPC2D */
aload 20 /* pc */
aload 5 /* strokerTx */
dload 16 /* rdrOffX */
dload 18 /* rdrOffY */
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.deltaTransformConsumer:(Lcom/sun/marlin/DPathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;DD)Lcom/sun/marlin/DPathConsumer2D;
astore 20 /* pc */
42: .line 179
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.stroker:Lcom/sun/marlin/DStroker;
aload 20 /* pc */
dload 10 /* width */
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
43: .line 180
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getLineJoin:()I
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getMiterLimit:()F
f2d
44: .line 181
dload 8 /* scale */
dload 16 /* rdrOffX */
dload 18 /* rdrOffY */
aload 13 /* dashesD */
ifnonnull 45
iconst_1
goto 46
StackMap locals: com.sun.marlin.DRendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int double double float[] double[] double double double com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DPathConsumer2D double int int double double double double
45: iconst_0
46: .line 179
StackMap locals: com.sun.marlin.DRendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int double double float[] double[] double double double com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DPathConsumer2D double int int double double double double int
invokevirtual com.sun.marlin.DStroker.init:(Lcom/sun/marlin/DPathConsumer2D;DIIDDDDZ)Lcom/sun/marlin/DStroker;
astore 20 /* pc */
47: .line 184
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
dload 10 /* width */
invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.init:(D)V
48: .line 186
aload 13 /* dashesD */
ifnull 54
49: .line 190
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.dasher:Lcom/sun/marlin/DDasher;
aload 20 /* pc */
aload 13 /* dashesD */
iload 6 /* dashLen */
dload 14 /* dashphase */
50: .line 191
iload 7 /* recycleDashes */
51: .line 190
invokevirtual com.sun.marlin.DDasher.init:(Lcom/sun/marlin/DPathConsumer2D;[DIDZ)Lcom/sun/marlin/DDasher;
astore 20 /* pc */
52: .line 195
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.stroker:Lcom/sun/marlin/DStroker;
invokevirtual com.sun.marlin.DStroker.disableClipping:()V
53: .line 198
goto 56
StackMap locals:
StackMap stack:
54: aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.doClip:Z
ifeq 56
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
ifeq 56
55: .line 205
aload 21 /* transformerPC2D */
aload 20 /* pc */
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.detectClosedPath:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
astore 20 /* pc */
56: .line 207
StackMap locals:
StackMap stack:
aload 21 /* transformerPC2D */
aload 20 /* pc */
aload 5 /* strokerTx */
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.inverseDeltaTransformConsumer:(Lcom/sun/marlin/DPathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/marlin/DPathConsumer2D;
astore 20 /* pc */
57: .line 225
aload 20 /* pc */
areturn
end local 21 // com.sun.marlin.DTransformingPathConsumer2D transformerPC2D
end local 20 // com.sun.marlin.DPathConsumer2D pc
end local 18 // double rdrOffY
end local 16 // double rdrOffX
end local 14 // double dashphase
end local 13 // double[] dashesD
end local 12 // float[] dashes
end local 10 // double width
end local 8 // double scale
end local 7 // boolean recycleDashes
end local 6 // int dashLen
end local 5 // com.sun.javafx.geom.transform.BaseTransform strokerTx
end local 4 // com.sun.marlin.DPathConsumer2D out
end local 3 // com.sun.javafx.geom.transform.BaseTransform tx
end local 2 // float lineWidth
end local 1 // com.sun.prism.BasicStroke stroke
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 58 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 58 1 stroke Lcom/sun/prism/BasicStroke;
0 58 2 lineWidth F
0 58 3 tx Lcom/sun/javafx/geom/transform/BaseTransform;
0 58 4 out Lcom/sun/marlin/DPathConsumer2D;
1 58 5 strokerTx Lcom/sun/javafx/geom/transform/BaseTransform;
2 58 6 dashLen I
3 58 7 recycleDashes Z
4 58 8 scale D
5 58 10 width D
6 58 12 dashes [F
7 58 13 dashesD [D
8 58 14 dashphase D
14 29 16 a D
15 29 18 b D
16 29 20 c D
17 29 22 d D
21 25 24 i I
32 58 16 rdrOffX D
33 58 18 rdrOffY D
35 37 20 renderer Lcom/sun/marlin/DMarlinRenderer;
38 58 20 pc Lcom/sun/marlin/DPathConsumer2D;
39 58 21 transformerPC2D Lcom/sun/marlin/DTransformingPathConsumer2D;
MethodParameters:
Name Flags
rdrCtx final
stroke final
lineWidth final
tx
out final
private static boolean nearZero(double);
descriptor: (D)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 // double num
0: .line 229
dload 0 /* num */
invokestatic java.lang.Math.abs:(D)D
ldc 2.0
dload 0 /* num */
invokestatic java.lang.Math.ulp:(D)D
dmul
dcmpg
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // double num
LocalVariableTable:
Start End Slot Name Signature
0 2 0 num D
MethodParameters:
Name Flags
num final
private static com.sun.marlin.DPathConsumer2D initRenderer(com.sun.marlin.DRendererContext, com.sun.prism.BasicStroke, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, int, com.sun.marlin.DMarlinRenderer);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/DMarlinRenderer;)Lcom/sun/marlin/DPathConsumer2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=6
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.prism.BasicStroke stroke
start local 2 // com.sun.javafx.geom.transform.BaseTransform tx
start local 3 // com.sun.javafx.geom.Rectangle clip
start local 4 // int piRule
start local 5 // com.sun.marlin.DMarlinRenderer renderer
0: .line 240
getstatic com.sun.prism.impl.shape.DMarlinPrismUtils.DO_CLIP:Z
ifne 1
getstatic com.sun.prism.impl.shape.DMarlinPrismUtils.DO_CLIP_RUNTIME_ENABLE:Z
ifeq 7
invokestatic com.sun.marlin.MarlinProperties.isDoClipAtRuntime:()Z
ifeq 7
1: .line 242
StackMap locals:
StackMap stack:
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.clipRect:[D
astore 6 /* clipRect */
start local 6 // double[] clipRect
2: .line 244
aload 6 /* clipRect */
iconst_0
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.y:I
i2d
dastore
3: .line 245
aload 6 /* clipRect */
iconst_1
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.height:I
iadd
i2d
dastore
4: .line 246
aload 6 /* clipRect */
iconst_2
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.x:I
i2d
dastore
5: .line 247
aload 6 /* clipRect */
iconst_3
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.width:I
iadd
i2d
dastore
6: .line 250
aload 0 /* rdrCtx */
iconst_1
putfield com.sun.marlin.DRendererContext.doClip:Z
end local 6 // double[] clipRect
7: .line 253
StackMap locals:
StackMap stack:
aload 1 /* stroke */
ifnull 12
8: .line 254
aload 5 /* renderer */
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.width:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.height:I
9: .line 255
iconst_1
10: .line 254
invokeinterface com.sun.marlin.DMarlinRenderer.init:(IIIII)Lcom/sun/marlin/DMarlinRenderer;
pop
11: .line 257
aload 0 /* rdrCtx */
aload 1 /* stroke */
aload 1 /* stroke */
invokevirtual com.sun.prism.BasicStroke.getLineWidth:()F
aload 2 /* tx */
aload 5 /* renderer */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.initStroker:(Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
areturn
12: .line 260
StackMap locals:
StackMap stack:
iload 4 /* piRule */
ifne 14
13: .line 261
iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
15: .line 260
StackMap locals:
StackMap stack: int
istore 6 /* oprule */
start local 6 // int oprule
16: .line 263
aload 5 /* renderer */
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.width:I
aload 3 /* clip */
getfield com.sun.javafx.geom.Rectangle.height:I
iload 6 /* oprule */
invokeinterface com.sun.marlin.DMarlinRenderer.init:(IIIII)Lcom/sun/marlin/DMarlinRenderer;
pop
17: .line 265
aload 5 /* renderer */
astore 7 /* pc */
start local 7 // com.sun.marlin.DPathConsumer2D pc
18: .line 267
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
astore 8 /* transformerPC2D */
start local 8 // com.sun.marlin.DTransformingPathConsumer2D transformerPC2D
19: .line 269
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.doClip:Z
ifeq 23
20: .line 270
aload 5 /* renderer */
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetX:()D
dstore 9 /* rdrOffX */
start local 9 // double rdrOffX
21: .line 271
aload 5 /* renderer */
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetY:()D
dstore 11 /* rdrOffY */
start local 11 // double rdrOffY
22: .line 277
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
aload 7 /* pc */
dload 9 /* rdrOffX */
dload 11 /* rdrOffY */
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.pathClipper:(Lcom/sun/marlin/DPathConsumer2D;DD)Lcom/sun/marlin/DPathConsumer2D;
astore 7 /* pc */
end local 11 // double rdrOffY
end local 9 // double rdrOffX
23: .line 284
StackMap locals: int com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack:
aload 7 /* pc */
areturn
end local 8 // com.sun.marlin.DTransformingPathConsumer2D transformerPC2D
end local 7 // com.sun.marlin.DPathConsumer2D pc
end local 6 // int oprule
end local 5 // com.sun.marlin.DMarlinRenderer renderer
end local 4 // int piRule
end local 3 // com.sun.javafx.geom.Rectangle clip
end local 2 // com.sun.javafx.geom.transform.BaseTransform tx
end local 1 // com.sun.prism.BasicStroke stroke
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 24 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 24 1 stroke Lcom/sun/prism/BasicStroke;
0 24 2 tx Lcom/sun/javafx/geom/transform/BaseTransform;
0 24 3 clip Lcom/sun/javafx/geom/Rectangle;
0 24 4 piRule I
0 24 5 renderer Lcom/sun/marlin/DMarlinRenderer;
2 7 6 clipRect [D
16 24 6 oprule I
18 24 7 pc Lcom/sun/marlin/DPathConsumer2D;
19 24 8 transformerPC2D Lcom/sun/marlin/DTransformingPathConsumer2D;
21 23 9 rdrOffX D
22 23 11 rdrOffY D
MethodParameters:
Name Flags
rdrCtx final
stroke final
tx final
clip final
piRule final
renderer final
public static com.sun.marlin.DMarlinRenderer setupRenderer(com.sun.marlin.DRendererContext, com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, boolean);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Z)Lcom/sun/marlin/DMarlinRenderer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.javafx.geom.Shape shape
start local 2 // com.sun.prism.BasicStroke stroke
start local 3 // com.sun.javafx.geom.transform.BaseTransform xform
start local 4 // com.sun.javafx.geom.Rectangle rclip
start local 5 // boolean antialiasedShape
0: .line 297
aload 3 /* xform */
ifnull 1
aload 3 /* xform */
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 1
aload 3 /* xform */
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.sun.javafx.geom.transform.BaseTransform
2: astore 6 /* tf */
start local 6 // com.sun.javafx.geom.transform.BaseTransform tf
3: .line 299
iload 5 /* antialiasedShape */
ifeq 5
4: .line 300
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.renderer:Lcom/sun/marlin/DRenderer;
goto 6
StackMap locals: com.sun.javafx.geom.transform.BaseTransform
StackMap stack:
5: aload 0 /* rdrCtx */
invokevirtual com.sun.marlin.DRendererContext.getRendererNoAA:()Lcom/sun/marlin/DRendererNoAA;
6: .line 299
StackMap locals:
StackMap stack: com.sun.marlin.DMarlinRenderer
astore 7 /* r */
start local 7 // com.sun.marlin.DMarlinRenderer r
7: .line 302
aload 1 /* shape */
instanceof com.sun.javafx.geom.Path2D
ifeq 12
8: .line 303
aload 1 /* shape */
checkcast com.sun.javafx.geom.Path2D
astore 8 /* p2d */
start local 8 // com.sun.javafx.geom.Path2D p2d
9: .line 304
aload 0 /* rdrCtx */
aload 2 /* stroke */
aload 6 /* tf */
aload 4 /* rclip */
aload 8 /* p2d */
invokevirtual com.sun.javafx.geom.Path2D.getWindingRule:()I
aload 7 /* r */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.initRenderer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/DMarlinRenderer;)Lcom/sun/marlin/DPathConsumer2D;
astore 9 /* pc2d */
start local 9 // com.sun.marlin.DPathConsumer2D pc2d
10: .line 305
aload 0 /* rdrCtx */
aload 8 /* p2d */
aload 6 /* tf */
aload 9 /* pc2d */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)V
end local 9 // com.sun.marlin.DPathConsumer2D pc2d
end local 8 // com.sun.javafx.geom.Path2D p2d
11: .line 306
goto 15
12: .line 307
StackMap locals: com.sun.marlin.DMarlinRenderer
StackMap stack:
aload 1 /* shape */
aload 6 /* tf */
invokevirtual com.sun.javafx.geom.Shape.getPathIterator:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathIterator;
astore 8 /* pi */
start local 8 // com.sun.javafx.geom.PathIterator pi
13: .line 308
aload 0 /* rdrCtx */
aload 2 /* stroke */
aload 6 /* tf */
aload 4 /* rclip */
aload 8 /* pi */
invokeinterface com.sun.javafx.geom.PathIterator.getWindingRule:()I
aload 7 /* r */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.initRenderer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/DMarlinRenderer;)Lcom/sun/marlin/DPathConsumer2D;
astore 9 /* pc2d */
start local 9 // com.sun.marlin.DPathConsumer2D pc2d
14: .line 309
aload 0 /* rdrCtx */
aload 8 /* pi */
aload 9 /* pc2d */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/marlin/DPathConsumer2D;)V
end local 9 // com.sun.marlin.DPathConsumer2D pc2d
end local 8 // com.sun.javafx.geom.PathIterator pi
15: .line 311
StackMap locals:
StackMap stack:
aload 7 /* r */
areturn
end local 7 // com.sun.marlin.DMarlinRenderer r
end local 6 // com.sun.javafx.geom.transform.BaseTransform tf
end local 5 // boolean antialiasedShape
end local 4 // com.sun.javafx.geom.Rectangle rclip
end local 3 // com.sun.javafx.geom.transform.BaseTransform xform
end local 2 // com.sun.prism.BasicStroke stroke
end local 1 // com.sun.javafx.geom.Shape shape
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 16 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 16 1 shape Lcom/sun/javafx/geom/Shape;
0 16 2 stroke Lcom/sun/prism/BasicStroke;
0 16 3 xform Lcom/sun/javafx/geom/transform/BaseTransform;
0 16 4 rclip Lcom/sun/javafx/geom/Rectangle;
0 16 5 antialiasedShape Z
3 16 6 tf Lcom/sun/javafx/geom/transform/BaseTransform;
7 16 7 r Lcom/sun/marlin/DMarlinRenderer;
9 11 8 p2d Lcom/sun/javafx/geom/Path2D;
10 11 9 pc2d Lcom/sun/marlin/DPathConsumer2D;
13 15 8 pi Lcom/sun/javafx/geom/PathIterator;
14 15 9 pc2d Lcom/sun/marlin/DPathConsumer2D;
MethodParameters:
Name Flags
rdrCtx final
shape final
stroke final
xform final
rclip final
antialiasedShape final
public static void strokeTo(com.sun.marlin.DRendererContext, com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke, float, com.sun.marlin.DPathConsumer2D);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;FLcom/sun/marlin/DPathConsumer2D;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.javafx.geom.Shape shape
start local 2 // com.sun.prism.BasicStroke stroke
start local 3 // float lineWidth
start local 4 // com.sun.marlin.DPathConsumer2D out
0: .line 321
aload 0 /* rdrCtx */
aload 2 /* stroke */
fload 3 /* lineWidth */
aconst_null
aload 4 /* out */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.initStroker:(Lcom/sun/marlin/DRendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
astore 5 /* pc2d */
start local 5 // com.sun.marlin.DPathConsumer2D pc2d
1: .line 323
aload 1 /* shape */
instanceof com.sun.javafx.geom.Path2D
ifeq 4
2: .line 324
aload 0 /* rdrCtx */
aload 1 /* shape */
checkcast com.sun.javafx.geom.Path2D
aconst_null
aload 5 /* pc2d */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)V
3: .line 325
goto 5
4: .line 326
StackMap locals: com.sun.marlin.DPathConsumer2D
StackMap stack:
aload 0 /* rdrCtx */
aload 1 /* shape */
aconst_null
invokevirtual com.sun.javafx.geom.Shape.getPathIterator:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathIterator;
aload 5 /* pc2d */
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/marlin/DPathConsumer2D;)V
5: .line 328
StackMap locals:
StackMap stack:
return
end local 5 // com.sun.marlin.DPathConsumer2D pc2d
end local 4 // com.sun.marlin.DPathConsumer2D out
end local 3 // float lineWidth
end local 2 // com.sun.prism.BasicStroke stroke
end local 1 // com.sun.javafx.geom.Shape shape
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 6 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 6 1 shape Lcom/sun/javafx/geom/Shape;
0 6 2 stroke Lcom/sun/prism/BasicStroke;
0 6 3 lineWidth F
0 6 4 out Lcom/sun/marlin/DPathConsumer2D;
1 6 5 pc2d Lcom/sun/marlin/DPathConsumer2D;
MethodParameters:
Name Flags
rdrCtx final
shape final
stroke final
lineWidth final
out final
private static void feedConsumer(com.sun.marlin.DRendererContext, com.sun.javafx.geom.PathIterator, com.sun.marlin.DPathConsumer2D);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/marlin/DPathConsumer2D;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=13, locals=5, args_size=3
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.javafx.geom.PathIterator pi
start local 2 // com.sun.marlin.DPathConsumer2D pc2d
0: .line 333
getstatic com.sun.marlin.MarlinConst.USE_PATH_SIMPLIFIER:Z
ifeq 2
1: .line 336
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.pathSimplifier:Lcom/sun/marlin/DPathSimplifier;
aload 2 /* pc2d */
invokevirtual com.sun.marlin.DPathSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathSimplifier;
astore 2 /* pc2d */
2: .line 340
StackMap locals:
StackMap stack:
aload 0 /* rdrCtx */
iconst_1
putfield com.sun.marlin.DRendererContext.dirty:Z
3: .line 342
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.float6:[F
astore 3 /* coords */
start local 3 // float[] coords
4: .line 347
iconst_0
istore 4 /* subpathStarted */
start local 4 // boolean subpathStarted
5: .line 349
goto 54
6: .line 350
StackMap locals: float[] int
StackMap stack:
aload 1 /* pi */
aload 3 /* coords */
invokeinterface com.sun.javafx.geom.PathIterator.currentSegment:([F)I
tableswitch { // 0 - 4
0: 7
1: 12
2: 20
3: 34
4: 51
default: 53
}
7: .line 357
StackMap locals:
StackMap stack:
aload 3 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 53
8: .line 358
aload 3 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 53
9: .line 360
aload 2 /* pc2d */
aload 3 /* coords */
iconst_0
faload
f2d
aload 3 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
10: .line 361
iconst_1
istore 4 /* subpathStarted */
11: .line 363
goto 53
12: .line 371
StackMap locals:
StackMap stack:
aload 3 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 53
13: .line 372
aload 3 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 53
14: .line 374
iload 4 /* subpathStarted */
ifeq 17
15: .line 375
aload 2 /* pc2d */
aload 3 /* coords */
iconst_0
faload
f2d
aload 3 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
16: .line 376
goto 53
17: .line 377
StackMap locals:
StackMap stack:
aload 2 /* pc2d */
aload 3 /* coords */
iconst_0
faload
f2d
aload 3 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
18: .line 378
iconst_1
istore 4 /* subpathStarted */
19: .line 381
goto 53
20: .line 391
StackMap locals:
StackMap stack:
aload 3 /* coords */
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 53
21: .line 392
aload 3 /* coords */
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 53
22: .line 394
iload 4 /* subpathStarted */
ifeq 31
23: .line 395
aload 3 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 29
aload 3 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 29
24: .line 396
aload 3 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 29
aload 3 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 29
25: .line 398
aload 2 /* pc2d */
aload 3 /* coords */
iconst_0
faload
f2d
aload 3 /* coords */
iconst_1
faload
f2d
26: .line 399
aload 3 /* coords */
iconst_2
faload
f2d
aload 3 /* coords */
iconst_3
faload
f2d
27: .line 398
invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
28: .line 400
goto 53
29: .line 401
StackMap locals:
StackMap stack:
aload 2 /* pc2d */
aload 3 /* coords */
iconst_2
faload
f2d
aload 3 /* coords */
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
30: .line 403
goto 53
31: .line 404
StackMap locals:
StackMap stack:
aload 2 /* pc2d */
aload 3 /* coords */
iconst_2
faload
f2d
aload 3 /* coords */
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
32: .line 405
iconst_1
istore 4 /* subpathStarted */
33: .line 408
goto 53
34: .line 418
StackMap locals:
StackMap stack:
aload 3 /* coords */
iconst_4
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_4
faload
ldc -1.7014117E38
fcmpl
ifle 53
35: .line 419
aload 3 /* coords */
iconst_5
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3 /* coords */
iconst_5
faload
ldc -1.7014117E38
fcmpl
ifle 53
36: .line 421
iload 4 /* subpathStarted */
ifeq 48
37: .line 422
aload 3 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 46
38: .line 423
aload 3 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 46
39: .line 424
aload 3 /* coords */
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3 /* coords */
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 46
40: .line 425
aload 3 /* coords */
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3 /* coords */
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 46
41: .line 427
aload 2 /* pc2d */
aload 3 /* coords */
iconst_0
faload
f2d
aload 3 /* coords */
iconst_1
faload
f2d
42: .line 428
aload 3 /* coords */
iconst_2
faload
f2d
aload 3 /* coords */
iconst_3
faload
f2d
43: .line 429
aload 3 /* coords */
iconst_4
faload
f2d
aload 3 /* coords */
iconst_5
faload
f2d
44: .line 427
invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
45: .line 430
goto 53
46: .line 431
StackMap locals:
StackMap stack:
aload 2 /* pc2d */
aload 3 /* coords */
iconst_4
faload
f2d
aload 3 /* coords */
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
47: .line 433
goto 53
48: .line 434
StackMap locals:
StackMap stack:
aload 2 /* pc2d */
aload 3 /* coords */
iconst_4
faload
f2d
aload 3 /* coords */
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
49: .line 435
iconst_1
istore 4 /* subpathStarted */
50: .line 438
goto 53
51: .line 440
StackMap locals:
StackMap stack:
iload 4 /* subpathStarted */
ifeq 53
52: .line 441
aload 2 /* pc2d */
invokeinterface com.sun.marlin.DPathConsumer2D.closePath:()V
53: .line 349
StackMap locals:
StackMap stack:
aload 1 /* pi */
invokeinterface com.sun.javafx.geom.PathIterator.next:()V
StackMap locals:
StackMap stack:
54: aload 1 /* pi */
invokeinterface com.sun.javafx.geom.PathIterator.isDone:()Z
ifeq 6
55: .line 449
aload 2 /* pc2d */
invokeinterface com.sun.marlin.DPathConsumer2D.pathDone:()V
56: .line 452
aload 0 /* rdrCtx */
iconst_0
putfield com.sun.marlin.DRendererContext.dirty:Z
57: .line 453
return
end local 4 // boolean subpathStarted
end local 3 // float[] coords
end local 2 // com.sun.marlin.DPathConsumer2D pc2d
end local 1 // com.sun.javafx.geom.PathIterator pi
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 58 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 58 1 pi Lcom/sun/javafx/geom/PathIterator;
0 58 2 pc2d Lcom/sun/marlin/DPathConsumer2D;
4 58 3 coords [F
5 58 4 subpathStarted Z
MethodParameters:
Name Flags
rdrCtx final
pi final
pc2d
private static void feedConsumer(com.sun.marlin.DRendererContext, com.sun.javafx.geom.Path2D, com.sun.javafx.geom.transform.BaseTransform, com.sun.marlin.DPathConsumer2D);
descriptor: (Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=13, locals=11, args_size=4
start local 0 // com.sun.marlin.DRendererContext rdrCtx
start local 1 // com.sun.javafx.geom.Path2D p2d
start local 2 // com.sun.javafx.geom.transform.BaseTransform xform
start local 3 // com.sun.marlin.DPathConsumer2D pc2d
0: .line 460
getstatic com.sun.marlin.MarlinConst.USE_PATH_SIMPLIFIER:Z
ifeq 2
1: .line 463
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.pathSimplifier:Lcom/sun/marlin/DPathSimplifier;
aload 3 /* pc2d */
invokevirtual com.sun.marlin.DPathSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathSimplifier;
astore 3 /* pc2d */
2: .line 467
StackMap locals:
StackMap stack:
aload 0 /* rdrCtx */
iconst_1
putfield com.sun.marlin.DRendererContext.dirty:Z
3: .line 469
aload 0 /* rdrCtx */
getfield com.sun.marlin.DRendererContext.float6:[F
astore 4 /* coords */
start local 4 // float[] coords
4: .line 474
iconst_0
istore 5 /* subpathStarted */
start local 5 // boolean subpathStarted
5: .line 476
aload 1 /* p2d */
invokevirtual com.sun.javafx.geom.Path2D.getFloatCoordsNoClone:()[F
astore 6 /* pCoords */
start local 6 // float[] pCoords
6: .line 477
aload 1 /* p2d */
invokevirtual com.sun.javafx.geom.Path2D.getCommandsNoClone:()[B
astore 7 /* pTypes */
start local 7 // byte[] pTypes
7: .line 478
aload 1 /* p2d */
invokevirtual com.sun.javafx.geom.Path2D.getNumCommands:()I
istore 8 /* nsegs */
start local 8 // int nsegs
8: .line 480
iconst_0
istore 9 /* i */
start local 9 // int i
9: iconst_0
istore 10 /* coff */
start local 10 // int coff
10: goto 89
11: .line 481
StackMap locals: com.sun.marlin.DRendererContext com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform com.sun.marlin.DPathConsumer2D float[] int float[] byte[] int int int
StackMap stack:
aload 7 /* pTypes */
iload 9 /* i */
baload
tableswitch { // 0 - 4
0: 12
1: 23
2: 37
3: 59
4: 86
default: 88
}
12: .line 483
StackMap locals:
StackMap stack:
aload 2 /* xform */
ifnonnull 16
13: .line 484
aload 4 /* coords */
iconst_0
aload 6 /* pCoords */
iload 10 /* coff */
faload
fastore
14: .line 485
aload 4 /* coords */
iconst_1
aload 6 /* pCoords */
iload 10 /* coff */
iconst_1
iadd
faload
fastore
15: .line 486
goto 17
16: .line 487
StackMap locals:
StackMap stack:
aload 2 /* xform */
aload 6 /* pCoords */
iload 10 /* coff */
aload 4 /* coords */
iconst_0
iconst_1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
17: .line 489
StackMap locals:
StackMap stack:
iinc 10 /* coff */ 2
18: .line 495
aload 4 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 88
19: .line 496
aload 4 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 88
20: .line 498
aload 3 /* pc2d */
aload 4 /* coords */
iconst_0
faload
f2d
aload 4 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
21: .line 499
iconst_1
istore 5 /* subpathStarted */
22: .line 501
goto 88
23: .line 503
StackMap locals:
StackMap stack:
aload 2 /* xform */
ifnonnull 27
24: .line 504
aload 4 /* coords */
iconst_0
aload 6 /* pCoords */
iload 10 /* coff */
faload
fastore
25: .line 505
aload 4 /* coords */
iconst_1
aload 6 /* pCoords */
iload 10 /* coff */
iconst_1
iadd
faload
fastore
26: .line 506
goto 28
27: .line 507
StackMap locals:
StackMap stack:
aload 2 /* xform */
aload 6 /* pCoords */
iload 10 /* coff */
aload 4 /* coords */
iconst_0
iconst_1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
28: .line 509
StackMap locals:
StackMap stack:
iinc 10 /* coff */ 2
29: .line 516
aload 4 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 88
30: .line 517
aload 4 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 88
31: .line 519
iload 5 /* subpathStarted */
ifeq 34
32: .line 520
aload 3 /* pc2d */
aload 4 /* coords */
iconst_0
faload
f2d
aload 4 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
33: .line 521
goto 88
34: .line 522
StackMap locals:
StackMap stack:
aload 3 /* pc2d */
aload 4 /* coords */
iconst_0
faload
f2d
aload 4 /* coords */
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
35: .line 523
iconst_1
istore 5 /* subpathStarted */
36: .line 526
goto 88
37: .line 528
StackMap locals:
StackMap stack:
aload 2 /* xform */
ifnonnull 43
38: .line 529
aload 4 /* coords */
iconst_0
aload 6 /* pCoords */
iload 10 /* coff */
faload
fastore
39: .line 530
aload 4 /* coords */
iconst_1
aload 6 /* pCoords */
iload 10 /* coff */
iconst_1
iadd
faload
fastore
40: .line 531
aload 4 /* coords */
iconst_2
aload 6 /* pCoords */
iload 10 /* coff */
iconst_2
iadd
faload
fastore
41: .line 532
aload 4 /* coords */
iconst_3
aload 6 /* pCoords */
iload 10 /* coff */
iconst_3
iadd
faload
fastore
42: .line 533
goto 44
43: .line 534
StackMap locals:
StackMap stack:
aload 2 /* xform */
aload 6 /* pCoords */
iload 10 /* coff */
aload 4 /* coords */
iconst_0
iconst_2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
44: .line 536
StackMap locals:
StackMap stack:
iinc 10 /* coff */ 4
45: .line 545
aload 4 /* coords */
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 88
46: .line 546
aload 4 /* coords */
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 88
47: .line 548
iload 5 /* subpathStarted */
ifeq 56
48: .line 549
aload 4 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 54
aload 4 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 54
49: .line 550
aload 4 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 54
aload 4 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 54
50: .line 552
aload 3 /* pc2d */
aload 4 /* coords */
iconst_0
faload
f2d
aload 4 /* coords */
iconst_1
faload
f2d
51: .line 553
aload 4 /* coords */
iconst_2
faload
f2d
aload 4 /* coords */
iconst_3
faload
f2d
52: .line 552
invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
53: .line 554
goto 88
54: .line 555
StackMap locals:
StackMap stack:
aload 3 /* pc2d */
aload 4 /* coords */
iconst_2
faload
f2d
aload 4 /* coords */
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
55: .line 557
goto 88
56: .line 558
StackMap locals:
StackMap stack:
aload 3 /* pc2d */
aload 4 /* coords */
iconst_2
faload
f2d
aload 4 /* coords */
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
57: .line 559
iconst_1
istore 5 /* subpathStarted */
58: .line 562
goto 88
59: .line 564
StackMap locals:
StackMap stack:
aload 2 /* xform */
ifnonnull 67
60: .line 565
aload 4 /* coords */
iconst_0
aload 6 /* pCoords */
iload 10 /* coff */
faload
fastore
61: .line 566
aload 4 /* coords */
iconst_1
aload 6 /* pCoords */
iload 10 /* coff */
iconst_1
iadd
faload
fastore
62: .line 567
aload 4 /* coords */
iconst_2
aload 6 /* pCoords */
iload 10 /* coff */
iconst_2
iadd
faload
fastore
63: .line 568
aload 4 /* coords */
iconst_3
aload 6 /* pCoords */
iload 10 /* coff */
iconst_3
iadd
faload
fastore
64: .line 569
aload 4 /* coords */
iconst_4
aload 6 /* pCoords */
iload 10 /* coff */
iconst_4
iadd
faload
fastore
65: .line 570
aload 4 /* coords */
iconst_5
aload 6 /* pCoords */
iload 10 /* coff */
iconst_5
iadd
faload
fastore
66: .line 571
goto 68
67: .line 572
StackMap locals:
StackMap stack:
aload 2 /* xform */
aload 6 /* pCoords */
iload 10 /* coff */
aload 4 /* coords */
iconst_0
iconst_3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
68: .line 574
StackMap locals:
StackMap stack:
iinc 10 /* coff */ 6
69: .line 583
aload 4 /* coords */
iconst_4
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_4
faload
ldc -1.7014117E38
fcmpl
ifle 88
70: .line 584
aload 4 /* coords */
iconst_5
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4 /* coords */
iconst_5
faload
ldc -1.7014117E38
fcmpl
ifle 88
71: .line 586
iload 5 /* subpathStarted */
ifeq 83
72: .line 587
aload 4 /* coords */
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4 /* coords */
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 81
73: .line 588
aload 4 /* coords */
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4 /* coords */
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 81
74: .line 589
aload 4 /* coords */
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4 /* coords */
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 81
75: .line 590
aload 4 /* coords */
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4 /* coords */
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 81
76: .line 592
aload 3 /* pc2d */
aload 4 /* coords */
iconst_0
faload
f2d
aload 4 /* coords */
iconst_1
faload
f2d
77: .line 593
aload 4 /* coords */
iconst_2
faload
f2d
aload 4 /* coords */
iconst_3
faload
f2d
78: .line 594
aload 4 /* coords */
iconst_4
faload
f2d
aload 4 /* coords */
iconst_5
faload
f2d
79: .line 592
invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
80: .line 595
goto 88
81: .line 596
StackMap locals:
StackMap stack:
aload 3 /* pc2d */
aload 4 /* coords */
iconst_4
faload
f2d
aload 4 /* coords */
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
82: .line 598
goto 88
83: .line 599
StackMap locals:
StackMap stack:
aload 3 /* pc2d */
aload 4 /* coords */
iconst_4
faload
f2d
aload 4 /* coords */
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
84: .line 600
iconst_1
istore 5 /* subpathStarted */
85: .line 603
goto 88
86: .line 605
StackMap locals:
StackMap stack:
iload 5 /* subpathStarted */
ifeq 88
87: .line 606
aload 3 /* pc2d */
invokeinterface com.sun.marlin.DPathConsumer2D.closePath:()V
88: .line 480
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
89: iload 9 /* i */
iload 8 /* nsegs */
if_icmplt 11
end local 10 // int coff
end local 9 // int i
90: .line 614
aload 3 /* pc2d */
invokeinterface com.sun.marlin.DPathConsumer2D.pathDone:()V
91: .line 617
aload 0 /* rdrCtx */
iconst_0
putfield com.sun.marlin.DRendererContext.dirty:Z
92: .line 618
return
end local 8 // int nsegs
end local 7 // byte[] pTypes
end local 6 // float[] pCoords
end local 5 // boolean subpathStarted
end local 4 // float[] coords
end local 3 // com.sun.marlin.DPathConsumer2D pc2d
end local 2 // com.sun.javafx.geom.transform.BaseTransform xform
end local 1 // com.sun.javafx.geom.Path2D p2d
end local 0 // com.sun.marlin.DRendererContext rdrCtx
LocalVariableTable:
Start End Slot Name Signature
0 93 0 rdrCtx Lcom/sun/marlin/DRendererContext;
0 93 1 p2d Lcom/sun/javafx/geom/Path2D;
0 93 2 xform Lcom/sun/javafx/geom/transform/BaseTransform;
0 93 3 pc2d Lcom/sun/marlin/DPathConsumer2D;
4 93 4 coords [F
5 93 5 subpathStarted Z
6 93 6 pCoords [F
7 93 7 pTypes [B
8 93 8 nsegs I
9 90 9 i I
10 90 10 coff I
MethodParameters:
Name Flags
rdrCtx final
p2d final
xform final
pc2d
}
SourceFile: "DMarlinPrismUtils.java"
InnerClasses:
public final CurveBasicMonotonizer = com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer of com.sun.marlin.DTransformingPathConsumer2D