abstract class sun.awt.windows.TranslucentWindowPainter
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.awt.windows.TranslucentWindowPainter
super_class: java.lang.Object
{
protected java.awt.Window window;
descriptor: Ljava/awt/Window;
flags: (0x0004) ACC_PROTECTED
protected sun.awt.windows.WWindowPeer peer;
descriptor: Lsun/awt/windows/WWindowPeer;
flags: (0x0004) ACC_PROTECTED
private static final boolean forceOpt;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean forceSW;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new sun.security.action.GetPropertyAction
dup
ldc "sun.java2d.twp.forceopt"
ldc "false"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
2: putstatic sun.awt.windows.TranslucentWindowPainter.forceOpt:Z
3: new sun.security.action.GetPropertyAction
dup
ldc "sun.java2d.twp.forcesw"
ldc "false"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
5: putstatic sun.awt.windows.TranslucentWindowPainter.forceSW:Z
6: return
LocalVariableTable:
Start End Slot Name Signature
public static sun.awt.windows.TranslucentWindowPainter createInstance(sun.awt.windows.WWindowPeer);
descriptor: (Lsun/awt/windows/WWindowPeer;)Lsun/awt/windows/TranslucentWindowPainter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.awt.windows.WWindowPeer.getGraphicsConfiguration:()Ljava/awt/GraphicsConfiguration;
astore 1
start local 1 1: getstatic sun.awt.windows.TranslucentWindowPainter.forceSW:Z
ifne 10
aload 1
instanceof sun.java2d.pipe.hw.AccelGraphicsConfig
ifeq 10
2: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
astore 2
start local 2 3: aload 1
checkcast sun.java2d.pipe.hw.AccelGraphicsConfig
astore 3
start local 3 4: aload 3
invokeinterface sun.java2d.pipe.hw.AccelGraphicsConfig.getContextCapabilities:()Lsun/java2d/pipe/hw/ContextCapabilities;
invokevirtual sun.java2d.pipe.hw.ContextCapabilities.getCaps:()I
sipush 256
iand
ifne 6
5: getstatic sun.awt.windows.TranslucentWindowPainter.forceOpt:Z
ifeq 10
6: StackMap locals: java.awt.GraphicsConfiguration java.lang.String sun.java2d.pipe.hw.AccelGraphicsConfig
StackMap stack:
aload 2
ldc "D3D"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 8
7: new sun.awt.windows.TranslucentWindowPainter$VIOptD3DWindowPainter
dup
aload 0
invokespecial sun.awt.windows.TranslucentWindowPainter$VIOptD3DWindowPainter.<init>:(Lsun/awt/windows/WWindowPeer;)V
areturn
8: StackMap locals:
StackMap stack:
getstatic sun.awt.windows.TranslucentWindowPainter.forceOpt:Z
ifeq 10
aload 2
ldc "WGL"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
9: new sun.awt.windows.TranslucentWindowPainter$VIOptWGLWindowPainter
dup
aload 0
invokespecial sun.awt.windows.TranslucentWindowPainter$VIOptWGLWindowPainter.<init>:(Lsun/awt/windows/WWindowPeer;)V
areturn
end local 3 end local 2 10: StackMap locals:
StackMap stack:
new sun.awt.windows.TranslucentWindowPainter$BIWindowPainter
dup
aload 0
invokespecial sun.awt.windows.TranslucentWindowPainter$BIWindowPainter.<init>:(Lsun/awt/windows/WWindowPeer;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 peer Lsun/awt/windows/WWindowPeer;
1 11 1 gc Ljava/awt/GraphicsConfiguration;
3 10 2 gcName Ljava/lang/String;
4 10 3 agc Lsun/java2d/pipe/hw/AccelGraphicsConfig;
MethodParameters:
Name Flags
peer
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 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.awt.windows.TranslucentWindowPainter.peer:Lsun/awt/windows/WWindowPeer;
2: aload 0
aload 1
invokevirtual sun.awt.windows.WWindowPeer.getTarget:()Ljava/lang/Object;
checkcast java.awt.Window
putfield sun.awt.windows.TranslucentWindowPainter.window:Ljava/awt/Window;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/awt/windows/TranslucentWindowPainter;
0 4 1 peer Lsun/awt/windows/WWindowPeer;
MethodParameters:
Name Flags
peer
protected abstract java.awt.Image getBackBuffer(boolean);
descriptor: (Z)Ljava/awt/Image;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
clear
protected abstract boolean update(java.awt.Image);
descriptor: (Ljava/awt/Image;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
bb
public abstract void flush();
descriptor: ()V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public void updateWindow(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
iload 1
invokevirtual sun.awt.windows.TranslucentWindowPainter.getBackBuffer:(Z)Ljava/awt/Image;
astore 3
start local 3 2: goto 15
3: StackMap locals: int java.awt.Image
StackMap stack:
iload 1
ifeq 11
4: aload 3
invokevirtual java.awt.Image.getGraphics:()Ljava/awt/Graphics;
checkcast java.awt.Graphics2D
astore 4
start local 4 5: aload 0
getfield sun.awt.windows.TranslucentWindowPainter.window:Ljava/awt/Window;
aload 4
invokevirtual java.awt.Window.paintAll:(Ljava/awt/Graphics;)V
6: goto 10
StackMap locals: sun.awt.windows.TranslucentWindowPainter int int java.awt.Image java.awt.Graphics2D
StackMap stack: java.lang.Throwable
7: astore 5
8: aload 4
invokevirtual java.awt.Graphics2D.dispose:()V
9: aload 5
athrow
10: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.awt.Graphics2D.dispose:()V
end local 4 11: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.awt.windows.TranslucentWindowPainter.update:(Ljava/awt/Image;)Z
istore 2
12: iload 2
ifne 15
13: iconst_1
istore 1
14: aload 0
iconst_1
invokevirtual sun.awt.windows.TranslucentWindowPainter.getBackBuffer:(Z)Ljava/awt/Image;
astore 3
15: StackMap locals:
StackMap stack:
iload 2
ifeq 3
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/awt/windows/TranslucentWindowPainter;
0 17 1 repaint Z
1 17 2 done Z
2 17 3 bb Ljava/awt/Image;
5 11 4 g Ljava/awt/Graphics2D;
Exception table:
from to target type
5 7 7 any
MethodParameters:
Name Flags
repaint
private static final java.awt.Image clearImage(java.awt.Image);
descriptor: (Ljava/awt/Image;)Ljava/awt/Image;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.awt.Image.getGraphics:()Ljava/awt/Graphics;
checkcast java.awt.Graphics2D
astore 1
start local 1 1: aload 0
aconst_null
invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
istore 2
start local 2 2: aload 0
aconst_null
invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
istore 3
start local 3 3: aload 1
getstatic java.awt.AlphaComposite.Src:Ljava/awt/AlphaComposite;
invokevirtual java.awt.Graphics2D.setComposite:(Ljava/awt/Composite;)V
4: aload 1
new java.awt.Color
dup
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial java.awt.Color.<init>:(IIII)V
invokevirtual java.awt.Graphics2D.setColor:(Ljava/awt/Color;)V
5: aload 1
iconst_0
iconst_0
iload 2
iload 3
invokevirtual java.awt.Graphics2D.fillRect:(IIII)V
6: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 bb Ljava/awt/Image;
1 7 1 g Ljava/awt/Graphics2D;
2 7 2 w I
3 7 3 h I
MethodParameters:
Name Flags
bb
}
SourceFile: "TranslucentWindowPainter.java"
NestMembers:
sun.awt.windows.TranslucentWindowPainter$BIWindowPainter sun.awt.windows.TranslucentWindowPainter$VIOptD3DWindowPainter sun.awt.windows.TranslucentWindowPainter$VIOptWGLWindowPainter sun.awt.windows.TranslucentWindowPainter$VIOptWindowPainter sun.awt.windows.TranslucentWindowPainter$VIOptWindowPainter$1 sun.awt.windows.TranslucentWindowPainter$VIWindowPainter
InnerClasses:
private BIWindowPainter = sun.awt.windows.TranslucentWindowPainter$BIWindowPainter of sun.awt.windows.TranslucentWindowPainter
private VIOptD3DWindowPainter = sun.awt.windows.TranslucentWindowPainter$VIOptD3DWindowPainter of sun.awt.windows.TranslucentWindowPainter
private VIOptWGLWindowPainter = sun.awt.windows.TranslucentWindowPainter$VIOptWGLWindowPainter of sun.awt.windows.TranslucentWindowPainter
private abstract VIOptWindowPainter = sun.awt.windows.TranslucentWindowPainter$VIOptWindowPainter of sun.awt.windows.TranslucentWindowPainter
private VIWindowPainter = sun.awt.windows.TranslucentWindowPainter$VIWindowPainter of sun.awt.windows.TranslucentWindowPainter