public class com.sun.scenario.effect.impl.prism.sw.PSWDrawable extends com.sun.scenario.effect.impl.prism.PrDrawable implements com.sun.scenario.effect.impl.HeapImage
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.scenario.effect.impl.prism.sw.PSWDrawable
super_class: com.sun.scenario.effect.impl.prism.PrDrawable
{
private com.sun.prism.RTTexture rtt;
descriptor: Lcom/sun/prism/RTTexture;
flags: (0x0002) ACC_PRIVATE
private com.sun.prism.Image image;
descriptor: Lcom/sun/prism/Image;
flags: (0x0002) ACC_PRIVATE
private boolean heapDirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean vramDirty;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private void <init>(com.sun.prism.RTTexture, boolean);
descriptor: (Lcom/sun/prism/RTTexture;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial com.sun.scenario.effect.impl.prism.PrDrawable.<init>:(Lcom/sun/prism/RTTexture;)V
1: aload 0
aload 1
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
2: aload 0
iload 2
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.vramDirty:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
0 4 1 rtt Lcom/sun/prism/RTTexture;
0 4 2 isDirty Z
MethodParameters:
Name Flags
rtt
isDirty
public static com.sun.scenario.effect.impl.prism.sw.PSWDrawable create(com.sun.prism.RTTexture);
descriptor: (Lcom/sun/prism/RTTexture;)Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.sun.scenario.effect.impl.prism.sw.PSWDrawable
dup
aload 0
iconst_1
invokespecial com.sun.scenario.effect.impl.prism.sw.PSWDrawable.<init>:(Lcom/sun/prism/RTTexture;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 rtt Lcom/sun/prism/RTTexture;
MethodParameters:
Name Flags
rtt
static int getCompatibleWidth(com.sun.glass.ui.Screen, int);
descriptor: (Lcom/sun/glass/ui/Screen;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.sun.prism.GraphicsPipeline.getPipeline:()Lcom/sun/prism/GraphicsPipeline;
aload 0
invokevirtual com.sun.prism.GraphicsPipeline.getResourceFactory:(Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
1: astore 2
start local 2 2: aload 2
iload 1
getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
invokeinterface com.sun.prism.ResourceFactory.getRTTWidth:(ILcom/sun/prism/Texture$WrapMode;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 screen Lcom/sun/glass/ui/Screen;
0 3 1 w I
2 3 2 factory Lcom/sun/prism/ResourceFactory;
MethodParameters:
Name Flags
screen
w
static int getCompatibleHeight(com.sun.glass.ui.Screen, int);
descriptor: (Lcom/sun/glass/ui/Screen;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.sun.prism.GraphicsPipeline.getPipeline:()Lcom/sun/prism/GraphicsPipeline;
aload 0
invokevirtual com.sun.prism.GraphicsPipeline.getResourceFactory:(Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
1: astore 2
start local 2 2: aload 2
iload 1
getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
invokeinterface com.sun.prism.ResourceFactory.getRTTHeight:(ILcom/sun/prism/Texture$WrapMode;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 screen Lcom/sun/glass/ui/Screen;
0 3 1 h I
2 3 2 factory Lcom/sun/prism/ResourceFactory;
MethodParameters:
Name Flags
screen
h
static com.sun.scenario.effect.impl.prism.sw.PSWDrawable create(com.sun.glass.ui.Screen, int, int);
descriptor: (Lcom/sun/glass/ui/Screen;II)Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.sun.prism.GraphicsPipeline.getPipeline:()Lcom/sun/prism/GraphicsPipeline;
aload 0
invokevirtual com.sun.prism.GraphicsPipeline.getResourceFactory:(Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
1: astore 3
start local 3 2: aload 3
iload 1
iload 2
getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
3: astore 4
start local 4 4: new com.sun.scenario.effect.impl.prism.sw.PSWDrawable
dup
aload 4
iconst_0
invokespecial com.sun.scenario.effect.impl.prism.sw.PSWDrawable.<init>:(Lcom/sun/prism/RTTexture;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 screen Lcom/sun/glass/ui/Screen;
0 5 1 width I
0 5 2 height I
2 5 3 factory Lcom/sun/prism/ResourceFactory;
4 5 4 rtt Lcom/sun/prism/RTTexture;
MethodParameters:
Name Flags
screen
width
height
public boolean isLost();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
ifnull 1
aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
ifnull 4
1: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.dispose:()V
2: aload 0
aconst_null
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
3: aload 0
aconst_null
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public java.lang.Object getData();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getContentWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getContentHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getMaxContentWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getMaxContentWidth:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getMaxContentHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getMaxContentHeight:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public void setContentWidth(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
iload 1
invokeinterface com.sun.prism.RTTexture.setContentWidth:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
0 2 1 contentW I
MethodParameters:
Name Flags
contentW
public void setContentHeight(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
iload 1
invokeinterface com.sun.prism.RTTexture.setContentHeight:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
0 2 1 contentH I
MethodParameters:
Name Flags
contentH
public int getPhysicalWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getPhysicalHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int getScanlineStride();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public int[] getPixelArray();
descriptor: ()[I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getPixels:()[I
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: int[]
StackMap stack:
aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
ifnonnull 8
4: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
istore 2
start local 2 5: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
istore 3
start local 3 6: iload 2
iload 3
imul
newarray 10
astore 1
7: aload 0
aload 1
iload 2
iload 3
invokestatic com.sun.prism.Image.fromIntArgbPreData:([III)Lcom/sun/prism/Image;
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
end local 3 end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
invokevirtual com.sun.prism.Image.getPixelBuffer:()Ljava/nio/Buffer;
checkcast java.nio.IntBuffer
astore 2
start local 2 9: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.vramDirty:Z
ifeq 12
10: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
aload 2
invokeinterface com.sun.prism.RTTexture.readPixels:(Ljava/nio/Buffer;)Z
pop
11: aload 0
iconst_0
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.vramDirty:Z
12: StackMap locals: java.nio.IntBuffer
StackMap stack:
aload 0
iconst_1
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.heapDirty:Z
13: aload 2
invokevirtual java.nio.IntBuffer.array:()[I
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
1 14 1 pixels [I
5 8 2 width I
6 8 3 height I
9 14 2 buf Ljava/nio/IntBuffer;
public com.sun.prism.RTTexture getTextureObject();
descriptor: ()Lcom/sun/prism/RTTexture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.heapDirty:Z
ifeq 13
1: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
istore 1
start local 1 2: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
istore 2
start local 2 3: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.getAssociatedScreen:()Lcom/sun/glass/ui/Screen;
astore 3
start local 3 4: invokestatic com.sun.prism.GraphicsPipeline.getPipeline:()Lcom/sun/prism/GraphicsPipeline;
aload 3
invokevirtual com.sun.prism.GraphicsPipeline.getResourceFactory:(Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
5: astore 4
start local 4 6: aload 4
aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
getstatic com.sun.prism.Texture$Usage.DEFAULT:Lcom/sun/prism/Texture$Usage;
getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
invokeinterface com.sun.prism.ResourceFactory.createTexture:(Lcom/sun/prism/Image;Lcom/sun/prism/Texture$Usage;Lcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/Texture;
7: astore 5
start local 5 8: aload 0
invokevirtual com.sun.scenario.effect.impl.prism.sw.PSWDrawable.createGraphics:()Lcom/sun/prism/Graphics;
astore 6
start local 6 9: aload 6
aload 5
fconst_0
fconst_0
iload 1
i2f
iload 2
i2f
invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFF)V
10: aload 6
invokeinterface com.sun.prism.Graphics.sync:()V
11: aload 5
invokeinterface com.sun.prism.Texture.dispose:()V
12: aload 0
iconst_0
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.heapDirty:Z
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
2 13 1 width I
3 13 2 height I
4 13 3 screen Lcom/sun/glass/ui/Screen;
6 13 4 factory Lcom/sun/prism/ResourceFactory;
8 13 5 tex Lcom/sun/prism/Texture;
9 13 6 g Lcom/sun/prism/Graphics;
public com.sun.prism.Graphics createGraphics();
descriptor: ()Lcom/sun/prism/Graphics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.vramDirty:Z
1: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.rtt:Lcom/sun/prism/RTTexture;
invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.scenario.effect.impl.prism.sw.PSWDrawable.createGraphics:()Lcom/sun/prism/Graphics;
astore 1
start local 1 1: aload 1
invokeinterface com.sun.prism.Graphics.clear:()V
2: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
ifnull 5
3: aload 0
getfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.image:Lcom/sun/prism/Image;
invokevirtual com.sun.prism.Image.getPixelBuffer:()Ljava/nio/Buffer;
checkcast java.nio.IntBuffer
astore 2
start local 2 4: aload 2
invokevirtual java.nio.IntBuffer.array:()[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
end local 2 5: StackMap locals: com.sun.prism.Graphics
StackMap stack:
aload 0
iconst_0
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.heapDirty:Z
6: aload 0
iconst_0
putfield com.sun.scenario.effect.impl.prism.sw.PSWDrawable.vramDirty:Z
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/scenario/effect/impl/prism/sw/PSWDrawable;
1 8 1 g Lcom/sun/prism/Graphics;
4 5 2 buf Ljava/nio/IntBuffer;
public com.sun.prism.Texture getTextureObject();
descriptor: ()Lcom/sun/prism/Texture;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.sun.scenario.effect.impl.prism.sw.PSWDrawable.getTextureObject:()Lcom/sun/prism/RTTexture;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PSWDrawable.java"
InnerClasses:
public final Usage = com.sun.prism.Texture$Usage of com.sun.prism.Texture
public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture