src/java.desktop/share/classes/sun/awt/AWTAccessor.java

Print this page

        

@@ -27,10 +27,14 @@
 
 import sun.misc.Unsafe;
 
 import javax.accessibility.AccessibleContext;
 import java.awt.*;
+import java.awt.dnd.DragSourceContext;
+import java.awt.dnd.DropTargetContext;
+import java.awt.dnd.peer.DragSourceContextPeer;
+import java.awt.dnd.peer.DropTargetContextPeer;
 import java.awt.event.InputEvent;
 import java.awt.event.InvocationEvent;
 import java.awt.event.KeyEvent;
 import java.awt.geom.Point2D;
 import java.awt.image.BufferStrategy;

@@ -783,10 +787,35 @@
         void setAppContext(AccessibleContext accessibleContext, AppContext appContext);
         AppContext getAppContext(AccessibleContext accessibleContext);
     }
 
     /*
+     * An accessor object for the DragSourceContext class
+     */
+    public interface DragSourceContextAccessor {
+        /**
+         * Returns the peer of the DragSourceContext.
+         */
+        DragSourceContextPeer getPeer(DragSourceContext dsc);
+    }
+
+    /*
+     * An accessor object for the DropTargetContext class
+     */
+    public interface DropTargetContextAccessor {
+        /**
+         * Resets the DropTargetContext.
+         */
+        void reset(DropTargetContext dtc);
+        /**
+         * Sets the {@code DropTargetContextPeer}
+         */
+        void setDropTargetContextPeer(DropTargetContext dtc,
+                                      DropTargetContextPeer dtcp);
+    }
+
+    /*
      * Accessor instances are initialized in the static initializers of
      * corresponding AWT classes by using setters defined below.
      */
     private static ComponentAccessor componentAccessor;
     private static ContainerAccessor containerAccessor;

@@ -813,10 +842,12 @@
     private static SequencedEventAccessor sequencedEventAccessor;
     private static ToolkitAccessor toolkitAccessor;
     private static InvocationEventAccessor invocationEventAccessor;
     private static SystemColorAccessor systemColorAccessor;
     private static AccessibleContextAccessor accessibleContextAccessor;
+    private static DragSourceContextAccessor dragSourceContextAccessor;
+    private static DropTargetContextAccessor dropTargetContextAccessor;
 
     /*
      * Set an accessor object for the java.awt.Component class.
      */
     public static void setComponentAccessor(ComponentAccessor ca) {

@@ -1273,6 +1304,41 @@
     * Set the accessor object for the javax.accessibility.AccessibleContext class.
     */
     public static void setAccessibleContextAccessor(AccessibleContextAccessor accessor) {
         AWTAccessor.accessibleContextAccessor = accessor;
     }
+
+    /*
+     * Get the accessor object for the java.awt.dnd.DragSourceContext class.
+     */
+    public static DragSourceContextAccessor getDragSourceContextAccessor() {
+        if (dragSourceContextAccessor == null) {
+            unsafe.ensureClassInitialized(DragSourceContext.class);
+        }
+        return dragSourceContextAccessor;
+    }
+
+    /*
+     * Set the accessor object for the java.awt.dnd.DragSourceContext class.
+     */
+    public static void setDragSourceContextAccessor(DragSourceContextAccessor accessor) {
+        AWTAccessor.dragSourceContextAccessor = accessor;
+    }
+
+    /*
+     * Get the accessor object for the java.awt.dnd.DropTargetContext class.
+     */
+    public static DropTargetContextAccessor getDropTargetContextAccessor() {
+        if (dropTargetContextAccessor == null) {
+            unsafe.ensureClassInitialized(DropTargetContext.class);
+        }
+        return dropTargetContextAccessor;
+    }
+
+    /*
+     * Set the accessor object for the java.awt.dnd.DropTargetContext class.
+     */
+    public static void setDropTargetContextAccessor(DropTargetContextAccessor accessor) {
+        AWTAccessor.dropTargetContextAccessor = accessor;
+    }
+
 }