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=8, 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: fload 2
fstore 8
start local 8 4: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashArray:()[F
astore 9
start local 9 5: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashPhase:()F
fstore 10
start local 10 6: aload 3
ifnull 27
aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 27
7: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dstore 11
start local 11 8: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dstore 13
start local 13 9: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dstore 15
start local 15 10: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dstore 17
start local 17 11: dload 11
dload 13
dmul
dload 15
dload 17
dmul
dadd
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.nearZero:(D)Z
ifeq 25
dload 11
dload 11
dmul
dload 15
dload 15
dmul
dadd
dload 13
dload 13
dmul
dload 17
dload 17
dmul
dadd
dsub
invokestatic com.sun.prism.impl.shape.MarlinPrismUtils.nearZero:(D)Z
ifeq 25
12: dload 11
dload 11
dmul
dload 15
dload 15
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
d2f
fstore 19
start local 19 13: aload 9
ifnull 23
14: iconst_1
istore 7
15: aload 9
arraylength
istore 6
16: aload 0
getfield com.sun.marlin.RendererContext.dasher:Lcom/sun/marlin/Dasher;
aload 9
invokevirtual com.sun.marlin.Dasher.copyDashArray:([F)[F
astore 9
17: iconst_0
istore 20
start local 20 18: goto 21
19: 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 double double double double float int
StackMap stack:
aload 9
iload 20
dup2
faload
fload 19
fmul
fastore
20: iinc 20 1
StackMap locals:
StackMap stack:
21: iload 20
iload 6
if_icmplt 19
end local 20 22: fload 10
fload 19
fmul
fstore 10
23: StackMap locals:
StackMap stack:
fload 8
fload 19
fmul
fstore 8
end local 19 24: goto 28
25: StackMap locals:
StackMap stack:
aload 3
astore 5
end local 17 end local 15 end local 13 end local 11 26: goto 28
27: 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
StackMap stack:
aconst_null
astore 3
28: StackMap locals:
StackMap stack:
aload 4
astore 11
start local 11 29: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
astore 12
start local 12 30: getstatic com.sun.marlin.MarlinConst.USE_SIMPLIFIER:Z
ifeq 32
31: aload 0
getfield com.sun.marlin.RendererContext.simplifier:Lcom/sun/marlin/CollinearSimplifier;
aload 11
invokevirtual com.sun.marlin.CollinearSimplifier.init:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/marlin/CollinearSimplifier;
astore 11
32: StackMap locals: com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack:
aload 12
aload 11
aload 5
invokevirtual com.sun.marlin.TransformingPathConsumer2D.deltaTransformConsumer:(Lcom/sun/javafx/geom/PathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 11
33: aload 0
getfield com.sun.marlin.RendererContext.stroker:Lcom/sun/marlin/Stroker;
aload 11
fload 8
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
34: aload 1
invokevirtual com.sun.prism.BasicStroke.getLineJoin:()I
aload 1
invokevirtual com.sun.prism.BasicStroke.getMiterLimit:()F
35: aload 9
ifnonnull 36
iconst_1
goto 37
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 com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack: com.sun.marlin.Stroker com.sun.javafx.geom.PathConsumer2D float int int float
36: iconst_0
37: 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 com.sun.javafx.geom.PathConsumer2D com.sun.marlin.TransformingPathConsumer2D
StackMap stack: com.sun.marlin.Stroker com.sun.javafx.geom.PathConsumer2D float int int float int
invokevirtual com.sun.marlin.Stroker.init:(Lcom/sun/javafx/geom/PathConsumer2D;FIIFZ)Lcom/sun/marlin/Stroker;
astore 11
38: aload 0
getfield com.sun.marlin.RendererContext.monotonizer:Lcom/sun/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
fload 8
invokevirtual com.sun.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.init:(F)V
39: aload 9
ifnull 47
40: iload 7
ifne 42
41: aload 9
arraylength
istore 6
42: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.RendererContext.dasher:Lcom/sun/marlin/Dasher;
aload 11
aload 9
iload 6
fload 10
43: iload 7
44: invokevirtual com.sun.marlin.Dasher.init:(Lcom/sun/javafx/geom/PathConsumer2D;[FIFZ)Lcom/sun/marlin/Dasher;
astore 11
45: aload 0
getfield com.sun.marlin.RendererContext.stroker:Lcom/sun/marlin/Stroker;
invokevirtual com.sun.marlin.Stroker.disableClipping:()V
46: goto 49
StackMap locals:
StackMap stack:
47: aload 0
getfield com.sun.marlin.RendererContext.doClip:Z
ifeq 49
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
ifeq 49
48: aload 12
aload 11
invokevirtual com.sun.marlin.TransformingPathConsumer2D.detectClosedPath:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 11
49: StackMap locals:
StackMap stack:
aload 12
aload 11
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 11
50: aload 11
areturn
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 51 0 rdrCtx Lcom/sun/marlin/RendererContext;
0 51 1 stroke Lcom/sun/prism/BasicStroke;
0 51 2 lineWidth F
0 51 3 tx Lcom/sun/javafx/geom/transform/BaseTransform;
0 51 4 out Lcom/sun/javafx/geom/PathConsumer2D;
1 51 5 strokerTx Lcom/sun/javafx/geom/transform/BaseTransform;
2 51 6 dashLen I
3 51 7 recycleDashes Z
4 51 8 width F
5 51 9 dashes [F
6 51 10 dashphase F
8 26 11 a D
9 26 13 b D
10 26 15 c D
11 26 17 d D
13 24 19 scale F
18 22 20 i I
29 51 11 pc Lcom/sun/javafx/geom/PathConsumer2D;
30 51 12 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=9, 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 21
invokestatic com.sun.marlin.MarlinProperties.isDoClipAtRuntime:()Z
ifeq 21
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.marlin.RendererContext.clipRect:[F
astore 6
start local 6 2: aload 5
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetX:()F
fstore 7
start local 7 3: aload 5
invokeinterface com.sun.marlin.MarlinRenderer.getOffsetY:()F
fstore 8
start local 8 4: aload 6
iconst_0
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
i2f
5: ldc 0.001
fsub
fload 8
fadd
6: fastore
7: 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
8: ldc 0.001
fadd
fload 8
fadd
9: fastore
10: aload 6
iconst_2
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
i2f
11: ldc 0.001
fsub
fload 7
fadd
12: fastore
13: 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
14: ldc 0.001
fadd
fload 7
fadd
15: fastore
16: getstatic com.sun.marlin.MarlinConst.DO_LOG_CLIP:Z
ifeq 20
17: new java.lang.StringBuilder
dup
ldc "clipRect (clip): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
getfield com.sun.marlin.RendererContext.clipRect:[F
invokestatic java.util.Arrays.toString:([F)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.sun.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
20: StackMap locals: float[] float float
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.RendererContext.doClip:Z
end local 8 end local 7 end local 6 21: StackMap locals:
StackMap stack:
aload 1
ifnull 26
22: 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
23: iconst_1
24: invokeinterface com.sun.marlin.MarlinRenderer.init:(IIIII)Lcom/sun/marlin/MarlinRenderer;
pop
25: 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
26: StackMap locals:
StackMap stack:
iload 4
ifne 28
27: iconst_0
goto 29
StackMap locals:
StackMap stack:
28: iconst_1
29: StackMap locals:
StackMap stack: int
istore 6
start local 6 30: 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
31: aload 5
astore 7
start local 7 32: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
astore 8
start local 8 33: aload 0
getfield com.sun.marlin.RendererContext.doClip:Z
ifeq 35
34: aload 0
getfield com.sun.marlin.RendererContext.transformerPC2D:Lcom/sun/marlin/TransformingPathConsumer2D;
aload 7
invokevirtual com.sun.marlin.TransformingPathConsumer2D.pathClipper:(Lcom/sun/javafx/geom/PathConsumer2D;)Lcom/sun/javafx/geom/PathConsumer2D;
astore 7
35: 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 36 0 rdrCtx Lcom/sun/marlin/RendererContext;
0 36 1 stroke Lcom/sun/prism/BasicStroke;
0 36 2 tx Lcom/sun/javafx/geom/transform/BaseTransform;
0 36 3 clip Lcom/sun/javafx/geom/Rectangle;
0 36 4 piRule I
0 36 5 renderer Lcom/sun/marlin/MarlinRenderer;
2 21 6 clipRect [F
3 21 7 rdrOffX F
4 21 8 rdrOffY F
30 36 6 oprule I
32 36 7 pc Lcom/sun/javafx/geom/PathConsumer2D;
33 36 8 transformerPC2D Lcom/sun/marlin/TransformingPathConsumer2D;
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