public void invokeStep(int x, int y, int anchorX, int anchorY, DrawingView view) { int dx = x - anchorX; int dy = y - anchorY; RoundRectangleFigure owner = (RoundRectangleFigure) owner(); Rectangle r = owner.displayBox(); Point originalRadius = ((RadiusHandle.UndoActivity) getUndoActivity()).getOldRadius(); int rx = Geom.range(0, r.width, 2 * (originalRadius.x / 2 + dx)); int ry = Geom.range(0, r.height, 2 * (originalRadius.y / 2 + dy)); owner.setArc(rx, ry); }
protected boolean resetRadius() { FigureEnumeration fe = getAffectedFigures(); if (!fe.hasMoreElements()) { return false; } RoundRectangleFigure currentFigure = (RoundRectangleFigure) fe.nextFigure(); Point figureRadius = currentFigure.getArc(); currentFigure.setArc(getOldRadius().x, getOldRadius().y); setOldRadius(figureRadius); return true; }