public final class com.sun.prism.impl.shape.MarlinPrismUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.prism.impl.shape.MarlinPrismUtils
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: invokestatic com.sun.marlin.MarlinProperties.isDoClip:()Z
putstatic com.sun.prism.impl.shape.MarlinPrismUtils.DO_CLIP:Z
1: invokestatic com.sun.marlin.MarlinProperties.isDoClipRuntimeFlag:()Z
putstatic com.sun.prism.impl.shape.MarlinPrismUtils.DO_CLIP_RUNTIME_ENABLE:Z
2: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/impl/shape/MarlinPrismUtils;
private static com.sun.javafx.geom.PathConsumer2D initStroker(com.sun.marlin.RendererContext, com.sun.prism.BasicStroke, float, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.PathConsumer2D);
descriptor: (Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=12, locals=21, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: iconst_m1
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: fconst_1
fstore 8
start local 8 4: fload 2
fstore 9
start local 9 5: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashArray:()[F
astore 10
start local 10 6: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashPhase:()F
fstore 11
start local 11 7: aload 3
ifnull 28
aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 28
8: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dstore 12
start local 12 9: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dstore 14
start local 14 10: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dstore 16
start local 16 11: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dstore 18
start local 18 12: dload 12
dload 14
dmul
dload 16
dload 18
dmul
dadd
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.nearZero:(D)Z
ifeq 26
dload 12
dload 12
dmul
dload 16
dload 16
dmul
dadd
dload 14
dload 14
dmul
dload 18
dload 18
dmul
dadd
dsub
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.nearZero:(D)Z
ifeq 26
13: dload 12
dload 12
dmul
dload 16
dload 16
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
d2f
fstore 8
14: aload 10
ifnull 24
15: iconst_1
istore 7
16: aload 10
arraylength
istore 6
17: aload 0
getfield com.sun.marlin.RendererContext.dasher:Lcom/sun/marlin/Dasher;
aload 10
invokevirtual com.sun.marlin.Dasher.copyDashArray:([F)[F
astore 10
18: iconst_0
istore 20
start local 20 19: goto 22
20: StackMap locals: com.sun.marlin.RendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.PathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int float float float[] float double double double double int
StackMap stack:
aload 10
iload 20
dup2
faload
fload 8
fmul
fastore
21: iinc 20 1
StackMap locals:
StackMap stack:
22: iload 20
iload 6
if_icmplt 20
end local 20 23: fload 11
fload 8
fmul
fstore 11
24: StackMap locals:
StackMap stack:
fload 9
fload 8
fmul
fstore 9
25: goto 29
26: StackMap locals:
StackMap stack:
aload 3
astore 5
end local 18 end local 16 end local 14 end local 12 27: goto 29
28: StackMap locals: com.sun.marlin.RendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.PathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int float float float[] float
StackMap stack:
aconst_null
astore 3
29: StackMap locals:
StackMap stack:
fconst_0
fstore 12
start local 12 30: fconst_0
fstore 13
start local 13 31: aload 0
getfield com.sun.marlin.RendererContext.doClip:Z
ifeq 35
aload 3
ifnull 35
32: aload 4
checkcast com.sun.marlin.MarlinRenderer
astore 14
start local 14 33: aload 14
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetX:()F
fstore 12
34: aload 14
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetY:()F
fstore 13
end local 14 35: StackMap locals: float float
StackMap stack:
aload 4
astore 14
start local 14 36: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
astore 15
start local 15 37: getstatic com.sun.marlin.MarlinConst.USE_SIMPLIFIER:Z
ifeq 39
38: aload 0
getfield com.sun.marlin.RendererContext.simplifier:Lcom/sun/marlin/CollinearSimplifier;
aload 14
invokevirtual com.sun.marlin.CollinearSimplifier.init:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/marlin/CollinearSimplifier;
astore 14
39: StackMap locals: com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack:
aload 15
aload 14
aload 5
fload 12
fload 13
invokevirtual com.sun.marlin.TransformingPathConsumer2D.deltaTransformConsumer:(Lcom/sun/javafx/geom/PathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;FF)Lcom/sun/javafx/geom/PathConsumer2D;
astore 14
40: aload 0
getfield com.sun.marlin.RendererContext.stroker:Lcom/sun/marlin/Stroker;
aload 14
fload 9
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
41: aload 1
invokevirtual com.sun.prism.BasicStroke.getLineJoin:()I
aload 1
invokevirtual com.sun.prism.BasicStroke.getMiterLimit:()F
42: fload 8
fload 12
f2d
fload 13
f2d
aload 10
ifnonnull 43
iconst_1
goto 44
StackMap locals: com.sun.marlin.RendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.PathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int float float float[] float float float com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack: com.sun.marlin.Stroker com.sun.javafx.geom.PathConsumer2D float int int float float double double
43: iconst_0
44: StackMap locals: com.sun.marlin.RendererContext com.sun.prism.BasicStroke float com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.PathConsumer2D com.sun.javafx.geom.transform.BaseTransform int int float float float[] float float float com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack: com.sun.marlin.Stroker com.sun.javafx.geom.PathConsumer2D float int int float float double double int
invokevirtual com.sun.marlin.Stroker.init:(Lcom/sun/javafx/geom/PathConsumer2D;FIIFFDDZ)Lcom/sun/marlin/Stroker;
astore 14
45: aload 0
getfield com.sun.marlin.RendererContext.monotonizer:Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
fload 9
invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.init:(F)V
46: aload 10
ifnull 54
47: iload 7
ifne 49
48: aload 10
arraylength
istore 6
49: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.RendererContext.dasher:Lcom/sun/marlin/Dasher;
aload 14
aload 10
iload 6
fload 11
50: iload 7
51: invokevirtual com.sun.marlin.Dasher.init:(Lcom/sun/javafx/geom/PathConsumer2D;[FIFZ)Lcom/sun/marlin/Dasher;
astore 14
52: aload 0
getfield com.sun.marlin.RendererContext.stroker:Lcom/sun/marlin/Stroker;
invokevirtual com.sun.marlin.Stroker.disableClipping:()V
53: goto 56
StackMap locals:
StackMap stack:
54: aload 0
getfield com.sun.marlin.RendererContext.doClip:Z
ifeq 56
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
ifeq 56
55: aload 15
aload 14
invokevirtual com.sun.marlin.TransformingPathConsumer2D.detectClosedPath:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 14
56: StackMap locals:
StackMap stack:
aload 15
aload 14
aload 5
invokevirtual com.sun.marlin.TransformingPathConsumer2D.inverseDeltaTransformConsumer:(Lcom/sun/javafx/geom/PathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 14
57: aload 14
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 rdrCtx Lcom/sun/marlin/RendererContext;
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/javafx/geom/PathConsumer2D;
1 58 5 strokerTx Lcom/sun/javafx/geom/transform/BaseTransform;
2 58 6 dashLen I
3 58 7 recycleDashes Z
4 58 8 scale F
5 58 9 width F
6 58 10 dashes [F
7 58 11 dashphase F
9 27 12 a D
10 27 14 b D
11 27 16 c D
12 27 18 d D
19 23 20 i I
30 58 12 rdrOffX F
31 58 13 rdrOffY F
33 35 14 renderer Lcom/sun/marlin/MarlinRenderer;
36 58 14 pc Lcom/sun/javafx/geom/PathConsumer2D;
37 58 15 transformerPC2D Lcom/sun/marlin/TransformingPathConsumer2D;
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 0: dload 0
invokestatic java.lang.Math.abs:(D)D
ldc 2.0
dload 0
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 LocalVariableTable:
Start End Slot Name Signature
0 2 0 num D
MethodParameters:
Name Flags
num final
private static com.sun.javafx.geom.PathConsumer2D initRenderer(com.sun.marlin.RendererContext, com.sun.prism.BasicStroke, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, int, com.sun.marlin.MarlinRenderer);
descriptor: (Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/MarlinRenderer;)Lcom/sun/javafx/geom/PathConsumer2D;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic com.sun.prism.impl.shape.MarlinPrismUtils.DO_CLIP:Z
ifne 1
getstatic com.sun.prism.impl.shape.MarlinPrismUtils.DO_CLIP_RUNTIME_ENABLE:Z
ifeq 7
invokestatic com.sun.marlin.MarlinProperties.isDoClipAtRuntime:()Z
ifeq 7
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.RendererContext.clipRect:[F
astore 6
start local 6 2: aload 6
iconst_0
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
i2f
fastore
3: aload 6
iconst_1
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3
getfield com.sun.javafx.geom.Rectangle.height:I
iadd
i2f
fastore
4: aload 6
iconst_2
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
i2f
fastore
5: aload 6
iconst_3
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3
getfield com.sun.javafx.geom.Rectangle.width:I
iadd
i2f
fastore
6: aload 0
iconst_1
putfield com.sun.marlin.RendererContext.doClip:Z
end local 6 7: StackMap locals:
StackMap stack:
aload 1
ifnull 12
8: aload 5
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3
getfield com.sun.javafx.geom.Rectangle.width:I
aload 3
getfield com.sun.javafx.geom.Rectangle.height:I
9: iconst_1
10: invokeinterface com.sun.marlin.MarlinRenderer.init:(IIIII)Lcom/sun/marlin/MarlinRenderer;
pop
11: aload 0
aload 1
aload 1
invokevirtual com.sun.prism.BasicStroke.getLineWidth:()F
aload 2
aload 5
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.initStroker:(Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
areturn
12: StackMap locals:
StackMap stack:
iload 4
ifne 14
13: iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
15: StackMap locals:
StackMap stack: int
istore 6
start local 6 16: aload 5
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
aload 3
getfield com.sun.javafx.geom.Rectangle.width:I
aload 3
getfield com.sun.javafx.geom.Rectangle.height:I
iload 6
invokeinterface com.sun.marlin.MarlinRenderer.init:(IIIII)Lcom/sun/marlin/MarlinRenderer;
pop
17: aload 5
astore 7
start local 7 18: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
astore 8
start local 8 19: aload 0
getfield com.sun.marlin.RendererContext.doClip:Z
ifeq 23
20: aload 5
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetX:()F
fstore 9
start local 9 21: aload 5
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetY:()F
fstore 10
start local 10 22: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
aload 7
fload 9
fload 10
invokevirtual com.sun.marlin.TransformingPathConsumer2D.pathClipper:(Lcom/sun/javafx/geom/PathConsumer2D;FF)Lcom/sun/javafx/geom/PathConsumer2D;
astore 7
end local 10 end local 9 23: StackMap locals: int com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack:
aload 7
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 rdrCtx Lcom/sun/marlin/RendererContext;
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/MarlinRenderer;
2 7 6 clipRect [F
16 24 6 oprule I
18 24 7 pc Lcom/sun/javafx/geom/PathConsumer2D;
19 24 8 transformerPC2D Lcom/sun/marlin/TransformingPathConsumer2D;
21 23 9 rdrOffX F
22 23 10 rdrOffY F
MethodParameters:
Name Flags
rdrCtx final
stroke final
tx final
clip final
piRule final
renderer final
public static com.sun.marlin.MarlinRenderer setupRenderer(com.sun.marlin.RendererContext, 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/RendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Z)Lcom/sun/marlin/MarlinRenderer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
ifnull 1
aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 1
aload 3
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.sun.javafx.geom.transform.BaseTransform
2: astore 6
start local 6 3: iload 5
ifeq 5
4: aload 0
getfield com.sun.marlin.RendererContext.renderer:Lcom/sun/marlin/Renderer;
goto 6
StackMap locals: com.sun.javafx.geom.transform.BaseTransform
StackMap stack:
5: aload 0
invokevirtual com.sun.marlin.RendererContext.getRendererNoAA:()Lcom/sun/marlin/RendererNoAA;
6: StackMap locals:
StackMap stack: com.sun.marlin.MarlinRenderer
astore 7
start local 7 7: aload 1
instanceof com.sun.javafx.geom.Path2D
ifeq 12
8: aload 1
checkcast com.sun.javafx.geom.Path2D
astore 8
start local 8 9: aload 0
aload 2
aload 6
aload 4
aload 8
invokevirtual com.sun.javafx.geom.Path2D.getWindingRule:()I
aload 7
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.initRenderer:(Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/MarlinRenderer;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 9
start local 9 10: aload 0
aload 8
aload 6
aload 9
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)V
end local 9 end local 8 11: goto 15
12: StackMap locals: com.sun.marlin.MarlinRenderer
StackMap stack:
aload 1
aload 6
invokevirtual com.sun.javafx.geom.Shape.getPathIterator:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathIterator;
astore 8
start local 8 13: aload 0
aload 2
aload 6
aload 4
aload 8
invokeinterface com.sun.javafx.geom.PathIterator.getWindingRule:()I
aload 7
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.initRenderer:(Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;ILcom/sun/marlin/MarlinRenderer;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 9
start local 9 14: aload 0
aload 8
aload 9
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/javafx/geom/PathConsumer2D;)V
end local 9 end local 8 15: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 rdrCtx Lcom/sun/marlin/RendererContext;
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/MarlinRenderer;
9 11 8 p2d Lcom/sun/javafx/geom/Path2D;
10 11 9 pc2d Lcom/sun/javafx/geom/PathConsumer2D;
13 15 8 pi Lcom/sun/javafx/geom/PathIterator;
14 15 9 pc2d Lcom/sun/javafx/geom/PathConsumer2D;
MethodParameters:
Name Flags
rdrCtx final
shape final
stroke final
xform final
rclip final
antialiasedShape final
public static void strokeTo(com.sun.marlin.RendererContext, com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke, float, com.sun.javafx.geom.PathConsumer2D);
descriptor: (Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/PathConsumer2D;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
fload 3
aconst_null
aload 4
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.initStroker:(Lcom/sun/marlin/RendererContext;Lcom/sun/prism/BasicStroke;FLcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 5
start local 5 1: aload 1
instanceof com.sun.javafx.geom.Path2D
ifeq 4
2: aload 0
aload 1
checkcast com.sun.javafx.geom.Path2D
aconst_null
aload 5
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)V
3: goto 5
4: StackMap locals: com.sun.javafx.geom.PathConsumer2D
StackMap stack:
aload 0
aload 1
aconst_null
invokevirtual com.sun.javafx.geom.Shape.getPathIterator:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathIterator;
aload 5
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/javafx/geom/PathConsumer2D;)V
5: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 rdrCtx Lcom/sun/marlin/RendererContext;
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/javafx/geom/PathConsumer2D;
1 6 5 pc2d Lcom/sun/javafx/geom/PathConsumer2D;
MethodParameters:
Name Flags
rdrCtx final
shape final
stroke final
lineWidth final
out final
private static void feedConsumer(com.sun.marlin.RendererContext, com.sun.javafx.geom.PathIterator, com.sun.javafx.geom.PathConsumer2D);
descriptor: (Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/javafx/geom/PathConsumer2D;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.sun.marlin.MarlinConst.USE_PATH_SIMPLIFIER:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.RendererContext.pathSimplifier:Lcom/sun/marlin/PathSimplifier;
aload 2
invokevirtual com.sun.marlin.PathSimplifier.init:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/marlin/PathSimplifier;
astore 2
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.RendererContext.dirty:Z
3: aload 0
getfield com.sun.marlin.RendererContext.float6:[F
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 54
6: StackMap locals: float[] int
StackMap stack:
aload 1
aload 3
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: StackMap locals:
StackMap stack:
aload 3
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 53
8: aload 3
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 53
9: aload 2
aload 3
iconst_0
faload
aload 3
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
10: iconst_1
istore 4
11: goto 53
12: StackMap locals:
StackMap stack:
aload 3
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 53
13: aload 3
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 53
14: iload 4
ifeq 17
15: aload 2
aload 3
iconst_0
faload
aload 3
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
16: goto 53
17: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_0
faload
aload 3
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
18: iconst_1
istore 4
19: goto 53
20: StackMap locals:
StackMap stack:
aload 3
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 53
21: aload 3
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 53
22: iload 4
ifeq 31
23: aload 3
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 29
aload 3
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 29
24: aload 3
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 29
aload 3
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 29
25: aload 2
aload 3
iconst_0
faload
aload 3
iconst_1
faload
26: aload 3
iconst_2
faload
aload 3
iconst_3
faload
27: invokeinterface com.sun.javafx.geom.PathConsumer2D.quadTo:(FFFF)V
28: goto 53
29: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_2
faload
aload 3
iconst_3
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
30: goto 53
31: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_2
faload
aload 3
iconst_3
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
32: iconst_1
istore 4
33: goto 53
34: StackMap locals:
StackMap stack:
aload 3
iconst_4
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_4
faload
ldc -1.7014117E38
fcmpl
ifle 53
35: aload 3
iconst_5
faload
ldc 1.7014117E38
fcmpg
ifge 53
aload 3
iconst_5
faload
ldc -1.7014117E38
fcmpl
ifle 53
36: iload 4
ifeq 48
37: aload 3
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 46
38: aload 3
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 46
39: aload 3
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 46
40: aload 3
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 46
aload 3
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 46
41: aload 2
aload 3
iconst_0
faload
aload 3
iconst_1
faload
42: aload 3
iconst_2
faload
aload 3
iconst_3
faload
43: aload 3
iconst_4
faload
aload 3
iconst_5
faload
44: invokeinterface com.sun.javafx.geom.PathConsumer2D.curveTo:(FFFFFF)V
45: goto 53
46: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_4
faload
aload 3
iconst_5
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
47: goto 53
48: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_4
faload
aload 3
iconst_5
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
49: iconst_1
istore 4
50: goto 53
51: StackMap locals:
StackMap stack:
iload 4
ifeq 53
52: aload 2
invokeinterface com.sun.javafx.geom.PathConsumer2D.closePath:()V
53: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.sun.javafx.geom.PathIterator.next:()V
StackMap locals:
StackMap stack:
54: aload 1
invokeinterface com.sun.javafx.geom.PathIterator.isDone:()Z
ifeq 6
55: aload 2
invokeinterface com.sun.javafx.geom.PathConsumer2D.pathDone:()V
56: aload 0
iconst_0
putfield com.sun.marlin.RendererContext.dirty:Z
57: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 rdrCtx Lcom/sun/marlin/RendererContext;
0 58 1 pi Lcom/sun/javafx/geom/PathIterator;
0 58 2 pc2d Lcom/sun/javafx/geom/PathConsumer2D;
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.RendererContext, com.sun.javafx.geom.Path2D, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.PathConsumer2D);
descriptor: (Lcom/sun/marlin/RendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/PathConsumer2D;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.sun.marlin.MarlinConst.USE_PATH_SIMPLIFIER:Z
ifeq 2
1: aload 0
getfield com.sun.marlin.RendererContext.pathSimplifier:Lcom/sun/marlin/PathSimplifier;
aload 3
invokevirtual com.sun.marlin.PathSimplifier.init:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/marlin/PathSimplifier;
astore 3
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.RendererContext.dirty:Z
3: aload 0
getfield com.sun.marlin.RendererContext.float6:[F
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 1
invokevirtual com.sun.javafx.geom.Path2D.getFloatCoordsNoClone:()[F
astore 6
start local 6 6: aload 1
invokevirtual com.sun.javafx.geom.Path2D.getCommandsNoClone:()[B
astore 7
start local 7 7: aload 1
invokevirtual com.sun.javafx.geom.Path2D.getNumCommands:()I
istore 8
start local 8 8: iconst_0
istore 9
start local 9 9: iconst_0
istore 10
start local 10 10: goto 89
11: StackMap locals: com.sun.marlin.RendererContext com.sun.javafx.geom.Path2D com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.PathConsumer2D float[] int float[] byte[] int int int
StackMap stack:
aload 7
iload 9
baload
tableswitch { // 0 - 4
0: 12
1: 23
2: 37
3: 59
4: 86
default: 88
}
12: StackMap locals:
StackMap stack:
aload 2
ifnonnull 16
13: aload 4
iconst_0
aload 6
iload 10
faload
fastore
14: aload 4
iconst_1
aload 6
iload 10
iconst_1
iadd
faload
fastore
15: goto 17
16: StackMap locals:
StackMap stack:
aload 2
aload 6
iload 10
aload 4
iconst_0
iconst_1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
17: StackMap locals:
StackMap stack:
iinc 10 2
18: aload 4
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 88
19: aload 4
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 88
20: aload 3
aload 4
iconst_0
faload
aload 4
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
21: iconst_1
istore 5
22: goto 88
23: StackMap locals:
StackMap stack:
aload 2
ifnonnull 27
24: aload 4
iconst_0
aload 6
iload 10
faload
fastore
25: aload 4
iconst_1
aload 6
iload 10
iconst_1
iadd
faload
fastore
26: goto 28
27: StackMap locals:
StackMap stack:
aload 2
aload 6
iload 10
aload 4
iconst_0
iconst_1
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
28: StackMap locals:
StackMap stack:
iinc 10 2
29: aload 4
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 88
30: aload 4
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 88
31: iload 5
ifeq 34
32: aload 3
aload 4
iconst_0
faload
aload 4
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
33: goto 88
34: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_0
faload
aload 4
iconst_1
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
35: iconst_1
istore 5
36: goto 88
37: StackMap locals:
StackMap stack:
aload 2
ifnonnull 43
38: aload 4
iconst_0
aload 6
iload 10
faload
fastore
39: aload 4
iconst_1
aload 6
iload 10
iconst_1
iadd
faload
fastore
40: aload 4
iconst_2
aload 6
iload 10
iconst_2
iadd
faload
fastore
41: aload 4
iconst_3
aload 6
iload 10
iconst_3
iadd
faload
fastore
42: goto 44
43: StackMap locals:
StackMap stack:
aload 2
aload 6
iload 10
aload 4
iconst_0
iconst_2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
44: StackMap locals:
StackMap stack:
iinc 10 4
45: aload 4
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 88
46: aload 4
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 88
47: iload 5
ifeq 56
48: aload 4
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 54
aload 4
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 54
49: aload 4
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 54
aload 4
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 54
50: aload 3
aload 4
iconst_0
faload
aload 4
iconst_1
faload
51: aload 4
iconst_2
faload
aload 4
iconst_3
faload
52: invokeinterface com.sun.javafx.geom.PathConsumer2D.quadTo:(FFFF)V
53: goto 88
54: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_2
faload
aload 4
iconst_3
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
55: goto 88
56: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_2
faload
aload 4
iconst_3
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
57: iconst_1
istore 5
58: goto 88
59: StackMap locals:
StackMap stack:
aload 2
ifnonnull 67
60: aload 4
iconst_0
aload 6
iload 10
faload
fastore
61: aload 4
iconst_1
aload 6
iload 10
iconst_1
iadd
faload
fastore
62: aload 4
iconst_2
aload 6
iload 10
iconst_2
iadd
faload
fastore
63: aload 4
iconst_3
aload 6
iload 10
iconst_3
iadd
faload
fastore
64: aload 4
iconst_4
aload 6
iload 10
iconst_4
iadd
faload
fastore
65: aload 4
iconst_5
aload 6
iload 10
iconst_5
iadd
faload
fastore
66: goto 68
67: StackMap locals:
StackMap stack:
aload 2
aload 6
iload 10
aload 4
iconst_0
iconst_3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.transform:([FI[FII)V
68: StackMap locals:
StackMap stack:
iinc 10 6
69: aload 4
iconst_4
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_4
faload
ldc -1.7014117E38
fcmpl
ifle 88
70: aload 4
iconst_5
faload
ldc 1.7014117E38
fcmpg
ifge 88
aload 4
iconst_5
faload
ldc -1.7014117E38
fcmpl
ifle 88
71: iload 5
ifeq 83
72: aload 4
iconst_0
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4
iconst_0
faload
ldc -1.7014117E38
fcmpl
ifle 81
73: aload 4
iconst_1
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4
iconst_1
faload
ldc -1.7014117E38
fcmpl
ifle 81
74: aload 4
iconst_2
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4
iconst_2
faload
ldc -1.7014117E38
fcmpl
ifle 81
75: aload 4
iconst_3
faload
ldc 1.7014117E38
fcmpg
ifge 81
aload 4
iconst_3
faload
ldc -1.7014117E38
fcmpl
ifle 81
76: aload 3
aload 4
iconst_0
faload
aload 4
iconst_1
faload
77: aload 4
iconst_2
faload
aload 4
iconst_3
faload
78: aload 4
iconst_4
faload
aload 4
iconst_5
faload
79: invokeinterface com.sun.javafx.geom.PathConsumer2D.curveTo:(FFFFFF)V
80: goto 88
81: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_4
faload
aload 4
iconst_5
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.lineTo:(FF)V
82: goto 88
83: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_4
faload
aload 4
iconst_5
faload
invokeinterface com.sun.javafx.geom.PathConsumer2D.moveTo:(FF)V
84: iconst_1
istore 5
85: goto 88
86: StackMap locals:
StackMap stack:
iload 5
ifeq 88
87: aload 3
invokeinterface com.sun.javafx.geom.PathConsumer2D.closePath:()V
88: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
89: iload 9
iload 8
if_icmplt 11
end local 10 end local 9 90: aload 3
invokeinterface com.sun.javafx.geom.PathConsumer2D.pathDone:()V
91: aload 0
iconst_0
putfield com.sun.marlin.RendererContext.dirty:Z
92: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 93 0 rdrCtx Lcom/sun/marlin/RendererContext;
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/javafx/geom/PathConsumer2D;
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: "MarlinPrismUtils.java"
InnerClasses:
public final CurveBasicMonotonizer = com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer of com.sun.marlin.TransformingPathConsumer2D