public final class sun.awt.CGraphicsDevice extends java.awt.GraphicsDevice implements sun.awt.DisplayChangedListener
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.awt.CGraphicsDevice
super_class: java.awt.GraphicsDevice
{
private volatile int displayID;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile double xResolution;
descriptor: D
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile double yResolution;
descriptor: D
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.awt.Rectangle bounds;
descriptor: Ljava/awt/Rectangle;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int scale;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.awt.GraphicsConfiguration config;
descriptor: Ljava/awt/GraphicsConfiguration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static java.awt.AWTPermission fullScreenExclusivePermission;
descriptor: Ljava/awt/AWTPermission;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.awt.DisplayMode originalMode;
descriptor: Ljava/awt/DisplayMode;
flags: (0x0002) ACC_PRIVATE
public void <init>(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
invokespecial java.awt.GraphicsDevice.<init>:()V
1: aload 0
iload 1
putfield sun.awt.CGraphicsDevice.displayID:I
2: aload 0
aload 0
invokestatic sun.java2d.opengl.CGLGraphicsConfig.getConfig:(Lsun/awt/CGraphicsDevice;)Lsun/java2d/opengl/CGLGraphicsConfig;
putfield sun.awt.CGraphicsDevice.config:Ljava/awt/GraphicsConfiguration;
3: aload 0
invokevirtual sun.awt.CGraphicsDevice.displayChanged:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/awt/CGraphicsDevice;
0 5 1 displayID I
MethodParameters:
Name Flags
displayID final
public java.awt.GraphicsConfiguration[] getConfigurations();
descriptor: ()[Ljava/awt/GraphicsConfiguration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.awt.GraphicsConfiguration
dup
iconst_0
aload 0
getfield sun.awt.CGraphicsDevice.config:Ljava/awt/GraphicsConfiguration;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public java.awt.GraphicsConfiguration getDefaultConfiguration();
descriptor: ()Ljava/awt/GraphicsConfiguration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.config:Ljava/awt/GraphicsConfiguration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public java.lang.String getIDstring();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "Display "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public int getType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public double getXResolution();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.xResolution:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public double getYResolution();
descriptor: ()D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.yResolution:D
dreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
java.awt.Rectangle getBounds();
descriptor: ()Ljava/awt/Rectangle;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.bounds:Ljava/awt/Rectangle;
invokevirtual java.awt.Rectangle.getBounds:()Ljava/awt/Rectangle;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public java.awt.Insets getScreenInsets();
descriptor: ()Ljava/awt/Insets;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetScreenInsets:(I)Ljava/awt/Insets;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public int getScaleFactor();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.scale:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public void invalidate(sun.awt.CGraphicsDevice);
descriptor: (Lsun/awt/CGraphicsDevice;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield sun.awt.CGraphicsDevice.displayID:I
putfield sun.awt.CGraphicsDevice.displayID:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/CGraphicsDevice;
0 2 1 device Lsun/awt/CGraphicsDevice;
MethodParameters:
Name Flags
device
public void displayChanged();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetXResolution:(I)D
putfield sun.awt.CGraphicsDevice.xResolution:D
1: aload 0
aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetYResolution:(I)D
putfield sun.awt.CGraphicsDevice.yResolution:D
2: aload 0
aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetBounds:(I)Ljava/awt/geom/Rectangle2D;
invokevirtual java.awt.geom.Rectangle2D.getBounds:()Ljava/awt/Rectangle;
putfield sun.awt.CGraphicsDevice.bounds:Ljava/awt/Rectangle;
3: aload 0
invokevirtual sun.awt.CGraphicsDevice.initScaleFactor:()V
4: aload 0
invokevirtual sun.awt.CGraphicsDevice.getFullScreenWindow:()Ljava/awt/Window;
aload 0
getfield sun.awt.CGraphicsDevice.bounds:Ljava/awt/Rectangle;
invokestatic sun.awt.CGraphicsDevice.resizeFSWindow:(Ljava/awt/Window;Ljava/awt/Rectangle;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/awt/CGraphicsDevice;
public void paletteChanged();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public synchronized void setFullScreenWindow(java.awt.Window);
descriptor: (Ljava/awt/Window;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.awt.CGraphicsDevice.getFullScreenWindow:()Ljava/awt/Window;
astore 2
start local 2 1: aload 1
aload 2
if_acmpne 3
2: return
3: StackMap locals: java.awt.Window
StackMap stack:
aload 0
invokevirtual sun.awt.CGraphicsDevice.isFullScreenSupported:()Z
istore 3
start local 3 4: iload 3
ifeq 9
aload 2
ifnull 9
5: aload 2
invokestatic sun.awt.CGraphicsDevice.exitFullScreenExclusive:(Ljava/awt/Window;)V
6: aload 0
getfield sun.awt.CGraphicsDevice.originalMode:Ljava/awt/DisplayMode;
ifnull 9
7: aload 0
aload 0
getfield sun.awt.CGraphicsDevice.originalMode:Ljava/awt/DisplayMode;
invokevirtual sun.awt.CGraphicsDevice.setDisplayMode:(Ljava/awt/DisplayMode;)V
8: aload 0
aconst_null
putfield sun.awt.CGraphicsDevice.originalMode:Ljava/awt/DisplayMode;
9: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokespecial java.awt.GraphicsDevice.setFullScreenWindow:(Ljava/awt/Window;)V
10: iload 3
ifeq 14
aload 1
ifnull 14
11: aload 0
invokevirtual sun.awt.CGraphicsDevice.isDisplayChangeSupported:()Z
ifeq 13
12: aload 0
aload 0
invokevirtual sun.awt.CGraphicsDevice.getDisplayMode:()Ljava/awt/DisplayMode;
putfield sun.awt.CGraphicsDevice.originalMode:Ljava/awt/DisplayMode;
13: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.awt.CGraphicsDevice.enterFullScreenExclusive:(Ljava/awt/Window;)V
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/awt/CGraphicsDevice;
0 15 1 w Ljava/awt/Window;
1 15 2 old Ljava/awt/Window;
4 15 3 fsSupported Z
MethodParameters:
Name Flags
w
public boolean isFullScreenSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic sun.awt.CGraphicsDevice.isFSExclusiveModeAllowed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
private static boolean isFSExclusiveModeAllowed();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 0
start local 0 1: aload 0
ifnull 9
2: getstatic sun.awt.CGraphicsDevice.fullScreenExclusivePermission:Ljava/awt/AWTPermission;
ifnonnull 5
3: new java.awt.AWTPermission
dup
ldc "fullScreenExclusive"
invokespecial java.awt.AWTPermission.<init>:(Ljava/lang/String;)V
4: putstatic sun.awt.CGraphicsDevice.fullScreenExclusivePermission:Ljava/awt/AWTPermission;
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
getstatic sun.awt.CGraphicsDevice.fullScreenExclusivePermission:Ljava/awt/AWTPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
6: goto 9
StackMap locals:
StackMap stack: java.lang.SecurityException
7: pop
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 security Ljava/lang/SecurityManager;
Exception table:
from to target type
5 6 7 Class java.lang.SecurityException
private static void enterFullScreenExclusive(java.awt.Window);
descriptor: (Ljava/awt/Window;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
aload 0
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
checkcast sun.awt.FullScreenCapable
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface sun.awt.FullScreenCapable.enterFullScreenMode:()V
3: StackMap locals: sun.awt.FullScreenCapable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 w Ljava/awt/Window;
1 4 1 peer Lsun/awt/FullScreenCapable;
MethodParameters:
Name Flags
w
private static void exitFullScreenExclusive(java.awt.Window);
descriptor: (Ljava/awt/Window;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
aload 0
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
checkcast sun.awt.FullScreenCapable
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokeinterface sun.awt.FullScreenCapable.exitFullScreenMode:()V
3: StackMap locals: sun.awt.FullScreenCapable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 w Ljava/awt/Window;
1 4 1 peer Lsun/awt/FullScreenCapable;
MethodParameters:
Name Flags
w
private static void resizeFSWindow(java.awt.Window, java.awt.Rectangle);
descriptor: (Ljava/awt/Window;Ljava/awt/Rectangle;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnull 4
1: invokestatic sun.awt.AWTAccessor.getComponentAccessor:()Lsun/awt/AWTAccessor$ComponentAccessor;
aload 0
invokeinterface sun.awt.AWTAccessor$ComponentAccessor.getPeer:(Ljava/awt/Component;)Ljava/awt/peer/ComponentPeer;
checkcast java.awt.peer.WindowPeer
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
aload 1
getfield java.awt.Rectangle.x:I
aload 1
getfield java.awt.Rectangle.y:I
aload 1
getfield java.awt.Rectangle.width:I
aload 1
getfield java.awt.Rectangle.height:I
iconst_3
invokeinterface java.awt.peer.WindowPeer.setBounds:(IIIII)V
end local 2 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 w Ljava/awt/Window;
0 5 1 b Ljava/awt/Rectangle;
2 4 2 peer Ljava/awt/peer/WindowPeer;
MethodParameters:
Name Flags
w final
b final
public boolean isDisplayChangeSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public void setDisplayMode(java.awt.DisplayMode);
descriptor: (Ljava/awt/DisplayMode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Invalid display mode"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual sun.awt.CGraphicsDevice.getDisplayMode:()Ljava/awt/DisplayMode;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 6
3: aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
aload 1
invokevirtual java.awt.DisplayMode.getWidth:()I
aload 1
invokevirtual java.awt.DisplayMode.getHeight:()I
4: aload 1
invokevirtual java.awt.DisplayMode.getBitDepth:()I
aload 1
invokevirtual java.awt.DisplayMode.getRefreshRate:()I
5: invokestatic sun.awt.CGraphicsDevice.nativeSetDisplayMode:(IIIII)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/awt/CGraphicsDevice;
0 7 1 dm Ljava/awt/DisplayMode;
MethodParameters:
Name Flags
dm final
public java.awt.DisplayMode getDisplayMode();
descriptor: ()Ljava/awt/DisplayMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetDisplayMode:(I)Ljava/awt/DisplayMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
public java.awt.DisplayMode[] getDisplayModes();
descriptor: ()[Ljava/awt/DisplayMode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetDisplayModes:(I)[Ljava/awt/DisplayMode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/awt/CGraphicsDevice;
private void initScaleFactor();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic sun.java2d.SunGraphicsEnvironment.isUIScaleEnabled:()Z
ifeq 8
1: invokestatic sun.java2d.SunGraphicsEnvironment.getDebugScale:()D
dstore 1
start local 1 2: aload 0
dload 1
dconst_1
dcmpl
iflt 4
3: dload 1
invokestatic java.lang.Math.round:(D)J
l2d
goto 5
4: StackMap locals: sun.awt.CGraphicsDevice double
StackMap stack: sun.awt.CGraphicsDevice
aload 0
getfield sun.awt.CGraphicsDevice.displayID:I
invokestatic sun.awt.CGraphicsDevice.nativeGetScaleFactor:(I)D
StackMap locals: sun.awt.CGraphicsDevice double
StackMap stack: sun.awt.CGraphicsDevice double
5: d2i
6: putfield sun.awt.CGraphicsDevice.scale:I
end local 1 7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.awt.CGraphicsDevice.scale:I
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/awt/CGraphicsDevice;
2 7 1 debugScale D
private static native double nativeGetScaleFactor(int);
descriptor: (I)D
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native void nativeSetDisplayMode(int, int, int, int, int);
descriptor: (IIIII)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
w
h
bpp
refrate
private static native java.awt.DisplayMode nativeGetDisplayMode(int);
descriptor: (I)Ljava/awt/DisplayMode;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native java.awt.DisplayMode[] nativeGetDisplayModes(int);
descriptor: (I)[Ljava/awt/DisplayMode;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native double nativeGetXResolution(int);
descriptor: (I)D
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native double nativeGetYResolution(int);
descriptor: (I)D
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native java.awt.Insets nativeGetScreenInsets(int);
descriptor: (I)Ljava/awt/Insets;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
private static native java.awt.geom.Rectangle2D nativeGetBounds(int);
descriptor: (I)Ljava/awt/geom/Rectangle2D;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
displayID
}
SourceFile: "CGraphicsDevice.java"
InnerClasses:
public abstract ComponentAccessor = sun.awt.AWTAccessor$ComponentAccessor of sun.awt.AWTAccessor