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: invokestatic com.sun.marlin.MarlinProperties.isDoClip:()Z
putstatic com.sun.prism.impl.shape.DMarlinPrismUtils.DO_CLIP:Z
1: invokestatic com.sun.marlin.MarlinProperties.isDoClipRuntimeFlag:()Z
putstatic com.sun.prism.impl.shape.DMarlinPrismUtils.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/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=9, locals=25, 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
f2d
dstore 8
start local 8 4: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashArray:()[F
astore 10
start local 10 5: aconst_null
astore 11
start local 11 6: aload 1
invokevirtual com.sun.prism.BasicStroke.getDashPhase:()F
f2d
dstore 12
start local 12 7: aload 10
ifnull 11
8: iconst_1
istore 7
9: aload 10
arraylength
istore 6
10: aload 0
getfield com.sun.marlin.DRendererContext.dasher:Lcom/sun/marlin/DDasher;
aload 10
invokevirtual com.sun.marlin.DDasher.copyDashArray:([F)[D
astore 11
11: 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 float[] double[] double
StackMap stack:
aload 3
ifnull 29
aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.isIdentity:()Z
ifne 29
12: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
dstore 14
start local 14 13: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
dstore 16
start local 16 14: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
dstore 18
start local 18 15: aload 3
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
dstore 20
start local 20 16: dload 14
dload 16
dmul
dload 18
dload 20
dmul
dadd
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.nearZero:(D)Z
ifeq 27
dload 14
dload 14
dmul
dload 18
dload 18
dmul
dadd
dload 16
dload 16
dmul
dload 20
dload 20
dmul
dadd
dsub
invokestatic com.sun.prism.impl.shape.DMarlinPrismUtils.nearZero:(D)Z
ifeq 27
17: dload 14
dload 14
dmul
dload 18
dload 18
dmul
dadd
invokestatic java.lang.Math.sqrt:(D)D
dstore 22
start local 22 18: aload 11
ifnull 25
19: iconst_0
istore 24
start local 24 20: goto 23
21: 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 float[] double[] double double double double double double int
StackMap stack:
aload 11
iload 24
dup2
daload
dload 22
dmul
dastore
22: iinc 24 1
StackMap locals:
StackMap stack:
23: iload 24
iload 6
if_icmplt 21
end local 24 24: dload 12
dload 22
dmul
dstore 12
25: StackMap locals:
StackMap stack:
dload 8
dload 22
dmul
dstore 8
end local 22 26: goto 30
27: StackMap locals:
StackMap stack:
aload 3
astore 5
end local 20 end local 18 end local 16 end local 14 28: goto 30
29: 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 float[] double[] double
StackMap stack:
aconst_null
astore 3
30: StackMap locals:
StackMap stack:
aload 4
astore 14
start local 14 31: aload 0
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
astore 15
start local 15 32: getstatic com.sun.marlin.MarlinConst.USE_SIMPLIFIER:Z
ifeq 34
33: aload 0
getfield com.sun.marlin.DRendererContext.simplifier:Lcom/sun/marlin/DCollinearSimplifier;
aload 14
invokevirtual com.sun.marlin.DCollinearSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DCollinearSimplifier;
astore 14
34: StackMap locals: com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack:
aload 15
aload 14
aload 5
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.deltaTransformConsumer:(Lcom/sun/marlin/DPathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/marlin/DPathConsumer2D;
astore 14
35: aload 0
getfield com.sun.marlin.DRendererContext.stroker:Lcom/sun/marlin/DStroker;
aload 14
dload 8
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
36: aload 1
invokevirtual com.sun.prism.BasicStroke.getLineJoin:()I
aload 1
invokevirtual com.sun.prism.BasicStroke.getMiterLimit:()F
f2d
37: aload 11
ifnonnull 38
iconst_1
goto 39
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 float[] double[] double com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DPathConsumer2D double int int double
38: iconst_0
39: 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 float[] double[] double com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
StackMap stack: com.sun.marlin.DStroker com.sun.marlin.DPathConsumer2D double int int double int
invokevirtual com.sun.marlin.DStroker.init:(Lcom/sun/marlin/DPathConsumer2D;DIIDZ)Lcom/sun/marlin/DStroker;
astore 14
40: aload 0
getfield com.sun.marlin.DRendererContext.monotonizer:Lcom/sun/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
dload 8
invokevirtual com.sun.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.init:(D)V
41: aload 11
ifnull 47
42: aload 0
getfield com.sun.marlin.DRendererContext.dasher:Lcom/sun/marlin/DDasher;
aload 14
aload 11
iload 6
dload 12
43: iload 7
44: invokevirtual com.sun.marlin.DDasher.init:(Lcom/sun/marlin/DPathConsumer2D;[DIDZ)Lcom/sun/marlin/DDasher;
astore 14
45: aload 0
getfield com.sun.marlin.DRendererContext.stroker:Lcom/sun/marlin/DStroker;
invokevirtual com.sun.marlin.DStroker.disableClipping:()V
46: goto 49
StackMap locals:
StackMap stack:
47: aload 0
getfield com.sun.marlin.DRendererContext.doClip:Z
ifeq 49
aload 1
invokevirtual com.sun.prism.BasicStroke.getEndCap:()I
ifeq 49
48: aload 15
aload 14
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.detectClosedPath:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
astore 14
49: StackMap locals:
StackMap stack:
aload 15
aload 14
aload 5
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.inverseDeltaTransformConsumer:(Lcom/sun/marlin/DPathConsumer2D;Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/marlin/DPathConsumer2D;
astore 14
50: aload 14
areturn
end local 15 end local 14 end local 12 end local 11 end local 10 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/DRendererContext;
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/marlin/DPathConsumer2D;
1 51 5 strokerTx Lcom/sun/javafx/geom/transform/BaseTransform;
2 51 6 dashLen I
3 51 7 recycleDashes Z
4 51 8 width D
5 51 10 dashes [F
6 51 11 dashesD [D
7 51 12 dashphase D
13 28 14 a D
14 28 16 b D
15 28 18 c D
16 28 20 d D
18 26 22 scale D
20 24 24 i I
31 51 14 pc Lcom/sun/marlin/DPathConsumer2D;
32 51 15 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 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.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=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.DMarlinPrismUtils.DO_CLIP:Z
ifne 1
getstatic com.sun.prism.impl.shape.DMarlinPrismUtils.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.DRendererContext.clipRect:[D
astore 6
start local 6 2: aload 5
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetX:()D
dstore 7
start local 7 3: aload 5
invokeinterface com.sun.marlin.DMarlinRenderer.getOffsetY:()D
dstore 9
start local 9 4: aload 6
iconst_0
aload 3
getfield com.sun.javafx.geom.Rectangle.y:I
i2d
5: ldc 0.001
dsub
dload 9
dadd
6: dastore
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
i2d
8: ldc 0.001
dadd
dload 9
dadd
9: dastore
10: aload 6
iconst_2
aload 3
getfield com.sun.javafx.geom.Rectangle.x:I
i2d
11: ldc 0.001
dsub
dload 7
dadd
12: dastore
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
i2d
14: ldc 0.001
dadd
dload 7
dadd
15: dastore
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.DRendererContext.clipRect:[D
invokestatic java.util.Arrays.toString:([D)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: double[] double double
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.DRendererContext.doClip:Z
end local 9 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.DMarlinRenderer.init:(IIIII)Lcom/sun/marlin/DMarlinRenderer;
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.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
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.DMarlinRenderer.init:(IIIII)Lcom/sun/marlin/DMarlinRenderer;
pop
31: aload 5
astore 7
start local 7 32: aload 0
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
astore 8
start local 8 33: aload 0
getfield com.sun.marlin.DRendererContext.doClip:Z
ifeq 35
34: aload 0
getfield com.sun.marlin.DRendererContext.transformerPC2D:Lcom/sun/marlin/DTransformingPathConsumer2D;
aload 7
invokevirtual com.sun.marlin.DTransformingPathConsumer2D.pathClipper:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathConsumer2D;
astore 7
35: StackMap locals: int com.sun.marlin.DPathConsumer2D com.sun.marlin.DTransformingPathConsumer2D
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/DRendererContext;
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/DMarlinRenderer;
2 21 6 clipRect [D
3 21 7 rdrOffX D
4 21 9 rdrOffY D
30 36 6 oprule I
32 36 7 pc Lcom/sun/marlin/DPathConsumer2D;
33 36 8 transformerPC2D Lcom/sun/marlin/DTransformingPathConsumer2D;
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 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.DRendererContext.renderer:Lcom/sun/marlin/DRenderer;
goto 6
StackMap locals: com.sun.javafx.geom.transform.BaseTransform
StackMap stack:
5: aload 0
invokevirtual com.sun.marlin.DRendererContext.getRendererNoAA:()Lcom/sun/marlin/DRendererNoAA;
6: StackMap locals:
StackMap stack: com.sun.marlin.DMarlinRenderer
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.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
start local 9 10: aload 0
aload 8
aload 6
aload 9
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 end local 8 11: goto 15
12: StackMap locals: com.sun.marlin.DMarlinRenderer
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.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
start local 9 14: aload 0
aload 8
aload 9
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 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/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 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.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
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.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/Path2D;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/marlin/DPathConsumer2D;)V
3: goto 5
4: StackMap locals: com.sun.marlin.DPathConsumer2D
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.DMarlinPrismUtils.feedConsumer:(Lcom/sun/marlin/DRendererContext;Lcom/sun/javafx/geom/PathIterator;Lcom/sun/marlin/DPathConsumer2D;)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/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 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.DRendererContext.pathSimplifier:Lcom/sun/marlin/DPathSimplifier;
aload 2
invokevirtual com.sun.marlin.DPathSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathSimplifier;
astore 2
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.DRendererContext.dirty:Z
3: aload 0
getfield com.sun.marlin.DRendererContext.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
f2d
aload 3
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 3
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
16: goto 53
17: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_0
faload
f2d
aload 3
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 3
iconst_1
faload
f2d
26: aload 3
iconst_2
faload
f2d
aload 3
iconst_3
faload
f2d
27: invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
28: goto 53
29: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_2
faload
f2d
aload 3
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
30: goto 53
31: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_2
faload
f2d
aload 3
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 3
iconst_1
faload
f2d
42: aload 3
iconst_2
faload
f2d
aload 3
iconst_3
faload
f2d
43: aload 3
iconst_4
faload
f2d
aload 3
iconst_5
faload
f2d
44: invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
45: goto 53
46: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_4
faload
f2d
aload 3
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
47: goto 53
48: StackMap locals:
StackMap stack:
aload 2
aload 3
iconst_4
faload
f2d
aload 3
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
49: iconst_1
istore 4
50: goto 53
51: StackMap locals:
StackMap stack:
iload 4
ifeq 53
52: aload 2
invokeinterface com.sun.marlin.DPathConsumer2D.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.marlin.DPathConsumer2D.pathDone:()V
56: aload 0
iconst_0
putfield com.sun.marlin.DRendererContext.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/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 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.DRendererContext.pathSimplifier:Lcom/sun/marlin/DPathSimplifier;
aload 3
invokevirtual com.sun.marlin.DPathSimplifier.init:(Lcom/sun/marlin/DPathConsumer2D;)Lcom/sun/marlin/DPathSimplifier;
astore 3
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.marlin.DRendererContext.dirty:Z
3: aload 0
getfield com.sun.marlin.DRendererContext.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.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
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
f2d
aload 4
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 4
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
33: goto 88
34: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_0
faload
f2d
aload 4
iconst_1
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 4
iconst_1
faload
f2d
51: aload 4
iconst_2
faload
f2d
aload 4
iconst_3
faload
f2d
52: invokeinterface com.sun.marlin.DPathConsumer2D.quadTo:(DDDD)V
53: goto 88
54: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_2
faload
f2d
aload 4
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
55: goto 88
56: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_2
faload
f2d
aload 4
iconst_3
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)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
f2d
aload 4
iconst_1
faload
f2d
77: aload 4
iconst_2
faload
f2d
aload 4
iconst_3
faload
f2d
78: aload 4
iconst_4
faload
f2d
aload 4
iconst_5
faload
f2d
79: invokeinterface com.sun.marlin.DPathConsumer2D.curveTo:(DDDDDD)V
80: goto 88
81: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_4
faload
f2d
aload 4
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.lineTo:(DD)V
82: goto 88
83: StackMap locals:
StackMap stack:
aload 3
aload 4
iconst_4
faload
f2d
aload 4
iconst_5
faload
f2d
invokeinterface com.sun.marlin.DPathConsumer2D.moveTo:(DD)V
84: iconst_1
istore 5
85: goto 88
86: StackMap locals:
StackMap stack:
iload 5
ifeq 88
87: aload 3
invokeinterface com.sun.marlin.DPathConsumer2D.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.marlin.DPathConsumer2D.pathDone:()V
91: aload 0
iconst_0
putfield com.sun.marlin.DRendererContext.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/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