final class sun.awt.windows.WDragSourceContextPeer extends sun.awt.dnd.SunDragSourceContextPeer
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.awt.windows.WDragSourceContextPeer
  super_class: sun.awt.dnd.SunDragSourceContextPeer
{
  private static final sun.awt.windows.WDragSourceContextPeer theInstance;
    descriptor: Lsun/awt/windows/WDragSourceContextPeer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 64
            new sun.awt.windows.WDragSourceContextPeer
            dup
            aconst_null
            invokespecial sun.awt.windows.WDragSourceContextPeer.<init>:(Ljava/awt/dnd/DragGestureEvent;)V
         1: .line 63
            putstatic sun.awt.windows.WDragSourceContextPeer.theInstance:Lsun/awt/windows/WDragSourceContextPeer;
         2: .line 64
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void startSecondaryEventLoop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.awt.windows.WDragSourceContextPeer this
         0: .line 57
            invokestatic sun.awt.windows.WToolkit.startSecondaryEventLoop:()V
         1: .line 58
            return
        end local 0 // sun.awt.windows.WDragSourceContextPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/windows/WDragSourceContextPeer;

  public void quitSecondaryEventLoop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // sun.awt.windows.WDragSourceContextPeer this
         0: .line 60
            invokestatic sun.awt.windows.WToolkit.quitSecondaryEventLoop:()V
         1: .line 61
            return
        end local 0 // sun.awt.windows.WDragSourceContextPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/windows/WDragSourceContextPeer;

  private void <init>(java.awt.dnd.DragGestureEvent);
    descriptor: (Ljava/awt/dnd/DragGestureEvent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.windows.WDragSourceContextPeer this
        start local 1 // java.awt.dnd.DragGestureEvent dge
         0: .line 71
            aload 0 /* this */
            aload 1 /* dge */
            invokespecial sun.awt.dnd.SunDragSourceContextPeer.<init>:(Ljava/awt/dnd/DragGestureEvent;)V
         1: .line 72
            return
        end local 1 // java.awt.dnd.DragGestureEvent dge
        end local 0 // sun.awt.windows.WDragSourceContextPeer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/windows/WDragSourceContextPeer;
            0    2     1   dge  Ljava/awt/dnd/DragGestureEvent;
    MethodParameters:
      Name  Flags
      dge   

  static sun.awt.windows.WDragSourceContextPeer createDragSourceContextPeer(java.awt.dnd.DragGestureEvent);
    descriptor: (Ljava/awt/dnd/DragGestureEvent;)Lsun/awt/windows/WDragSourceContextPeer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.awt.dnd.DragGestureEvent dge
         0: .line 75
            getstatic sun.awt.windows.WDragSourceContextPeer.theInstance:Lsun/awt/windows/WDragSourceContextPeer;
            aload 0 /* dge */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.setTrigger:(Ljava/awt/dnd/DragGestureEvent;)V
         1: .line 76
            getstatic sun.awt.windows.WDragSourceContextPeer.theInstance:Lsun/awt/windows/WDragSourceContextPeer;
            areturn
        end local 0 // java.awt.dnd.DragGestureEvent dge
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   dge  Ljava/awt/dnd/DragGestureEvent;
    Exceptions:
      throws java.awt.dnd.InvalidDnDOperationException
    MethodParameters:
      Name  Flags
      dge   

  protected void startDrag(java.awt.datatransfer.Transferable, long[], java.util.Map);
    descriptor: (Ljava/awt/datatransfer/Transferable;[JLjava/util/Map;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=12, args_size=4
        start local 0 // sun.awt.windows.WDragSourceContextPeer this
        start local 1 // java.awt.datatransfer.Transferable trans
        start local 2 // long[] formats
        start local 3 // java.util.Map formatMap
         0: .line 82
            lconst_0
            lstore 4 /* nativeCtxtLocal */
        start local 4 // long nativeCtxtLocal
         1: .line 84
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getTrigger:()Ljava/awt/dnd/DragGestureEvent;
            invokevirtual java.awt.dnd.DragGestureEvent.getComponent:()Ljava/awt/Component;
         2: .line 85
            aload 1 /* trans */
         3: .line 86
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getTrigger:()Ljava/awt/dnd/DragGestureEvent;
            invokevirtual java.awt.dnd.DragGestureEvent.getTriggerEvent:()Ljava/awt/event/InputEvent;
         4: .line 87
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getTrigger:()Ljava/awt/dnd/DragGestureEvent;
            invokevirtual java.awt.dnd.DragGestureEvent.getSourceAsDragGestureRecognizer:()Ljava/awt/dnd/DragGestureRecognizer;
            invokevirtual java.awt.dnd.DragGestureRecognizer.getSourceActions:()I
         5: .line 88
            aload 2 /* formats */
         6: .line 89
            aload 3 /* formatMap */
         7: .line 84
            invokevirtual sun.awt.windows.WDragSourceContextPeer.createDragSource:(Ljava/awt/Component;Ljava/awt/datatransfer/Transferable;Ljava/awt/event/InputEvent;I[JLjava/util/Map;)J
            lstore 4 /* nativeCtxtLocal */
         8: .line 91
            lload 4 /* nativeCtxtLocal */
            lconst_0
            lcmp
            ifne 10
         9: .line 92
            new java.awt.dnd.InvalidDnDOperationException
            dup
            ldc "failed to create native peer"
            invokespecial java.awt.dnd.InvalidDnDOperationException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 95
      StackMap locals: long
      StackMap stack:
            aconst_null
            astore 6 /* imageData */
        start local 6 // int[] imageData
        11: .line 96
            aconst_null
            astore 7 /* op */
        start local 7 // java.awt.Point op
        12: .line 98
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getDragImage:()Ljava/awt/Image;
            astore 8 /* im */
        start local 8 // java.awt.Image im
        13: .line 99
            iconst_m1
            istore 9 /* imageWidth */
        start local 9 // int imageWidth
        14: .line 100
            iconst_m1
            istore 10 /* imageHeight */
        start local 10 // int imageHeight
        15: .line 101
            aload 8 /* im */
            ifnull 31
        16: .line 104
            aload 8 /* im */
            aconst_null
            invokevirtual java.awt.Image.getWidth:(Ljava/awt/image/ImageObserver;)I
            istore 9 /* imageWidth */
        17: .line 105
            aload 8 /* im */
            aconst_null
            invokevirtual java.awt.Image.getHeight:(Ljava/awt/image/ImageObserver;)I
            istore 10 /* imageHeight */
        18: .line 106
            iload 9 /* imageWidth */
            iflt 19
            iload 10 /* imageHeight */
            ifge 20
        19: .line 107
      StackMap locals: sun.awt.windows.WDragSourceContextPeer java.awt.datatransfer.Transferable long[] java.util.Map long int[] java.awt.Point java.awt.Image int int
      StackMap stack:
            new java.awt.dnd.InvalidDnDOperationException
            dup
            ldc "drag image is not ready"
            invokespecial java.awt.dnd.InvalidDnDOperationException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getDragImageOffset:()Ljava/awt/Point;
            astore 7 /* op */
        21: .line 112
            new java.awt.image.BufferedImage
            dup
        22: .line 113
            iload 9 /* imageWidth */
        23: .line 114
            iload 10 /* imageHeight */
        24: .line 115
            iconst_2
        25: .line 112
            invokespecial java.awt.image.BufferedImage.<init>:(III)V
            astore 11 /* bi */
        start local 11 // java.awt.image.BufferedImage bi
        26: .line 116
            aload 11 /* bi */
            invokevirtual java.awt.image.BufferedImage.getGraphics:()Ljava/awt/Graphics;
            aload 8 /* im */
            iconst_0
            iconst_0
            aconst_null
            invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z
            pop
        27: .line 119
            aload 11 /* bi */
            invokevirtual java.awt.image.BufferedImage.getData:()Ljava/awt/image/Raster;
            invokevirtual java.awt.image.Raster.getDataBuffer:()Ljava/awt/image/DataBuffer;
            checkcast java.awt.image.DataBufferInt
            invokevirtual java.awt.image.DataBufferInt.getData:()[I
            astore 6 /* imageData */
        end local 11 // java.awt.image.BufferedImage bi
        28: .line 120
            goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 11 /* ex */
        start local 11 // java.lang.Throwable ex
        30: .line 121
            new java.awt.dnd.InvalidDnDOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "drag image creation problem: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* ex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.awt.dnd.InvalidDnDOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Throwable ex
        31: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* nativeCtxtLocal */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.setNativeContext:(J)V
        32: .line 128
            aload 1 /* trans */
            invokestatic sun.awt.windows.WDropTargetContextPeer.setCurrentJVMLocalSourceTransferable:(Ljava/awt/datatransfer/Transferable;)V
        33: .line 130
            aload 6 /* imageData */
            ifnull 42
        34: .line 131
            aload 0 /* this */
        35: .line 132
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getNativeContext:()J
        36: .line 133
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getCursor:()Ljava/awt/Cursor;
        37: .line 134
            aload 6 /* imageData */
        38: .line 135
            iload 9 /* imageWidth */
            iload 10 /* imageHeight */
        39: .line 136
            aload 7 /* op */
            getfield java.awt.Point.x:I
            aload 7 /* op */
            getfield java.awt.Point.y:I
        40: .line 131
            invokevirtual sun.awt.windows.WDragSourceContextPeer.doDragDrop:(JLjava/awt/Cursor;[IIIII)V
        41: .line 137
            goto 49
        42: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        43: .line 139
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getNativeContext:()J
        44: .line 140
            aload 0 /* this */
            invokevirtual sun.awt.windows.WDragSourceContextPeer.getCursor:()Ljava/awt/Cursor;
        45: .line 141
            aconst_null
        46: .line 142
            iconst_m1
            iconst_m1
        47: .line 143
            iconst_0
            iconst_0
        48: .line 138
            invokevirtual sun.awt.windows.WDragSourceContextPeer.doDragDrop:(JLjava/awt/Cursor;[IIIII)V
        49: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int imageHeight
        end local 9 // int imageWidth
        end local 8 // java.awt.Image im
        end local 7 // java.awt.Point op
        end local 6 // int[] imageData
        end local 4 // long nativeCtxtLocal
        end local 3 // java.util.Map formatMap
        end local 2 // long[] formats
        end local 1 // java.awt.datatransfer.Transferable trans
        end local 0 // sun.awt.windows.WDragSourceContextPeer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   50     0             this  Lsun/awt/windows/WDragSourceContextPeer;
            0   50     1            trans  Ljava/awt/datatransfer/Transferable;
            0   50     2          formats  [J
            0   50     3        formatMap  Ljava/util/Map;
            1   50     4  nativeCtxtLocal  J
           11   50     6        imageData  [I
           12   50     7               op  Ljava/awt/Point;
           13   50     8               im  Ljava/awt/Image;
           14   50     9       imageWidth  I
           15   50    10      imageHeight  I
           26   28    11               bi  Ljava/awt/image/BufferedImage;
           30   31    11               ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          16    28      29  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      trans      
      formats    
      formatMap  

  native long createDragSource(java.awt.Component, java.awt.datatransfer.Transferable, java.awt.event.InputEvent, int, long[], java.util.Map);
    descriptor: (Ljava/awt/Component;Ljava/awt/datatransfer/Transferable;Ljava/awt/event/InputEvent;I[JLjava/util/Map;)J
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
               Name  Flags
      component      
      transferable   
      nativeTrigger  
      actions        
      formats        
      formatMap      

  native void doDragDrop(long, java.awt.Cursor, int[], int, int, int, int);
    descriptor: (JLjava/awt/Cursor;[IIIII)V
    flags: (0x0100) ACC_NATIVE
    MethodParameters:
            Name  Flags
      nativeCtxt  
      cursor      
      imageData   
      imgWidth    
      imgHight    
      offsetX     
      offsetY     

  protected native void setNativeCursor(long, java.awt.Cursor, int);
    descriptor: (JLjava/awt/Cursor;I)V
    flags: (0x0104) ACC_PROTECTED, ACC_NATIVE
    MethodParameters:
            Name  Flags
      nativeCtxt  
      c           
      cType       
}
SourceFile: "WDragSourceContextPeer.java"