@Override public void trackStart(Point anchor, int modifiersEx) { oldPoint = view.getConstrainer().constrainPoint(view.viewToDrawing(anchor)); } @Override
@Override public void trackStart(Point anchor, int modifiersEx) { oldPoint = view.getConstrainer().constrainPoint(view.viewToDrawing(anchor)); }
protected Point2D.Double constrainPoint(Point2D.Double p) { return getView().getConstrainer().constrainPoint(p); }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { if (!isTransformableCache) { return; } Point2D.Double p = view.viewToDrawing(new Point(lead.x + dx, lead.y + dy)); view.getConstrainer().constrainPoint(p); trackStepNormalized(p); }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { Figure f = getOwner(); Point2D.Double newPoint = view.getConstrainer().constrainPoint(view.viewToDrawing(lead)); AffineTransform tx = new AffineTransform(); tx.translate(newPoint.x - oldPoint.x, newPoint.y - oldPoint.y); f.willChange(); f.transform(tx); f.changed(); oldPoint = newPoint; } @Override
@Override public void mouseDragged(MouseEvent evt) { DrawingView view = getView(); if (!transformedFigures.isEmpty()) { if (isDragging == false) { isDragging = true; updateCursor(editor.findView((Container) evt.getSource()), new Point(evt.getX(), evt.getY())); } Point2D.Double currentPoint = view.viewToDrawing(new Point(evt.getX(), evt.getY())); dragRect.x += currentPoint.x - previousPoint.x; dragRect.y += currentPoint.y - previousPoint.y; Rectangle2D.Double constrainedRect = (Rectangle2D.Double) dragRect.clone(); if (view.getConstrainer() != null) { view.getConstrainer().constrainRectangle( constrainedRect); } AffineTransform tx = new AffineTransform(); tx.translate( constrainedRect.x - previousOrigin.x, constrainedRect.y - previousOrigin.y); for (Figure f : transformedFigures) { f.willChange(); f.transform(tx); f.changed(); } previousPoint = currentPoint; previousOrigin = new Point2D.Double(constrainedRect.x, constrainedRect.y); } }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { Figure f = getOwner(); if (f.isTransformable()) { Point2D.Double newPoint = view.getConstrainer().constrainPoint(view.viewToDrawing(lead)); AffineTransform tx = new AffineTransform(); tx.translate(newPoint.x - oldPoint.x, newPoint.y - oldPoint.y); f.willChange(); f.transform(tx); f.changed(); oldPoint = newPoint; } }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { location = new Point(lead.x, lead.y); Point2D.Double leadPoint = view.viewToDrawing(lead); double stepTheta = Geom.angle(center.x, center.y, leadPoint.x, leadPoint.y); double currentTheta = view.getConstrainer().constrainAngle(stepTheta - startTheta); transform.setToIdentity(); transform.translate(center.x, center.y); transform.rotate(currentTheta); transform.translate(-center.x, -center.y); getOwner().willChange(); getOwner().restoreTransformTo(restoreData); getOwner().transform(transform); getOwner().changed(); }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { if (!isTransformableCache) { return; } Point2D.Double p = view.viewToDrawing(new Point(lead.x + sx, lead.y + sy)); view.getConstrainer().constrainPoint(p); if (getOwner().get(TRANSFORM) != null) { try { getOwner().get(TRANSFORM).inverseTransform(p, p); } catch (NoninvertibleTransformException ex) { if (DEBUG) { ex.printStackTrace(); } } } trackStepNormalized(p, (modifiersEx & (InputEvent.ALT_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)) != 0); }
if (getView().getConstrainer() != null) { getView().getConstrainer().translateRectangle(r, dir); } else { switch (dir) {
creationView.getConstrainer().constrainPoint( creationView.viewToDrawing(anchor)))); getDrawing().add(createdFigure); } else { if (evt.getClickCount() == 1) { addPointToFigure(creationView.getConstrainer().constrainPoint( creationView.viewToDrawing(anchor)));
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { BezierFigure figure = getBezierFigure(); Point2D.Double p = view.getConstrainer().constrainPoint(view.viewToDrawing(lead)); BezierPath.Node v = figure.getNode(index); fireAreaInvalidated(v);
/** * Adjust the created connection. */ @Override public void mouseDragged(java.awt.event.MouseEvent e) { repaintConnectors(e); if (createdFigure != null) { createdFigure.willChange(); Point2D.Double endPoint = viewToDrawing(new Point(e.getX(), e.getY())); getView().getConstrainer().constrainPoint(endPoint); Figure endFigure = getDrawing().findFigureExcept(endPoint, createdFigure); endConnector = (endFigure == null) ? null : endFigure.findConnector(endPoint, prototype); if (endConnector != null && canConnect(createdFigure, startConnector, endConnector)) { endPoint = endConnector.getAnchor(); } Rectangle r = new Rectangle(getView().drawingToView(createdFigure.getEndPoint())); createdFigure.setEndPoint(endPoint); r.add(getView().drawingToView(endPoint)); r.grow(ANCHOR_WIDTH + 2, ANCHOR_WIDTH + 2); getView().getComponent().repaint(r); createdFigure.changed(); } }
/** * Finds a new connectableConnector of the connection. */ @Override public void trackStep(Point anchor, Point lead, int modifiersEx) { Point2D.Double p = view.viewToDrawing(lead); view.getConstrainer().constrainPoint(p); connectableFigure = findConnectableFigure(p, view.getDrawing()); if (connectableFigure != null) { Connector aTarget = findConnectionTarget(p, view.getDrawing()); if (aTarget != null) { p = aTarget.getAnchor(); } } getOwner().willChange(); setLocation(p); getOwner().changed(); repaintConnectors(); }
@Override public void trackStep(Point anchor, Point lead, int modifiersEx) { BezierFigure figure = getOwner(); figure.willChange(); Point2D.Double p = view.getConstrainer().constrainPoint(view.viewToDrawing(lead)); if (getTransformOwner().get(TRANSFORM) != null) { try { getTransformOwner().get(TRANSFORM).inverseTransform(p, p); } catch (NoninvertibleTransformException ex) { ex.printStackTrace(); } } BezierPath.Node n = figure.getNode(index); //fireAreaInvalidated(n); n.moveTo(p); //fireAreaInvalidated(n); figure.setNode(index, n); figure.changed(); }
view.getConstrainer().constrainPoint(p); Connector target = findConnectionTarget(p, view.getDrawing()); if (target == null) {
@Override public void trackEnd(Point anchor, Point lead, int modifiersEx) { Point2D.Double p = view.viewToDrawing(lead); view.getConstrainer().constrainPoint(p); Figure f = findConnectableFigure(p, view.getDrawing()); connectableConnector = findConnectableConnector(f, p);