final class sun.awt.windows.WCustomCursor extends sun.awt.CustomCursor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.awt.windows.WCustomCursor
super_class: sun.awt.CustomCursor
{
void <init>(java.awt.Image, java.awt.Point, java.lang.String);
descriptor: (Ljava/awt/Image;Ljava/awt/Point;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial sun.awt.CustomCursor.<init>:(Ljava/awt/Image;Ljava/awt/Point;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/awt/windows/WCustomCursor;
0 2 1 cursor Ljava/awt/Image;
0 2 2 hotSpot Ljava/awt/Point;
0 2 3 name Ljava/lang/String;
Exceptions:
throws java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
cursor
hotSpot
name
protected void createNativeCursor(java.awt.Image, int[], int, int, int, int);
descriptor: (Ljava/awt/Image;[IIIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=16, 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: new java.awt.image.BufferedImage
dup
iload 3
iload 4
1: iconst_1
2: invokespecial java.awt.image.BufferedImage.<init>:(III)V
astore 7
start local 7 3: aload 7
invokevirtual java.awt.image.BufferedImage.getGraphics:()Ljava/awt/Graphics;
astore 8
start local 8 4: aload 1
instanceof sun.awt.image.ToolkitImage
ifeq 7
5: aload 1
checkcast sun.awt.image.ToolkitImage
invokevirtual sun.awt.image.ToolkitImage.getImageRep:()Lsun/awt/image/ImageRepresentation;
astore 9
start local 9 6: aload 9
bipush 32
invokevirtual sun.awt.image.ImageRepresentation.reconstruct:(I)V
end local 9 7: StackMap locals: java.awt.image.BufferedImage java.awt.Graphics
StackMap stack:
aload 8
aload 1
iconst_0
iconst_0
iload 3
iload 4
aconst_null
invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z
pop
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 10
10: aload 8
invokevirtual java.awt.Graphics.dispose:()V
11: aload 10
athrow
12: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.awt.Graphics.dispose:()V
13: aload 7
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 9
start local 9 14: aload 9
invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
astore 10
start local 10 15: aload 10
checkcast java.awt.image.DataBufferInt
invokevirtual java.awt.image.DataBufferInt.getData:()[I
pop
16: iload 3
iload 4
imul
bipush 8
idiv
newarray 8
astore 11
start local 11 17: aload 2
arraylength
istore 12
start local 12 18: iconst_0
istore 13
start local 13 19: goto 25
20: StackMap locals: sun.awt.windows.WCustomCursor java.awt.Image int[] int int int int java.awt.image.BufferedImage java.awt.Graphics java.awt.image.Raster java.awt.image.DataBuffer byte[] int int
StackMap stack:
iload 13
bipush 8
idiv
istore 14
start local 14 21: iconst_1
bipush 7
iload 13
bipush 8
irem
isub
ishl
istore 15
start local 15 22: aload 2
iload 13
iaload
ldc -16777216
iand
ifne 24
23: aload 11
iload 14
dup2
baload
iload 15
ior
i2b
bastore
end local 15 end local 14 24: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
25: iload 13
iload 12
if_icmplt 20
end local 13 26: aload 9
invokevirtual java.awt.image.Raster.getWidth:()I
istore 13
start local 13 27: aload 9
instanceof sun.awt.image.IntegerComponentRaster
ifeq 29
28: aload 9
checkcast sun.awt.image.IntegerComponentRaster
invokevirtual sun.awt.image.IntegerComponentRaster.getScanlineStride:()I
istore 13
29: StackMap locals:
StackMap stack:
aload 0
30: aload 7
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
31: aload 11
iload 13
aload 9
invokevirtual java.awt.image.Raster.getWidth:()I
aload 9
invokevirtual java.awt.image.Raster.getHeight:()I
32: iload 5
iload 6
33: invokevirtual sun.awt.windows.WCustomCursor.createCursorIndirect:([I[BIIIII)V
end local 13 34: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 35 0 this Lsun/awt/windows/WCustomCursor;
0 35 1 im Ljava/awt/Image;
0 35 2 pixels [I
0 35 3 w I
0 35 4 h I
0 35 5 xHotSpot I
0 35 6 yHotSpot I
3 35 7 bimage Ljava/awt/image/BufferedImage;
4 35 8 g Ljava/awt/Graphics;
6 7 9 ir Lsun/awt/image/ImageRepresentation;
14 35 9 raster Ljava/awt/image/Raster;
15 35 10 buffer Ljava/awt/image/DataBuffer;
17 35 11 andMask [B
18 35 12 npixels I
19 26 13 i I
21 24 14 ibyte I
22 24 15 omask I
27 34 13 ficW I
Exception table:
from to target type
4 9 9 any
MethodParameters:
Name Flags
im
pixels
w
h
xHotSpot
yHotSpot
private native void createCursorIndirect(int[], byte[], int, int, int, int, int);
descriptor: ([I[BIIIII)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
rData
andMask
nScanStride
width
height
xHotSpot
yHotSpot
static native int getCursorWidth();
descriptor: ()I
flags: (0x0108) ACC_STATIC, ACC_NATIVE
static native int getCursorHeight();
descriptor: ()I
flags: (0x0108) ACC_STATIC, ACC_NATIVE
}
SourceFile: "WCustomCursor.java"