@Override public void undo() throws CannotUndoException { super.undo(); willChange(); removeNode(index); changed(); } });
@Override public void redo() throws CannotRedoException { super.redo(); willChange(); addNode(index, newNode); changed(); }
@Override public void redo() throws CannotRedoException { super.redo(); owner.willChange(); owner.setNode(index, newValue); owner.changed(); if (oldValue.mask != newValue.mask) { } }
@Override public void undo() throws CannotUndoException { super.undo(); owner.willChange(); owner.setNode(index, oldValue); owner.changed(); }
@Override public void undo() throws CannotUndoException { super.undo(); view.removeFromSelection(f); f.willChange(); f.addNode(index, removedNode); f.changed(); view.addToSelection(f); } });
@Override public void redo() throws CannotRedoException { super.redo(); view.removeFromSelection(f); f.willChange(); f.removeNode(index); f.changed(); view.addToSelection(f); }
@Override public void undo() throws CannotUndoException { super.undo(); view.removeFromSelection(f); f.willChange(); f.addNode(index, removedNode); f.changed(); view.addToSelection(f); } });
@Override public void redo() throws CannotRedoException { super.redo(); view.removeFromSelection(f); f.willChange(); f.removeNode(index); f.changed(); view.addToSelection(f); }
public boolean handleMouseClick(Point2D.Double p, MouseEvent evt, DrawingView view) { if (evt.getClickCount() == 2 && view.getHandleDetailLevel() % 2 == 0) { willChange(); final int index = splitSegment(p, 5f / view.getScaleFactor()); if (index != -1) {
BezierPath.Node newValue = figure.getNode(index); if ((modifiersEx & (InputEvent.META_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)) != 0) { figure.willChange(); newValue.keepColinear = !newValue.keepColinear; if (newValue.keepColinear) {
f.willChange(); f.setPoint(index, controlPointIndex, new Point2D.Double(oldNode.x[controlPointIndex], oldNode.y[controlPointIndex] - 1d)); f.changed(); break; case KeyEvent.VK_DOWN: f.willChange(); f.setPoint(index, controlPointIndex, new Point2D.Double(oldNode.x[controlPointIndex], oldNode.y[controlPointIndex] + 1d)); f.changed(); break; case KeyEvent.VK_LEFT: f.willChange(); f.setPoint(index, controlPointIndex, new Point2D.Double(oldNode.x[controlPointIndex] - 1d, oldNode.y[controlPointIndex])); f.changed(); break; case KeyEvent.VK_RIGHT: f.willChange(); f.setPoint(index, controlPointIndex, new Point2D.Double(oldNode.x[controlPointIndex] + 1d, oldNode.y[controlPointIndex])); f.changed();
f.willChange(); f.setPoint(index, new Point2D.Double(oldNode.x[0], oldNode.y[0] - 1d)); f.changed(); break; case KeyEvent.VK_DOWN: f.willChange(); f.setPoint(index, new Point2D.Double(oldNode.x[0], oldNode.y[0] + 1d)); f.changed(); break; case KeyEvent.VK_LEFT: f.willChange(); f.setPoint(index, new Point2D.Double(oldNode.x[0] - 1d, oldNode.y[0])); f.changed(); break; case KeyEvent.VK_RIGHT: f.willChange(); f.setPoint(index, new Point2D.Double(oldNode.x[0] + 1d, oldNode.y[0])); f.changed(); case KeyEvent.VK_BACK_SPACE: Rectangle invalidatedArea = getDrawingArea(); f.willChange(); final BezierPath.Node removedNode = f.removeNode(index); f.changed();
createdFigure.willChange(); BezierPath figurePath = createdFigure.getBezierPath(); BezierPath digitizedPath = new BezierPath();
BezierPath.Node v = figure.getNode(index); fireAreaInvalidated(v); figure.willChange(); Figure tOwner = getTransformOwner(); if (tOwner.get(TRANSFORM) != null) {
(InputEvent.META_DOWN_MASK | InputEvent.CTRL_DOWN_MASK | InputEvent.ALT_DOWN_MASK)) == 0) { Rectangle invalidatedArea = getDrawingArea(); f.willChange(); final BezierPath.Node removedNode = f.removeNode(index); f.changed();
protected void addPointToFigure(Point2D.Double newPoint) { int pointCount = createdFigure.getNodeCount(); createdFigure.willChange(); if (pointCount < 2) { createdFigure.addNode(new BezierPath.Node(newPoint)); } else { Point2D.Double endPoint = createdFigure.getEndPoint(); Point2D.Double secondLastPoint = (pointCount <= 1) ? endPoint : createdFigure.getPoint(pointCount - 2, 0); if (newPoint.equals(endPoint)) { // nothing to do } else if (pointCount > 1 && Geom.lineContainsPoint(newPoint.x, newPoint.y, secondLastPoint.x, secondLastPoint.y, endPoint.x, endPoint.y, 0.9f / getView().getScaleFactor())) { createdFigure.setPoint(pointCount - 1, 0, newPoint); } else { createdFigure.addNode(new BezierPath.Node(newPoint)); } } createdFigure.changed(); }
@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(); }
f.willChange(); if (index > 0 && index < f.getNodeCount() || f.isClosed()) { newValue.mask = (newValue.mask + 3) % 4;