@Override public void mouseMoved(MouseEvent evt) { Point point = evt.getPoint(); updateCursor(editor.findView((Container) evt.getSource()), point); DrawingView view = editor.findView((Container) evt.getSource()); updateCursor(view, point); if (view == null || editor.getActiveView() != view) { clearHoverHandles(); } else { // Search first, if one of the selected figures contains // the current mouse location. Only then search for other // figures. This search sequence is consistent with the // search sequence of the SelectionTool. Figure figure = null; Point2D.Double p = view.viewToDrawing(point); for (Figure f : view.getSelectedFigures()) { if (f.contains(p)) { figure = f; } } if (figure == null) { figure = view.findFigure(point); Drawing drawing = view.getDrawing(); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(p, figure); } } updateHoverHandles(view, figure); } }
@Override public void mouseMoved(MouseEvent evt) { clearRubberBand(); Point point = evt.getPoint(); DrawingView view = editor.findView((Container) evt.getSource()); updateCursor(view, point); if (view == null || editor.getActiveView() != view) { clearHoverHandles(); } else { // Search first, if one of the selected figures contains // the current mouse location, and is selectable. // Only then search for other // figures. This search sequence is consistent with the // search sequence of the SelectionTool. Figure figure = null; Point2D.Double p = view.viewToDrawing(point); for (Figure f : view.getSelectedFigures()) { if (f.contains(p)) { figure = f; } } if (figure == null) { figure = view.findFigure(point); while (figure != null && !figure.isSelectable()) { figure = view.getDrawing().findFigureBehind(p, figure); } } updateHoverHandles(view, figure); } }
public void updateCursor(DrawingView view, Point p) { if (view.isEnabled()) { Handle handle = view.findHandle(p); if (handle != null) { view.setCursor(handle.getCursor()); } else { Figure figure = view.findFigure(p); Point2D.Double point = view.viewToDrawing(p); Drawing drawing = view.getDrawing(); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(point, figure); } if (figure != null) { view.setCursor(figure.getCursor(view.viewToDrawing(p))); } else { view.setCursor(Cursor.getDefaultCursor()); } } } else { view.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); } }
figure = drawing.findFigureBehind(p, figure); Figure figureBehind = view.getDrawing().findFigureBehind( view.viewToDrawing(anchor), ignoredFigures); if (figureBehind != null) { figure = view.findFigure(anchor); while (figure != null && !figure.isSelectable()) { figure = drawing.findFigureBehind(p, figure);