void (int button) { if (myState == STATE_INIT) { myState = STATE_DRAG; deactivateTracker(); if (handleTracker()) { return; } if (!myArea.isTree()) { InputTool tracker = myArea.findTargetTool(myCurrentScreenX, myCurrentScreenY); if (tracker != null) { setTracker(tracker); if (tracker instanceof ResizeTracker) { myArea.showSelection(false); } return; } } RadComponent component = myArea.findTarget(myCurrentScreenX, myCurrentScreenY, null); if (component == null || component.isBackground()) { if (!myArea.isTree()) { MarqueeTracker tracker = new MarqueeTracker(); // Allow marquee dragging within the root (background) layout, and if you click // without dragging, select that background component tracker.setSelectBackground(component != null && component.isBackground()); setTracker(tracker); } } else { Point location = component.convertPoint(myArea.getNativeComponent(), myCurrentScreenX, myCurrentScreenY); setTracker(component.getDragTracker(location, myInputEvent, myArea.isTree())); } } }