class sun.awt.windows.TranslucentWindowPainter$BIWindowPainter extends sun.awt.windows.TranslucentWindowPainter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.awt.windows.TranslucentWindowPainter$BIWindowPainter
super_class: sun.awt.windows.TranslucentWindowPainter
{
private java.awt.image.BufferedImage backBuffer;
descriptor: Ljava/awt/image/BufferedImage;
flags: (0x0002) ACC_PRIVATE
protected void <init>(sun.awt.windows.WWindowPeer);
descriptor: (Lsun/awt/windows/WWindowPeer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
start local 1 // sun.awt.windows.WWindowPeer peer
0: .line 177
aload 0 /* this */
aload 1 /* peer */
invokespecial sun.awt.windows.TranslucentWindowPainter.<init>:(Lsun/awt/windows/WWindowPeer;)V
1: .line 178
return
end local 1 // sun.awt.windows.WWindowPeer peer
end local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/TranslucentWindowPainter$BIWindowPainter;
0 2 1 peer Lsun/awt/windows/WWindowPeer;
MethodParameters:
Name Flags
peer
protected java.awt.Image getBackBuffer(boolean);
descriptor: (Z)Ljava/awt/Image;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=2
start local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
start local 1 // boolean clear
0: .line 182
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.window:Ljava/awt/Window;
invokevirtual java.awt.Window.getWidth:()I
istore 2 /* w */
start local 2 // int w
1: .line 183
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.window:Ljava/awt/Window;
invokevirtual java.awt.Window.getHeight:()I
istore 3 /* h */
start local 3 // int h
2: .line 184
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
ifnull 5
3: .line 185
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getWidth:()I
iload 2 /* w */
if_icmpne 5
4: .line 186
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.getHeight:()I
iload 3 /* h */
if_icmpeq 7
5: .line 188
StackMap locals: int int
StackMap stack:
aload 0 /* this */
invokevirtual sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.flush:()V
6: .line 189
aload 0 /* this */
new java.awt.image.BufferedImage
dup
iload 2 /* w */
iload 3 /* h */
iconst_3
invokespecial java.awt.image.BufferedImage.<init>:(III)V
putfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
7: .line 191
StackMap locals:
StackMap stack:
iload 1 /* clear */
ifeq 8
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
invokestatic sun.awt.windows.TranslucentWindowPainter.clearImage:(Ljava/awt/Image;)Ljava/awt/Image;
checkcast java.awt.image.BufferedImage
goto 9
StackMap locals:
StackMap stack:
8: aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
StackMap locals:
StackMap stack: java.awt.image.BufferedImage
9: areturn
end local 3 // int h
end local 2 // int w
end local 1 // boolean clear
end local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/awt/windows/TranslucentWindowPainter$BIWindowPainter;
0 10 1 clear Z
1 10 2 w I
2 10 3 h I
MethodParameters:
Name Flags
clear
protected boolean update(java.awt.Image);
descriptor: (Ljava/awt/Image;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=2
start local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
start local 1 // java.awt.Image bb
0: .line 196
aconst_null
astore 2 /* viBB */
start local 2 // java.awt.image.VolatileImage viBB
1: .line 198
aload 1 /* bb */
instanceof java.awt.image.BufferedImage
ifeq 7
2: .line 199
aload 1 /* bb */
checkcast java.awt.image.BufferedImage
astore 3 /* bi */
start local 3 // java.awt.image.BufferedImage bi
3: .line 201
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
4: .line 200
astore 4 /* data */
start local 4 // int[] data
5: .line 202
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.peer:Lsun/awt/windows/WWindowPeer;
aload 4 /* data */
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.awt.windows.WWindowPeer.updateWindowImpl:([III)V
6: .line 203
iconst_1
ireturn
end local 4 // int[] data
end local 3 // java.awt.image.BufferedImage bi
7: .line 204
StackMap locals: java.awt.image.VolatileImage
StackMap stack:
aload 1 /* bb */
instanceof java.awt.image.VolatileImage
ifeq 22
8: .line 205
aload 1 /* bb */
checkcast java.awt.image.VolatileImage
astore 2 /* viBB */
9: .line 206
aload 1 /* bb */
instanceof sun.java2d.DestSurfaceProvider
ifeq 22
10: .line 207
aload 1 /* bb */
checkcast sun.java2d.DestSurfaceProvider
invokeinterface sun.java2d.DestSurfaceProvider.getDestSurface:()Lsun/java2d/Surface;
astore 3 /* s */
start local 3 // sun.java2d.Surface s
11: .line 208
aload 3 /* s */
instanceof sun.awt.image.BufImgSurfaceData
ifeq 22
12: .line 212
aload 2 /* viBB */
invokevirtual java.awt.image.VolatileImage.getWidth:()I
istore 4 /* w */
start local 4 // int w
13: .line 213
aload 2 /* viBB */
invokevirtual java.awt.image.VolatileImage.getHeight:()I
istore 5 /* h */
start local 5 // int h
14: .line 214
aload 3 /* s */
checkcast sun.awt.image.BufImgSurfaceData
astore 6 /* bisd */
start local 6 // sun.awt.image.BufImgSurfaceData bisd
15: .line 215
aload 6 /* bisd */
iconst_0
iconst_0
iload 4 /* w */
iload 5 /* h */
invokevirtual sun.awt.image.BufImgSurfaceData.getRaster:(IIII)Ljava/awt/image/Raster;
16: .line 216
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
17: .line 215
checkcast java.awt.image.DataBufferInt
18: .line 216
invokevirtual java.awt.image.DataBufferInt.getData:()[I
19: .line 215
astore 7 /* data */
start local 7 // int[] data
20: .line 217
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.peer:Lsun/awt/windows/WWindowPeer;
aload 7 /* data */
iload 4 /* w */
iload 5 /* h */
invokevirtual sun.awt.windows.WWindowPeer.updateWindowImpl:([III)V
21: .line 218
iconst_1
ireturn
end local 7 // int[] data
end local 6 // sun.awt.image.BufImgSurfaceData bisd
end local 5 // int h
end local 4 // int w
end local 3 // sun.java2d.Surface s
22: .line 224
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
invokestatic sun.awt.windows.TranslucentWindowPainter.clearImage:(Ljava/awt/Image;)Ljava/awt/Image;
checkcast java.awt.image.BufferedImage
astore 3 /* bi */
start local 3 // java.awt.image.BufferedImage bi
23: .line 227
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.WritableRaster.getDataBuffer:()Ljava/awt/image/DataBuffer;
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
24: .line 226
astore 4 /* data */
start local 4 // int[] data
25: .line 228
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.peer:Lsun/awt/windows/WWindowPeer;
aload 4 /* data */
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getWidth:()I
aload 3 /* bi */
invokevirtual java.awt.image.BufferedImage.getHeight:()I
invokevirtual sun.awt.windows.WWindowPeer.updateWindowImpl:([III)V
26: .line 230
aload 2 /* viBB */
ifnull 28
aload 2 /* viBB */
invokevirtual java.awt.image.VolatileImage.contentsLost:()Z
ifeq 27
iconst_0
goto 29
StackMap locals: java.awt.image.BufferedImage int[]
StackMap stack:
27: iconst_1
goto 29
StackMap locals:
StackMap stack:
28: iconst_1
StackMap locals:
StackMap stack: int
29: ireturn
end local 4 // int[] data
end local 3 // java.awt.image.BufferedImage bi
end local 2 // java.awt.image.VolatileImage viBB
end local 1 // java.awt.Image bb
end local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/awt/windows/TranslucentWindowPainter$BIWindowPainter;
0 30 1 bb Ljava/awt/Image;
1 30 2 viBB Ljava/awt/image/VolatileImage;
3 7 3 bi Ljava/awt/image/BufferedImage;
5 7 4 data [I
11 22 3 s Lsun/java2d/Surface;
13 22 4 w I
14 22 5 h I
15 22 6 bisd Lsun/awt/image/BufImgSurfaceData;
20 22 7 data [I
23 30 3 bi Ljava/awt/image/BufferedImage;
25 30 4 data [I
MethodParameters:
Name Flags
bb
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
0: .line 234
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
ifnull 3
1: .line 235
aload 0 /* this */
getfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
invokevirtual java.awt.image.BufferedImage.flush:()V
2: .line 236
aload 0 /* this */
aconst_null
putfield sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.backBuffer:Ljava/awt/image/BufferedImage;
3: .line 238
StackMap locals:
StackMap stack:
return
end local 0 // sun.awt.windows.TranslucentWindowPainter$BIWindowPainter this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/TranslucentWindowPainter$BIWindowPainter;
}
SourceFile: "TranslucentWindowPainter.java"
NestHost: sun.awt.windows.TranslucentWindowPainter
InnerClasses:
private BIWindowPainter = sun.awt.windows.TranslucentWindowPainter$BIWindowPainter of sun.awt.windows.TranslucentWindowPainter