class com.sun.prism.sw.SWContext$NativeShapeRenderer implements com.sun.prism.sw.SWContext$ShapeRenderer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.prism.sw.SWContext$NativeShapeRenderer
super_class: java.lang.Object
{
private java.lang.ref.SoftReference<com.sun.prism.sw.SWMaskTexture> maskTextureRef;
descriptor: Ljava/lang/ref/SoftReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/SoftReference<Lcom/sun/prism/sw/SWMaskTexture;>;
final com.sun.prism.sw.SWContext this$0;
descriptor: Lcom/sun/prism/sw/SWContext;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.prism.sw.SWContext);
descriptor: (Lcom/sun/prism/sw/SWContext;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.prism.sw.SWContext$NativeShapeRenderer.this$0:Lcom/sun/prism/sw/SWContext;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
MethodParameters:
Name Flags
this$0 final
public void renderShape(com.sun.pisces.PiscesRenderer, com.sun.javafx.geom.Shape, com.sun.prism.BasicStroke, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, boolean);
descriptor: (Lcom/sun/pisces/PiscesRenderer;Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
aload 3
aload 5
invokevirtual com.sun.javafx.geom.Rectangle.toRectBounds:()Lcom/sun/javafx/geom/RectBounds;
aload 4
iconst_1
iload 6
invokestatic com.sun.prism.impl.shape.ShapeUtil.rasterizeShape:(Lcom/sun/javafx/geom/Shape;Lcom/sun/prism/BasicStroke;Lcom/sun/javafx/geom/RectBounds;Lcom/sun/javafx/geom/transform/BaseTransform;ZZ)Lcom/sun/prism/impl/shape/MaskData;
astore 7
start local 7 1: aload 0
aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getWidth:()I
aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getHeight:()I
invokevirtual com.sun.prism.sw.SWContext$NativeShapeRenderer.validateMaskTexture:(II)Lcom/sun/prism/sw/SWMaskTexture;
astore 8
start local 8 2: aload 7
aload 8
iconst_0
iconst_0
iconst_0
invokevirtual com.sun.prism.impl.shape.MaskData.uploadToTexture:(Lcom/sun/prism/Texture;IIZ)V
3: aload 1
aload 8
invokevirtual com.sun.prism.sw.SWMaskTexture.getDataNoClone:()[B
aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getOriginX:()I
aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getOriginY:()I
4: aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getWidth:()I
aload 7
invokevirtual com.sun.prism.impl.shape.MaskData.getHeight:()I
iconst_0
aload 8
invokevirtual com.sun.prism.sw.SWMaskTexture.getPhysicalWidth:()I
5: invokevirtual com.sun.pisces.PiscesRenderer.fillAlphaMask:([BIIIIII)V
end local 8 end local 7 6: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 7
start local 7 8: getstatic com.sun.prism.impl.PrismSettings.verbose:Z
ifeq 10
9: aload 7
invokevirtual java.lang.Throwable.printStackTrace:()V
10: StackMap locals: java.lang.Throwable
StackMap stack:
invokestatic com.sun.javafx.util.Logging.getJavaFXLogger:()Lcom/sun/javafx/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Cannot rasterize Shape: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 7
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual com.sun.javafx.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 7 13: StackMap locals:
StackMap stack:
return
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 14 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
0 14 1 pr Lcom/sun/pisces/PiscesRenderer;
0 14 2 shape Lcom/sun/javafx/geom/Shape;
0 14 3 stroke Lcom/sun/prism/BasicStroke;
0 14 4 tr Lcom/sun/javafx/geom/transform/BaseTransform;
0 14 5 clip Lcom/sun/javafx/geom/Rectangle;
0 14 6 antialiasedShape Z
1 6 7 mask Lcom/sun/prism/impl/shape/MaskData;
2 6 8 tex Lcom/sun/prism/sw/SWMaskTexture;
8 13 7 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 6 7 Class java.lang.Throwable
MethodParameters:
Name Flags
pr
shape
stroke
tr
clip
antialiasedShape
private com.sun.prism.sw.SWMaskTexture initMaskTexture(int, int);
descriptor: (II)Lcom/sun/prism/sw/SWMaskTexture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.prism.sw.SWContext$NativeShapeRenderer.this$0:Lcom/sun/prism/sw/SWContext;
getfield com.sun.prism.sw.SWContext.factory:Lcom/sun/prism/ResourceFactory;
iload 1
iload 2
getstatic com.sun.prism.Texture$WrapMode.CLAMP_NOT_NEEDED:Lcom/sun/prism/Texture$WrapMode;
invokeinterface com.sun.prism.ResourceFactory.createMaskTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/Texture;
checkcast com.sun.prism.sw.SWMaskTexture
astore 3
start local 3 1: aload 0
new java.lang.ref.SoftReference
dup
aload 3
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
putfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
0 3 1 width I
0 3 2 height I
1 3 3 tex Lcom/sun/prism/sw/SWMaskTexture;
MethodParameters:
Name Flags
width
height
private void disposeMaskTexture();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
ifnull 3
1: aload 0
getfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.clear:()V
2: aload 0
aconst_null
putfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
private com.sun.prism.sw.SWMaskTexture validateMaskTexture(int, int);
descriptor: (II)Lcom/sun/prism/sw/SWMaskTexture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
ifnonnull 3
1: aload 0
iload 1
iload 2
invokevirtual com.sun.prism.sw.SWContext$NativeShapeRenderer.initMaskTexture:(II)Lcom/sun/prism/sw/SWMaskTexture;
astore 3
start local 3 2: goto 9
end local 3 3: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.sw.SWContext$NativeShapeRenderer.maskTextureRef:Ljava/lang/ref/SoftReference;
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.sun.prism.sw.SWMaskTexture
astore 3
start local 3 4: aload 3
ifnull 7
5: aload 3
invokevirtual com.sun.prism.sw.SWMaskTexture.getPhysicalWidth:()I
iload 1
if_icmplt 7
6: aload 3
invokevirtual com.sun.prism.sw.SWMaskTexture.getPhysicalHeight:()I
iload 2
if_icmpge 9
7: StackMap locals: com.sun.prism.sw.SWMaskTexture
StackMap stack:
aload 0
invokevirtual com.sun.prism.sw.SWContext$NativeShapeRenderer.disposeMaskTexture:()V
8: aload 0
iload 1
iload 2
invokevirtual com.sun.prism.sw.SWContext$NativeShapeRenderer.initMaskTexture:(II)Lcom/sun/prism/sw/SWMaskTexture;
astore 3
9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
0 10 1 width I
0 10 2 height I
2 3 3 tex Lcom/sun/prism/sw/SWMaskTexture;
4 10 3 tex Lcom/sun/prism/sw/SWMaskTexture;
MethodParameters:
Name Flags
width
height
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.prism.sw.SWContext$NativeShapeRenderer.disposeMaskTexture:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/prism/sw/SWContext$NativeShapeRenderer;
}
SourceFile: "SWContext.java"
NestHost: com.sun.prism.sw.SWContext
InnerClasses:
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
NativeShapeRenderer = com.sun.prism.sw.SWContext$NativeShapeRenderer of com.sun.prism.sw.SWContext
abstract ShapeRenderer = com.sun.prism.sw.SWContext$ShapeRenderer of com.sun.prism.sw.SWContext