@Override public void mousePressed(MouseEvent evt) { // handle.mousePressed(evt); anchor = new Point(evt.getX(), evt.getY()); multicaster.trackStart(anchor, evt.getModifiersEx(), getView()); clearHoverHandles(); }
public void mouseDragged(MouseEvent e) { int mods = e.getModifiersEx(); Point dragEnd = e.getPoint(); boolean shift = (mods & MouseEvent.SHIFT_DOWN_MASK) > 0; boolean ctrl = (mods & MouseEvent.CTRL_DOWN_MASK) > 0; boolean alt = shift & ctrl; ctrl = ctrl & (!alt); shift = shift & (!alt); boolean nomods = !(shift | ctrl | alt); if (dragBegin == null) dragBegin = dragEnd; nodrag = false; if ((mods & InputEvent.BUTTON3_DOWN_MASK) > 0 || true) { double dx = dragEnd.getX() - dragBegin.getX(); double dy = dragEnd.getY() - dragBegin.getY(); synchronized (JImage.this) { t.preConcatenate(AffineTransform.getTranslateInstance(dx, dy)); } dragBegin = dragEnd; repaint(); } }
@Override public void mouseClicked(MouseEvent evt) { if (evt.getClickCount() == 2) { multicaster.trackDoubleClick( new Point(evt.getX(), evt.getY()), evt.getModifiersEx(), getView()); } evt.consume(); }
public void mouseReleased(MouseEvent e) { int mods = e.getModifiersEx(); if (nodrag && e.getButton() == MouseEvent.BUTTON3) { popupMenu.show(JImage.this, (int) e.getPoint().getX(), (int) e.getPoint().getY()); } nodrag = true; dragBegin = null; }
@Override public void mouseReleased(MouseEvent evt) { dragLocation = new Point(evt.getX(), evt.getY()); multicaster.trackEnd(anchor, dragLocation, evt.getModifiersEx(), getView()); // Note: we must not fire "Tool Done" in this method, because then we can not // listen to keyboard events for the handle. Rectangle r = new Rectangle(anchor.x, anchor.y, 0, 0); r.add(evt.getX(), evt.getY()); maybeFireBoundsInvalidated(r); dragLocation = null; }
@Override public void mouseDragged(MouseEvent evt) { dragLocation = new Point(evt.getX(), evt.getY()); multicaster.trackStep(anchor, dragLocation, evt.getModifiersEx(), getView()); clearHoverHandles(); }