jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java
changeset 1203 3e5496df0d2b
parent 1202 5a725d2f0daa
parent 1201 e87f9c042699
child 1211 b659a7cee935
--- a/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java	Thu Sep 11 11:25:48 2008 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
- * Copyright 1998-2003 Sun Microsystems, Inc.  All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.awt.motif;
-
-import java.awt.Toolkit;
-import java.awt.Component;
-
-import java.awt.Point;
-import java.awt.dnd.DnDConstants;
-import java.awt.dnd.DragSource;
-import java.awt.dnd.MouseDragGestureRecognizer;
-import java.awt.dnd.DragGestureListener;
-
-import java.awt.event.InputEvent;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.awt.event.MouseMotionListener;
-
-import java.lang.reflect.*;
-
-import sun.awt.dnd.SunDragSourceContextPeer;
-
-/**
- * <p>
- * This subclass of MouseDragGestureRecognizer defines a DragGestureRecognizer
- * for Mouse based gestures on OSF/Motif.
- * </p>
- *
- * @author Laurence P. G. Cable
- *
- * @see java.awt.dnd.DragGestureListener
- * @see java.awt.dnd.DragGestureEvent
- * @see java.awt.dnd.DragSource
- */
-
-class MMouseDragGestureRecognizer extends MouseDragGestureRecognizer {
-
-    private static final long serialVersionUID = -841711780352520383L;
-
-    /*
-     * constant for number of pixels hysterisis before drag is determined
-     * to have started
-     */
-
-    protected static int motionThreshold;
-
-
-    protected static final int ButtonMask = InputEvent.BUTTON1_DOWN_MASK |
-                                            InputEvent.BUTTON2_DOWN_MASK |
-                                            InputEvent.BUTTON3_DOWN_MASK;
-
-    /**
-     * construct a new MMouseDragGestureRecognizer
-     *
-     * @param ds  The DragSource for the Component c
-     * @param c   The Component to observe
-     * @param act The actions permitted for this Drag
-     * @param dgl The DragGestureRecognizer to notify when a gesture is detected
-     *
-     */
-
-    protected MMouseDragGestureRecognizer(DragSource ds, Component c, int act, DragGestureListener dgl) {
-        super(ds, c, act, dgl);
-    }
-
-    /**
-     * construct a new MMouseDragGestureRecognizer
-     *
-     * @param ds  The DragSource for the Component c
-     * @param c   The Component to observe
-     * @param act The actions permitted for this Drag
-     */
-
-    protected MMouseDragGestureRecognizer(DragSource ds, Component c, int act) {
-        this(ds, c, act, null);
-    }
-
-    /**
-     * construct a new MMouseDragGestureRecognizer
-     *
-     * @param ds  The DragSource for the Component c
-     * @param c   The Component to observe
-     */
-
-    protected MMouseDragGestureRecognizer(DragSource ds, Component c) {
-        this(ds, c, DnDConstants.ACTION_NONE);
-    }
-
-    /**
-     * construct a new MMouseDragGestureRecognizer
-     *
-     * @param ds  The DragSource for the Component c
-     */
-
-    protected MMouseDragGestureRecognizer(DragSource ds) {
-        this(ds, null);
-    }
-
-    /**
-     * determine the drop action from the event
-     */
-
-    protected int mapDragOperationFromModifiers(MouseEvent e) {
-        int mods = e.getModifiersEx();
-        int btns = mods & ButtonMask;
-
-        // Do not allow right mouse button drag since Motif DnD does not
-        // terminate drag operation on right mouse button release.
-        if (!(btns == InputEvent.BUTTON1_DOWN_MASK ||
-              btns == InputEvent.BUTTON2_DOWN_MASK)) {
-            return DnDConstants.ACTION_NONE;
-        }
-
-        return
-            SunDragSourceContextPeer.convertModifiersToDropAction(mods,
-                                                                  getSourceActions());
-    }
-
-    /**
-     * Invoked when the mouse has been clicked on a component.
-     */
-
-    public void mouseClicked(MouseEvent e) {
-        // do nothing
-    }
-
-    /**
-     * Invoked when a mouse button has been pressed on a component.
-     */
-
-    public void mousePressed(MouseEvent e) {
-        events.clear();
-
-        if (mapDragOperationFromModifiers(e) != DnDConstants.ACTION_NONE) {
-            try {
-                motionThreshold = DragSource.getDragThreshold();
-            } catch (Exception exc) {
-                motionThreshold = 5;
-            }
-            appendEvent(e);
-        }
-    }
-
-    /**
-     * Invoked when a mouse button has been released on a component.
-     */
-
-    public void mouseReleased(MouseEvent e) {
-        events.clear();
-    }
-
-    /**
-     * Invoked when the mouse enters a component.
-     */
-
-    public void mouseEntered(MouseEvent e) {
-        events.clear();
-    }
-
-    /**
-     * Invoked when the mouse exits a component.
-     */
-
-    public void mouseExited(MouseEvent e) {
-        if (!events.isEmpty()) { // gesture pending
-            int dragAction = mapDragOperationFromModifiers(e);
-
-            if (dragAction == DnDConstants.ACTION_NONE) {
-                events.clear();
-            }
-        }
-    }
-
-    /**
-     * Invoked when a mouse button is pressed on a component.
-     */
-
-    public void mouseDragged(MouseEvent e) {
-        if (!events.isEmpty()) { // gesture pending
-            int dop = mapDragOperationFromModifiers(e);
-
-
-            if (dop == DnDConstants.ACTION_NONE) {
-                return;
-            }
-
-            MouseEvent trigger = (MouseEvent)events.get(0);
-
-            Point      origin  = trigger.getPoint();
-            Point      current = e.getPoint();
-
-            int        dx      = Math.abs(origin.x - current.x);
-            int        dy      = Math.abs(origin.y - current.y);
-
-            if (dx > motionThreshold || dy > motionThreshold) {
-                fireDragGestureRecognized(dop, ((MouseEvent)getTriggerEvent()).getPoint());
-            } else
-                appendEvent(e);
-        }
-    }
-
-    /**
-     * Invoked when the mouse button has been moved on a component
-     * (with no buttons no down).
-     */
-
-    public void mouseMoved(MouseEvent e) {
-        // do nothing
-    }
-}