final class com.sun.glass.ui.monocle.MonocleCursor extends com.sun.glass.ui.Cursor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.glass.ui.monocle.MonocleCursor
super_class: com.sun.glass.ui.Cursor
{
private byte[] image;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int hotspotX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int hotspotY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial com.sun.glass.ui.Cursor.<init>:(I)V
1: aload 0
iload 1
invokestatic com.sun.glass.ui.monocle.MonocleCursor.getImage:(I)[B
putfield com.sun.glass.ui.monocle.MonocleCursor.image:[B
2: aload 0
iconst_0
putfield com.sun.glass.ui.monocle.MonocleCursor.hotspotX:I
3: aload 0
iconst_0
putfield com.sun.glass.ui.monocle.MonocleCursor.hotspotY:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/MonocleCursor;
0 5 1 type I
MethodParameters:
Name Flags
type
void <init>(int, int, com.sun.glass.ui.Pixels);
descriptor: (IILcom/sun/glass/ui/Pixels;)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
iload 1
iload 2
aload 3
invokespecial com.sun.glass.ui.Cursor.<init>:(IILcom/sun/glass/ui/Pixels;)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 Lcom/sun/glass/ui/monocle/MonocleCursor;
0 2 1 x I
0 2 2 y I
0 2 3 pixels Lcom/sun/glass/ui/Pixels;
MethodParameters:
Name Flags
x
y
pixels
void applyCursor();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.glass.ui.monocle.MonocleCursor.getType:()I
istore 1
start local 1 1: iload 1
iconst_m1
if_icmpne 5
2: invokestatic com.sun.glass.ui.Application.GetApplication:()Lcom/sun/glass/ui/Application;
checkcast com.sun.glass.ui.monocle.MonocleApplication
3: iconst_0
invokevirtual com.sun.glass.ui.monocle.MonocleApplication.staticCursor_setVisible:(Z)V
4: goto 9
5: StackMap locals: int
StackMap stack:
invokestatic com.sun.glass.ui.monocle.NativePlatformFactory.getNativePlatform:()Lcom/sun/glass/ui/monocle/NativePlatform;
invokevirtual com.sun.glass.ui.monocle.NativePlatform.getCursor:()Lcom/sun/glass/ui/monocle/NativeCursor;
astore 2
start local 2 6: aload 2
aload 0
getfield com.sun.glass.ui.monocle.MonocleCursor.image:[B
invokevirtual com.sun.glass.ui.monocle.NativeCursor.setImage:([B)V
7: invokestatic com.sun.glass.ui.Application.GetApplication:()Lcom/sun/glass/ui/Application;
checkcast com.sun.glass.ui.monocle.MonocleApplication
8: iconst_1
invokevirtual com.sun.glass.ui.monocle.MonocleApplication.staticCursor_setVisible:(Z)V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/glass/ui/monocle/MonocleCursor;
1 10 1 type I
6 9 2 cursor Lcom/sun/glass/ui/monocle/NativeCursor;
protected long _createCursor(int, int, com.sun.glass.ui.Pixels);
descriptor: (IILcom/sun/glass/ui/Pixels;)J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
putfield com.sun.glass.ui.monocle.MonocleCursor.hotspotX:I
1: aload 0
iload 2
putfield com.sun.glass.ui.monocle.MonocleCursor.hotspotY:I
2: aload 0
aload 3
invokevirtual com.sun.glass.ui.Pixels.asByteBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
putfield com.sun.glass.ui.monocle.MonocleCursor.image:[B
3: lconst_1
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/glass/ui/monocle/MonocleCursor;
0 4 1 x I
0 4 2 y I
0 4 3 pixels Lcom/sun/glass/ui/Pixels;
MethodParameters:
Name Flags
x
y
pixels
private static java.lang.String cursorResourceName(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 2 - 19
2: 17
3: 2
4: 1
5: 5
6: 6
7: 8
8: 12
9: 15
10: 7
11: 9
12: 16
13: 3
14: 18
15: 14
16: 13
17: 11
18: 10
19: 4
default: 19
}
1: StackMap locals:
StackMap stack:
ldc "ClosedHand"
areturn
2: StackMap locals:
StackMap stack:
ldc "Crosshair"
areturn
3: StackMap locals:
StackMap stack:
ldc "Disappear"
areturn
4: StackMap locals:
StackMap stack:
ldc "Move"
areturn
5: StackMap locals:
StackMap stack:
ldc "OpenHand"
areturn
6: StackMap locals:
StackMap stack:
ldc "PointingHand"
areturn
7: StackMap locals:
StackMap stack:
ldc "ResizeDown"
areturn
8: StackMap locals:
StackMap stack:
ldc "ResizeLeft"
areturn
9: StackMap locals:
StackMap stack:
ldc "ResizeLeftRight"
areturn
10: StackMap locals:
StackMap stack:
ldc "ResizeNorthEast"
areturn
11: StackMap locals:
StackMap stack:
ldc "ResizeNorthWest"
areturn
12: StackMap locals:
StackMap stack:
ldc "ResizeRight"
areturn
13: StackMap locals:
StackMap stack:
ldc "ResizeSouthEast"
areturn
14: StackMap locals:
StackMap stack:
ldc "ResizeSouthWest"
areturn
15: StackMap locals:
StackMap stack:
ldc "ResizeUp"
areturn
16: StackMap locals:
StackMap stack:
ldc "ResizeUpDown"
areturn
17: StackMap locals:
StackMap stack:
ldc "Text"
areturn
18: StackMap locals:
StackMap stack:
ldc "Wait"
areturn
19: StackMap locals:
StackMap stack:
ldc "Default"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 cursorType I
MethodParameters:
Name Flags
cursorType
private static byte[] getImage(int);
descriptor: (I)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: ldc Lcom/sun/glass/ui/monocle/MonocleCursor;
2: new java.lang.StringBuilder
dup
ldc "Cursor"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: iload 0
invokestatic com.sun.glass.ui.monocle.MonocleCursor.cursorResourceName:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "Translucent.raw"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 1
7: sipush 1024
newarray 8
astore 2
start local 2 8: iconst_0
istore 3
start local 3 9: goto 15
10: StackMap locals: java.io.InputStream byte[] int
StackMap stack:
aload 1
aload 2
iload 3
sipush 1024
iload 3
isub
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 11: iload 4
iflt 14
12: iload 3
iload 4
iadd
istore 3
13: goto 15
14: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
ldc "Incomplete cursor resource"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
iload 3
sipush 1024
if_icmplt 10
16: aload 2
astore 6
17: aload 1
ifnull 21
18: aload 1
invokevirtual java.io.InputStream.close:()V
19: goto 21
StackMap locals: int java.io.InputStream byte[] int top top byte[]
StackMap stack: java.io.IOException
20: pop
21: StackMap locals:
StackMap stack:
aload 6
areturn
end local 3 end local 2 22: StackMap locals: int java.io.InputStream
StackMap stack: java.io.IOException
astore 2
start local 2 23: aload 2
invokevirtual java.io.IOException.printStackTrace:()V
24: aload 1
ifnull 28
25: aload 1
invokevirtual java.io.InputStream.close:()V
26: goto 28
StackMap locals: int java.io.InputStream java.io.IOException
StackMap stack: java.io.IOException
27: pop
28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 29: StackMap locals: int java.io.InputStream
StackMap stack: java.lang.Throwable
astore 5
30: aload 1
ifnull 34
31: aload 1
invokevirtual java.io.InputStream.close:()V
32: goto 34
StackMap locals: int java.io.InputStream top top top java.lang.Throwable
StackMap stack: java.io.IOException
33: pop
34: StackMap locals:
StackMap stack:
aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 cursorType I
1 35 1 in Ljava/io/InputStream;
8 22 2 b [B
9 22 3 bytesRead I
11 15 4 read I
23 29 2 e Ljava/io/IOException;
Exception table:
from to target type
18 19 20 Class java.io.IOException
1 17 22 Class java.io.IOException
25 26 27 Class java.io.IOException
1 17 29 any
22 24 29 any
31 32 33 Class java.io.IOException
MethodParameters:
Name Flags
cursorType
}
SourceFile: "MonocleCursor.java"