class com.sun.glass.ui.monocle.OMAPCursor extends com.sun.glass.ui.monocle.NativeCursor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.glass.ui.monocle.OMAPCursor
super_class: com.sun.glass.ui.monocle.NativeCursor
{
private int hotspotX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int hotspotY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int offsetX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int offsetY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int cursorX;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int cursorY;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int INT_KEY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 303174162
private static final int SHORT_KEY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 43947
private static final int CURSOR_WIDTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int CURSOR_HEIGHT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private java.nio.Buffer cursorBuffer;
descriptor: Ljava/nio/Buffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.Buffer offsetCursorBuffer;
descriptor: Ljava/nio/Buffer;
flags: (0x0002) ACC_PRIVATE
private byte[] offsetCursor;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int screenWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int screenHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int cursorDepth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int transparentPixel;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.sun.glass.ui.monocle.NativeCursor.<init>:()V
1: ldc "/sys/class/graphics/fb1/virtual_size"
ldc "16,16"
invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
2: ldc "/sys/devices/platform/omapdss/overlay1/output_size"
ldc "16,16"
invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
3: ldc "/sys/devices/platform/omapdss/manager0/trans_key_enabled"
4: ldc "1"
5: invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
6: ldc "/sys/devices/platform/omapdss/manager0/trans_key_type"
7: ldc "video-source"
8: invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
9: aload 0
ldc "/sys/class/graphics/fb1/bits_per_pixel"
invokestatic com.sun.glass.ui.monocle.SysFS.readInt:(Ljava/lang/String;)I
putfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
10: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
lookupswitch { // 2
16: 11
32: 13
default: 15
}
11: StackMap locals: com.sun.glass.ui.monocle.OMAPCursor
StackMap stack:
aload 0
ldc 43947
putfield com.sun.glass.ui.monocle.OMAPCursor.transparentPixel:I
12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
ldc 303174162
putfield com.sun.glass.ui.monocle.OMAPCursor.transparentPixel:I
14: goto 20
15: StackMap locals:
StackMap stack:
new java.io.IOException
dup
16: new java.lang.StringBuilder
dup
ldc "Cannot use an OMAP cursor with a bit depth of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
ldc "/sys/devices/platform/omapdss/manager0/trans_key_value"
21: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.transparentPixel:I
i2l
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
22: invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
23: goto 27
StackMap locals:
StackMap stack: java.io.IOException
24: astore 1
start local 1 25: aload 1
invokevirtual java.io.IOException.printStackTrace:()V
26: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Failed to initialize OMAP cursor"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 1 27: StackMap locals:
StackMap stack:
invokestatic com.sun.glass.ui.monocle.NativePlatformFactory.getNativePlatform:()Lcom/sun/glass/ui/monocle/NativePlatform;
invokevirtual com.sun.glass.ui.monocle.NativePlatform.getScreen:()Lcom/sun/glass/ui/monocle/NativeScreen;
astore 1
start local 1 28: aload 0
aload 1
invokeinterface com.sun.glass.ui.monocle.NativeScreen.getWidth:()I
putfield com.sun.glass.ui.monocle.OMAPCursor.screenWidth:I
29: aload 0
aload 1
invokeinterface com.sun.glass.ui.monocle.NativeScreen.getHeight:()I
putfield com.sun.glass.ui.monocle.OMAPCursor.screenHeight:I
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
25 27 1 e Ljava/io/IOException;
28 31 1 screen Lcom/sun/glass/ui/monocle/NativeScreen;
Exception table:
from to target type
1 23 24 Class java.io.IOException
com.sun.glass.ui.Size getBestSize();
descriptor: ()Lcom/sun/glass/ui/Size;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.sun.glass.ui.Size
dup
bipush 16
bipush 16
invokespecial com.sun.glass.ui.Size.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
void setVisibility(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: ldc "/sys/devices/platform/omapdss/overlay1/enabled"
1: iload 1
ifeq 2
ldc "1"
goto 3
StackMap locals:
StackMap stack: java.lang.String
2: ldc "0"
3: StackMap locals: com.sun.glass.ui.monocle.OMAPCursor int
StackMap stack: java.lang.String java.lang.String
invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
4: goto 11
StackMap locals:
StackMap stack: java.io.IOException
5: pop
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Failed to %s OMAP cursor\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
7: iload 1
ifeq 8
ldc "enable"
goto 9
StackMap locals: com.sun.glass.ui.monocle.OMAPCursor int
StackMap stack: java.io.PrintStream java.lang.String java.lang.Object[] java.lang.Object[] int
8: ldc "disable"
StackMap locals: com.sun.glass.ui.monocle.OMAPCursor int
StackMap stack: java.io.PrintStream java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
9: aastore
10: invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
11: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield com.sun.glass.ui.monocle.OMAPCursor.isVisible:Z
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
0 13 1 visibility Z
Exception table:
from to target type
0 4 5 Class java.io.IOException
MethodParameters:
Name Flags
visibility
private void updateImage(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
bipush 16
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorX:I
iadd
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.screenWidth:I
isub
invokestatic java.lang.Math.max:(II)I
istore 2
start local 2 1: iconst_0
bipush 16
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorY:I
iadd
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.screenHeight:I
isub
invokestatic java.lang.Math.max:(II)I
istore 3
start local 3 2: iload 2
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetX:I
if_icmpne 3
iload 3
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetY:I
if_icmpne 3
iload 1
ifeq 14
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorBuffer:Ljava/nio/Buffer;
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetCursorBuffer:Ljava/nio/Buffer;
4: iload 2
iload 3
5: bipush 16
bipush 16
6: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.transparentPixel:I
7: invokestatic com.sun.glass.ui.monocle.NativeCursors.offsetCursor:(Ljava/nio/Buffer;Ljava/nio/Buffer;IIIIII)V
8: aload 0
iload 2
putfield com.sun.glass.ui.monocle.OMAPCursor.offsetX:I
9: aload 0
iload 3
putfield com.sun.glass.ui.monocle.OMAPCursor.offsetY:I
10: ldc "/dev/fb1"
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetCursor:[B
invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;[B)V
11: goto 14
StackMap locals:
StackMap stack: java.io.IOException
12: pop
13: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Failed to write OMAP cursor image"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)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 Lcom/sun/glass/ui/monocle/OMAPCursor;
0 15 1 always Z
1 15 2 newOffsetX I
2 15 3 newOffsetY I
Exception table:
from to target type
10 11 12 Class java.io.IOException
MethodParameters:
Name Flags
always
void setImage(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: aload 0
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
bipush 32
if_icmpne 2
aload 2
invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
goto 3
StackMap locals: com.sun.glass.ui.monocle.OMAPCursor byte[] java.nio.ByteBuffer
StackMap stack: com.sun.glass.ui.monocle.OMAPCursor
2: aload 2
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
StackMap locals: com.sun.glass.ui.monocle.OMAPCursor byte[] java.nio.ByteBuffer
StackMap stack: com.sun.glass.ui.monocle.OMAPCursor java.nio.Buffer
3: putfield com.sun.glass.ui.monocle.OMAPCursor.cursorBuffer:Ljava/nio/Buffer;
4: aload 1
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorBuffer:Ljava/nio/Buffer;
5: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.transparentPixel:I
6: invokestatic com.sun.glass.ui.monocle.NativeCursors.colorKeyCursor:([BLjava/nio/Buffer;II)V
7: aload 0
aload 1
arraylength
newarray 8
putfield com.sun.glass.ui.monocle.OMAPCursor.offsetCursor:[B
8: aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetCursor:[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
9: aload 0
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorDepth:I
bipush 32
if_icmpne 10
aload 2
invokevirtual java.nio.ByteBuffer.asIntBuffer:()Ljava/nio/IntBuffer;
goto 11
StackMap locals:
StackMap stack: com.sun.glass.ui.monocle.OMAPCursor
10: aload 2
invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
StackMap locals: com.sun.glass.ui.monocle.OMAPCursor byte[] java.nio.ByteBuffer
StackMap stack: com.sun.glass.ui.monocle.OMAPCursor java.nio.Buffer
11: putfield com.sun.glass.ui.monocle.OMAPCursor.offsetCursorBuffer:Ljava/nio/Buffer;
12: aload 0
iconst_1
invokevirtual com.sun.glass.ui.monocle.OMAPCursor.updateImage:(Z)V
13: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
0 14 1 cursorImage [B
1 14 2 bb Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
cursorImage
void setLocation(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
putfield com.sun.glass.ui.monocle.OMAPCursor.cursorX:I
1: aload 0
iload 2
putfield com.sun.glass.ui.monocle.OMAPCursor.cursorY:I
2: aload 0
iconst_0
invokevirtual com.sun.glass.ui.monocle.OMAPCursor.updateImage:(Z)V
3: ldc "/sys/devices/platform/omapdss/overlay1/position"
4: new java.lang.StringBuilder
dup
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorX:I
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.hotspotX:I
isub
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetX:I
isub
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.cursorY:I
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.hotspotY:I
isub
aload 0
getfield com.sun.glass.ui.monocle.OMAPCursor.offsetY:I
isub
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
8: goto 11
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Failed to set OMAP cursor position"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
0 12 1 x I
0 12 2 y I
Exception table:
from to target type
3 8 9 Class java.io.IOException
MethodParameters:
Name Flags
x
y
void setHotSpot(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
putfield com.sun.glass.ui.monocle.OMAPCursor.hotspotX:I
1: aload 0
iload 2
putfield com.sun.glass.ui.monocle.OMAPCursor.hotspotY:I
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
0 3 1 hotspotX I
0 3 2 hotspotY I
MethodParameters:
Name Flags
hotspotX
hotspotY
void shutdown();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "/sys/devices/platform/omapdss/overlay1/enabled"
ldc "0"
invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: pop
3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Failed to shut down OMAP cursor"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/glass/ui/monocle/OMAPCursor;
Exception table:
from to target type
0 1 2 Class java.io.IOException
}
SourceFile: "OMAPCursor.java"