@Override public SwingPointFigure clone() { final SwingPointFigure that = (SwingPointFigure) super.clone(); that.bounds = (Rectangle2D.Double) this.bounds.clone(); return that; }
@Override public synchronized void invalidate() { path = null; super.invalidate(); }
@SuppressWarnings("unchecked") public void setAttributes(Map<AttributeKey, Object> map) { for (Map.Entry<AttributeKey, Object> entry : map.entrySet()) { set(entry.getKey(), entry.getValue()); } } @Override
@Override public void draw(Graphics2D g) { if (get(FILL_COLOR) != null) { g.setColor(get(FILL_COLOR)); drawFill(g); } if (get(STROKE_COLOR) != null && get(STROKE_WIDTH) > 0d) { g.setStroke(AttributeKeys.getStroke(this)); g.setColor(get(STROKE_COLOR)); drawStroke(g); } if (get(TEXT_COLOR) != null) { if (get(TEXT_SHADOW_COLOR) != null && get(TEXT_SHADOW_OFFSET) != null) { Dimension2DDouble d = get(TEXT_SHADOW_OFFSET); g.translate(d.width, d.height); g.setColor(get(TEXT_SHADOW_COLOR)); drawText(g); g.translate(-d.width,-d.height); } g.setColor(get(TEXT_COLOR)); drawText(g); } }
@SuppressWarnings("unchecked") @Override public void restoreAttributesTo(Object restoreData) { attributes.clear(); setAttributes((HashMap<AttributeKey,Object>) restoreData); } /**
@SuppressWarnings("unchecked") protected void readAttributes(DOMInput in) throws IOException { if (in.getElementCount("a") > 0) { in.openElement("a"); for (int i=in.getElementCount() - 1; i >= 0; i-- ) { in.openElement(i); String name = in.getTagName(); Object value = in.readObject(); AttributeKey key = getAttributeKey(name); if (key != null && key.isAssignable(value)) { if (forbiddenAttributes == null || ! forbiddenAttributes.contains(key)) { set(key, value); } } in.closeElement(); } in.closeElement(); } }
@SuppressWarnings("rawtypes") @Override public void setAttributeEnabled(AttributeKey key, boolean b) { super.setAttributeEnabled(key, b); for (final BezierFigure figure : figures) { figure.setAttributeEnabled(key, b); } }
@Override public void restoreAttributesTo(Object restoreData) { super.restoreAttributesTo(restoreData); for (final BezierFigure figure : figures) { figure.restoreAttributesTo(restoreData); } }
@Override public Collection<Handle> createHandles(int detailLevel) { LinkedList<Handle> handles = (LinkedList<Handle>) super.createHandles(detailLevel); if (detailLevel == 0) { handles.add(new OrientationHandle(this)); } return handles; }
protected void drawFigure(Graphics2D g) { super.draw(g); } protected void drawDecorator(Graphics2D g) {
@SuppressWarnings("rawtypes") @Override public void setAttributes(Map<AttributeKey, Object> map) { super.setAttributes(map); for (final BezierFigure figure : figures) { figure.setAttributes(map); } }
@SuppressWarnings("rawtypes") @Override public void setAttributeEnabled(AttributeKey key, boolean b) { super.setAttributeEnabled(key, b); for (final BezierFigure figure : figures) { figure.setAttributeEnabled(key, b); } }
@Override public void restoreAttributesTo(Object restoreData) { super.restoreAttributesTo(restoreData); for (final BezierFigure figure : figures) { figure.restoreAttributesTo(restoreData); } }
@Override public Collection<Handle> createHandles(int detailLevel) { LinkedList<Handle> handles = (LinkedList<Handle>) super.createHandles(detailLevel); handles.add(new RoundRectangleRadiusHandle(this)); return handles; }
@Override public StraightLineFigure clone() { StraightLineFigure that = (StraightLineFigure) super.clone(); that.line = (Line2D.Double) this.line.clone(); return that; } }
@Override public <T> void set(AttributeKey<T> key, T newValue) { if (key == TRANSFORM) { invalidate(); } super.set(key, newValue); } @Override public Collection<Action> getActions(Point2D.Double p) {
@SuppressWarnings("rawtypes") @Override public void setAttributes(Map<AttributeKey, Object> map) { super.setAttributes(map); for (final BezierFigure figure : figures) { figure.setAttributes(map); } }
@Override public synchronized void invalidate() { path = null; super.invalidate(); }
@Override public PointFigure clone() { final PointFigure that = (PointFigure) super.clone(); that.bounds = (Rectangle2D.Double) this.bounds.clone(); return that; }
@Override public <T> void set(AttributeKey<T> key, T newValue) { if (key == TRANSFORM) { invalidate(); } super.set(key, newValue); } @Override public Collection<Action> getActions(Point2D.Double p) {