class com.sun.glass.ui.monocle.MX6Cursor 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.MX6Cursor
  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 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 java.nio.ByteBuffer offsetCursorByteBuffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private int screenWidth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int screenHeight;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.sun.glass.ui.monocle.LinuxSystem system;
    descriptor: Lcom/sun/glass/ui/monocle/LinuxSystem;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos pos;
    descriptor: Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBPos;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha alpha;
    descriptor: Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
    flags: (0x0002) ACC_PRIVATE

  private long fd;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.sun.glass.ui.monocle.MX6Cursor this
         0: .line 111
            aload 0 /* this */
            invokespecial com.sun.glass.ui.monocle.NativeCursor.<init>:()V
         1: .line 55
            aload 0 /* this */
            new com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos
            dup
            invokespecial com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos.<init>:()V
            putfield com.sun.glass.ui.monocle.MX6Cursor.pos:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBPos;
         2: .line 56
            aload 0 /* this */
            new com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha
            dup
            invokespecial com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha.<init>:()V
            putfield com.sun.glass.ui.monocle.MX6Cursor.alpha:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
         3: .line 57
            aload 0 /* this */
            ldc -1
            putfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
         4: .line 113
            ldc "/sys/class/graphics/fb1/blank"
            ldc "0"
            invokestatic com.sun.glass.ui.monocle.SysFS.write:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 114
            aload 0 /* this */
            invokestatic com.sun.glass.ui.monocle.LinuxSystem.getLinuxSystem:()Lcom/sun/glass/ui/monocle/LinuxSystem;
            putfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
         6: .line 115
            new com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo
            dup
            invokespecial com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.<init>:()V
            astore 1 /* screen */
        start local 1 // com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo screen
         7: .line 116
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            ldc "/dev/fb1"
            iconst_2
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.open:(Ljava/lang/String;I)J
            putfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
         8: .line 117
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            ldc -1
            lcmp
            ifne 10
         9: .line 118
            new java.io.IOException
            dup
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.getErrorMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 120
      StackMap locals: com.sun.glass.ui.monocle.MX6Cursor com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            sipush 17920
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            pop
        11: .line 121
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            bipush 16
            bipush 16
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setRes:(JII)V
        12: .line 122
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            bipush 16
            bipush 16
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setVirtualRes:(JII)V
        13: .line 123
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            iconst_0
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setOffset:(JII)V
        14: .line 124
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setActivate:(JI)V
        15: .line 126
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            bipush 16
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setBitsPerPixel:(JI)V
        16: .line 127
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            iconst_5
            bipush 11
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setRed:(JII)V
        17: .line 128
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            bipush 6
            iconst_5
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setGreen:(JII)V
        18: .line 129
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            iconst_5
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setBlue:(JII)V
        19: .line 130
            aload 1 /* screen */
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            iconst_0
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.setTransp:(JII)V
        20: .line 131
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            sipush 17921
            aload 1 /* screen */
            getfield com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo.p:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            pop
        21: .line 132
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            sipush 17937
            lconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            pop
        22: .line 134
            new com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey
            dup
            invokespecial com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey.<init>:()V
            astore 2 /* key */
        start local 2 // com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey key
        23: .line 135
            aload 2 /* key */
            iconst_1
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey.setEnable:(I)V
        24: .line 136
            aload 2 /* key */
            ldc 11367770
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey.setColorKey:(I)V
        25: .line 142
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            bipush 70
            bipush 34
            aload 2 /* key */
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey.sizeof:()I
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.IOW:(III)I
            istore 3 /* MXCFB_SET_CLR_KEY */
        start local 3 // int MXCFB_SET_CLR_KEY
        26: .line 143
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            iload 3 /* MXCFB_SET_CLR_KEY */
            aload 2 /* key */
            getfield com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey.p:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            ifge 34
        27: .line 144
            new java.io.IOException
            dup
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.errno:()I
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.strerror:(I)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // int MXCFB_SET_CLR_KEY
        end local 2 // com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey key
        end local 1 // com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo screen
        28: .line 146
      StackMap locals: com.sun.glass.ui.monocle.MX6Cursor
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        29: .line 147
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            ldc -1
            lcmp
            ifeq 32
        30: .line 148
            invokestatic com.sun.glass.ui.monocle.LinuxSystem.getLinuxSystem:()Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.close:(J)I
            pop
        31: .line 149
            aload 0 /* this */
            ldc -1
            putfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
        32: .line 151
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 1 /* e */
            invokevirtual java.io.IOException.printStackTrace:()V
        33: .line 152
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Failed to initialize i.MX6 cursor"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 1 // java.io.IOException e
        34: .line 154
      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 /* screen */
        start local 1 // com.sun.glass.ui.monocle.NativeScreen screen
        35: .line 155
            aload 0 /* this */
            aload 1 /* screen */
            invokeinterface com.sun.glass.ui.monocle.NativeScreen.getWidth:()I
            putfield com.sun.glass.ui.monocle.MX6Cursor.screenWidth:I
        36: .line 156
            aload 0 /* this */
            aload 1 /* screen */
            invokeinterface com.sun.glass.ui.monocle.NativeScreen.getHeight:()I
            putfield com.sun.glass.ui.monocle.MX6Cursor.screenHeight:I
        37: .line 157
            return
        end local 1 // com.sun.glass.ui.monocle.NativeScreen screen
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            7   28     1             screen  Lcom/sun/glass/ui/monocle/LinuxSystem$FbVarScreenInfo;
           23   28     2                key  Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBColorKey;
           26   28     3  MXCFB_SET_CLR_KEY  I
           29   34     1                  e  Ljava/io/IOException;
           35   38     1             screen  Lcom/sun/glass/ui/monocle/NativeScreen;
      Exception table:
        from    to  target  type
           4    28      28  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 // com.sun.glass.ui.monocle.MX6Cursor this
         0: .line 161
            new com.sun.glass.ui.Size
            dup
            bipush 16
            bipush 16
            invokespecial com.sun.glass.ui.Size.<init>:(II)V
            areturn
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/glass/ui/monocle/MX6Cursor;

  void setVisibility(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.sun.glass.ui.monocle.MX6Cursor this
        start local 1 // boolean visibility
         0: .line 166
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.alpha:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
            iconst_1
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha.setEnable:(I)V
         1: .line 167
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.alpha:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
            iload 1 /* visibility */
            ifeq 2
            sipush 255
            goto 3
      StackMap locals:
      StackMap stack: com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha
         2: iconst_0
      StackMap locals: com.sun.glass.ui.monocle.MX6Cursor int
      StackMap stack: com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha int
         3: invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha.setAlpha:(I)V
         4: .line 168
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            bipush 70
            bipush 33
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.alpha:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha.sizeof:()I
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.IOW:(III)I
            istore 2 /* MXCFB_SET_GBL_ALPHA */
        start local 2 // int MXCFB_SET_GBL_ALPHA
         5: .line 169
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            iload 2 /* MXCFB_SET_GBL_ALPHA */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.alpha:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBGblAlpha;
            getfield com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha.p:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            pop
         6: .line 170
            aload 0 /* this */
            iload 1 /* visibility */
            putfield com.sun.glass.ui.monocle.MX6Cursor.isVisible:Z
         7: .line 171
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor.updateImage:(Z)V
         8: .line 172
            return
        end local 2 // int MXCFB_SET_GBL_ALPHA
        end local 1 // boolean visibility
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            0    9     1           visibility  Z
            5    9     2  MXCFB_SET_GBL_ALPHA  I
    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 // com.sun.glass.ui.monocle.MX6Cursor this
        start local 1 // boolean always
         0: .line 175
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.isVisible:Z
            ifeq 19
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.cursorBuffer:Ljava/nio/Buffer;
            ifnull 19
         1: .line 177
            iconst_0
            bipush 16
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.cursorX:I
            iadd
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.screenWidth:I
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* newOffsetX */
        start local 2 // int newOffsetX
         2: .line 178
            iconst_0
            bipush 16
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.cursorY:I
            iadd
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.screenHeight:I
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 3 /* newOffsetY */
        start local 3 // int newOffsetY
         3: .line 179
            iload 2 /* newOffsetX */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetX:I
            if_icmpne 4
            iload 3 /* newOffsetY */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetY:I
            if_icmpne 4
            iload 1 /* always */
            ifeq 19
         4: .line 180
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.cursorBuffer:Ljava/nio/Buffer;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorBuffer:Ljava/nio/Buffer;
         5: .line 181
            iload 2 /* newOffsetX */
            iload 3 /* newOffsetY */
         6: .line 182
            bipush 16
            bipush 16
         7: .line 183
            bipush 16
            ldc 43947
         8: .line 180
            invokestatic com.sun.glass.ui.monocle.NativeCursors.offsetCursor:(Ljava/nio/Buffer;Ljava/nio/Buffer;IIIIII)V
         9: .line 184
            aload 0 /* this */
            iload 2 /* newOffsetX */
            putfield com.sun.glass.ui.monocle.MX6Cursor.offsetX:I
        10: .line 185
            aload 0 /* this */
            iload 3 /* newOffsetY */
            putfield com.sun.glass.ui.monocle.MX6Cursor.offsetY:I
        11: .line 186
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            lconst_0
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.lseek:(JJI)J
            pop2
        12: .line 187
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorByteBuffer:Ljava/nio/ByteBuffer;
        13: .line 188
            iconst_0
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorByteBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
        14: .line 187
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.write:(JLjava/nio/ByteBuffer;II)J
        15: .line 188
            lconst_0
            lcmp
            ifge 19
        16: .line 189
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Failed to write to i.MX6 cursor: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 190
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.getErrorMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 189
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // int newOffsetY
        end local 2 // int newOffsetX
        19: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean always
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            0   20     1      always  Z
            2   19     2  newOffsetX  I
            3   19     3  newOffsetY  I
    MethodParameters:
        Name  Flags
      always  

  void setImage(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.glass.ui.monocle.MX6Cursor this
        start local 1 // byte[] cursorImage
         0: .line 199
            aload 1 /* cursorImage */
            arraylength
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 2 /* bb */
        start local 2 // java.nio.ByteBuffer bb
         1: .line 200
            aload 0 /* this */
            aload 2 /* bb */
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            putfield com.sun.glass.ui.monocle.MX6Cursor.cursorBuffer:Ljava/nio/Buffer;
         2: .line 201
            aload 1 /* cursorImage */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.cursorBuffer:Ljava/nio/Buffer;
            bipush 16
            ldc 43947
            invokestatic com.sun.glass.ui.monocle.NativeCursors.colorKeyCursor:([BLjava/nio/Buffer;II)V
         3: .line 203
            aload 0 /* this */
            aload 1 /* cursorImage */
            arraylength
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            putfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorByteBuffer:Ljava/nio/ByteBuffer;
         4: .line 204
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorByteBuffer:Ljava/nio/ByteBuffer;
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         5: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorByteBuffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.asShortBuffer:()Ljava/nio/ShortBuffer;
            putfield com.sun.glass.ui.monocle.MX6Cursor.offsetCursorBuffer:Ljava/nio/Buffer;
         6: .line 206
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor.updateImage:(Z)V
         7: .line 207
            return
        end local 2 // java.nio.ByteBuffer bb
        end local 1 // byte[] cursorImage
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            0    8     1  cursorImage  [B
            1    8     2           bb  Ljava/nio/ByteBuffer;
    MethodParameters:
             Name  Flags
      cursorImage  

  void setLocation(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.glass.ui.monocle.MX6Cursor this
        start local 1 // int x
        start local 2 // int y
         0: .line 211
            aload 0 /* this */
            iload 1 /* x */
            putfield com.sun.glass.ui.monocle.MX6Cursor.cursorX:I
         1: .line 212
            aload 0 /* this */
            iload 2 /* y */
            putfield com.sun.glass.ui.monocle.MX6Cursor.cursorY:I
         2: .line 213
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor.updateImage:(Z)V
         3: .line 214
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.pos:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBPos;
            iload 1 /* x */
            iload 2 /* y */
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos.set:(II)V
         4: .line 215
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            bipush 70
            bipush 36
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.pos:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBPos;
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos.sizeof:()I
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.IOWR:(III)I
            istore 3 /* MXCFB_SET_OVERLAY_POS */
        start local 3 // int MXCFB_SET_OVERLAY_POS
         5: .line 216
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.system:Lcom/sun/glass/ui/monocle/LinuxSystem;
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.fd:J
            iload 3 /* MXCFB_SET_OVERLAY_POS */
            aload 0 /* this */
            getfield com.sun.glass.ui.monocle.MX6Cursor.pos:Lcom/sun/glass/ui/monocle/MX6Cursor$MXCFBPos;
            getfield com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos.p:J
            invokevirtual com.sun.glass.ui.monocle.LinuxSystem.ioctl:(JIJ)I
            pop
         6: .line 217
            return
        end local 3 // int MXCFB_SET_OVERLAY_POS
        end local 2 // int y
        end local 1 // int x
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            0    7     1                      x  I
            0    7     2                      y  I
            5    7     3  MXCFB_SET_OVERLAY_POS  I
    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 // com.sun.glass.ui.monocle.MX6Cursor this
        start local 1 // int hotspotX
        start local 2 // int hotspotY
         0: .line 221
            aload 0 /* this */
            iload 1 /* hotspotX */
            putfield com.sun.glass.ui.monocle.MX6Cursor.hotspotX:I
         1: .line 222
            aload 0 /* this */
            iload 2 /* hotspotY */
            putfield com.sun.glass.ui.monocle.MX6Cursor.hotspotY:I
         2: .line 223
            return
        end local 2 // int hotspotY
        end local 1 // int hotspotX
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/glass/ui/monocle/MX6Cursor;
            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 // com.sun.glass.ui.monocle.MX6Cursor this
         0: .line 227
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.glass.ui.monocle.MX6Cursor.setVisibility:(Z)V
         1: .line 228
            return
        end local 0 // com.sun.glass.ui.monocle.MX6Cursor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/glass/ui/monocle/MX6Cursor;
}
SourceFile: "MX6Cursor.java"
NestMembers:
  com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey  com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha  com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos
InnerClasses:
  FbVarScreenInfo = com.sun.glass.ui.monocle.LinuxSystem$FbVarScreenInfo of com.sun.glass.ui.monocle.LinuxSystem
  private MXCFBColorKey = com.sun.glass.ui.monocle.MX6Cursor$MXCFBColorKey of com.sun.glass.ui.monocle.MX6Cursor
  private MXCFBGblAlpha = com.sun.glass.ui.monocle.MX6Cursor$MXCFBGblAlpha of com.sun.glass.ui.monocle.MX6Cursor
  private MXCFBPos = com.sun.glass.ui.monocle.MX6Cursor$MXCFBPos of com.sun.glass.ui.monocle.MX6Cursor