From 4f2ef4b4a1dc3d9613eb1314ae39b5bdd7d370a1 Mon Sep 17 00:00:00 2001 From: andrzej Date: Wed, 6 Jul 2005 02:46:03 +0000 Subject: [PATCH] Use screen coordinates since we can have lots of components for the same target. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1670 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- .../src/java/com/samskivert/swing/dnd/DnDManager.java | 6 ++---- .../src/java/com/samskivert/swing/dnd/DropTarget.java | 2 ++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java index 43ba538a..06aa41ce 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DnDManager.java @@ -432,8 +432,6 @@ public class DnDManager return; } - Component lastComp = _lastComp; - // reset cursors clearComponentCursor(); // _lastComp cleared here _topComp.setCursor(_topCursor); @@ -441,8 +439,8 @@ public class DnDManager // get the last target seen... if (_lastTarget != null) { // determine drop location - Point pos = SwingUtilities.convertPoint(event.getComponent(), - event.getPoint(), lastComp); + Point pos = event.getPoint(); + SwingUtilities.convertPointToScreen(pos, event.getComponent()); _lastTarget.dropCompleted(_source, _data[0], pos); _source.dragCompleted(_lastTarget); } diff --git a/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java b/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java index dcbc874e..17b93559 100644 --- a/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java +++ b/projects/samskivert/src/java/com/samskivert/swing/dnd/DropTarget.java @@ -30,6 +30,8 @@ public interface DropTarget /** * Called when the drop is actually executed. + * + * @param pos the location of the drop in screen coordinates */ public void dropCompleted (DragSource source, Object data, Point pos); }