JHotDraw 7.0.9

org.jhotdraw.samples.svg.figures
Class SVGEllipseFigure

java.lang.Object
  extended by org.jhotdraw.draw.AbstractFigure
      extended by org.jhotdraw.draw.AbstractAttributedFigure
          extended by org.jhotdraw.samples.svg.figures.SVGAttributedFigure
              extended by org.jhotdraw.samples.svg.figures.SVGEllipseFigure
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Figure, SVGFigure, DOMStorable

public class SVGEllipseFigure
extends SVGAttributedFigure
implements SVGFigure

SVGEllipse represents a SVG ellipse and a SVG circle element.

Version:
2.0 2007-04-14 Adapted for new AttributeKeys.TRANSFORM support.
1.0 July 8, 2006 Created.
Author:
Werner Randelshofer
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jhotdraw.draw.AbstractFigure
changingDepth, listenerList
 
Constructor Summary
SVGEllipseFigure()
          Creates a new instance.
SVGEllipseFigure(double x, double y, double width, double height)
           
 
Method Summary
 boolean canConnect()
          Checks if this figure can be connected.
 SVGEllipseFigure clone()
          Returns a clone of the figure.
 boolean contains(java.awt.geom.Point2D.Double p)
          Checks if a Point2D.Double is inside the figure.
 java.util.Collection<Handle> createHandles(int detailLevel)
          Creates handles used to manipulate the figure.
protected  void drawFill(java.awt.Graphics2D g)
          This method is called by method draw() to draw the fill area of the figure.
protected  void drawStroke(java.awt.Graphics2D g)
          This method is called by method draw() to draw the text of the figure .
 Connector findCompatibleConnector(Connector c, boolean isStartConnector)
          Gets a compatible connector.
 Connector findConnector(java.awt.geom.Point2D.Double p, ConnectionFigure prototype)
          Returns the Figures connector for the specified location.
 java.awt.geom.Rectangle2D.Double getBounds()
          Returns the untransformed logicalbounds of the figure as a Rectangle.
 java.awt.geom.Rectangle2D.Double getDrawingArea()
          Returns the drawing area of the figure as a Rectangle.
 double getHeight()
           
 java.lang.Object getTransformRestoreData()
          Gets data which can be used to restore the transformation of the figure without loss of precision, after a transform has been applied to it.
 double getWidth()
           
 double getX()
           
 double getY()
           
 void invalidate()
          Informs that a figure needs to be redrawn.
 boolean isEmpty()
          Returns true, if this figure is empty for one of the following reasons: A group has no children A path has less than two points An ellipse or a rectangle has a width or a height of 0 A text has no characters
 void restoreTransformTo(java.lang.Object geometry)
          Restores the transform of the figure to a previously stored state.
 void setBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)
          Sets the logical and untransformed bounds of the figure and of its decorator figure.
 void transform(java.awt.geom.AffineTransform tx)
          Transforms the figure.
 
Methods inherited from class org.jhotdraw.samples.svg.figures.SVGAttributedFigure
draw, drawFigure, getActions, read, setAttribute, write
 
Methods inherited from class org.jhotdraw.draw.AbstractAttributedFigure
applyAttributesTo, drawText, getAttribute, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, readAttributes, removeAttribute, restoreAttributesTo, setAttributeEnabled, setAttributes, writeAttributes
 
Methods inherited from class org.jhotdraw.draw.AbstractFigure
addFigureListener, addNotify, basicClone, changed, findFigureInside, fireAreaInvalidated, fireAreaInvalidated, fireAttributeChanged, fireFigureAdded, fireFigureChanged, fireFigureChanged, fireFigureChanged, fireFigureHandlesChanged, fireFigureRemoved, fireFigureRequestRemove, fireUndoableEditHappened, getChangingDepth, getConnectors, getCursor, getDecomposition, getDrawing, getEndPoint, getFontRenderContext, getLayer, getLock, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isChanging, isInteractive, isVisible, remap, remap, removeFigureListener, removeNotify, requestRemove, setBounds, setInteractive, setVisible, toString, validate, willChange
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.draw.Figure
addFigureListener, addNotify, changed, draw, findFigureInside, getActions, getAttribute, getAttributes, getAttributesRestoreData, getConnectors, getCursor, getDecomposition, getEndPoint, getLayer, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isInteractive, isVisible, remap, removeFigureListener, removeNotify, requestRemove, restoreAttributesTo, setAttribute, setVisible, willChange
 
Methods inherited from interface org.jhotdraw.xml.DOMStorable
read, write
 

Constructor Detail

SVGEllipseFigure

public SVGEllipseFigure()
Creates a new instance.


SVGEllipseFigure

public SVGEllipseFigure(double x,
                        double y,
                        double width,
                        double height)
Method Detail

drawFill

protected void drawFill(java.awt.Graphics2D g)
Description copied from class: AbstractAttributedFigure
This method is called by method draw() to draw the fill area of the figure. AbstractAttributedFigure configures the Graphics2D object with the FILL_COLOR attribute before calling this method. If the FILL_COLOR attribute is null, this method is not called.

Specified by:
drawFill in class AbstractAttributedFigure

drawStroke

protected void drawStroke(java.awt.Graphics2D g)
Description copied from class: AbstractAttributedFigure
This method is called by method draw() to draw the text of the figure . AbstractAttributedFigure configures the Graphics2D object with the TEXT_COLOR attribute before calling this method. If the TEXT_COLOR attribute is null, this method is not called.

Specified by:
drawStroke in class AbstractAttributedFigure

getX

public double getX()

getY

public double getY()

getWidth

public double getWidth()

getHeight

public double getHeight()

getBounds

public java.awt.geom.Rectangle2D.Double getBounds()
Description copied from interface: Figure
Returns the untransformed logicalbounds of the figure as a Rectangle. The handle bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.

Specified by:
getBounds in interface Figure

getDrawingArea

public java.awt.geom.Rectangle2D.Double getDrawingArea()
Description copied from interface: Figure
Returns the drawing area of the figure as a Rectangle. The drawing area is used to improve the performance of GraphicView, for example for clipping of repaints and for clipping of mouse events.

The drawing area needs to be large enough, to take line width, line caps and other decorations into account that exceed the bounds of the Figure.

Specified by:
getDrawingArea in interface Figure
Overrides:
getDrawingArea in class AbstractAttributedFigure

contains

public boolean contains(java.awt.geom.Point2D.Double p)
Checks if a Point2D.Double is inside the figure.

Specified by:
contains in interface Figure

setBounds

public void setBounds(java.awt.geom.Point2D.Double anchor,
                      java.awt.geom.Point2D.Double lead)
Description copied from interface: Figure
Sets the logical and untransformed bounds of the figure and of its decorator figure.

This is used by Tool's which create a new Figure and by Tool's which connect a Figure to another Figure.

This is a basic operation which does not fire events. Use the following code sequence, if you need event firing:

 aFigure.willChange();
 aFigure.setBounds(...);
 aFigure.changed();
 

Specified by:
setBounds in interface Figure
Overrides:
setBounds in class AbstractFigure
Parameters:
anchor - the start point of the bounds
lead - the end point of the bounds
See Also:
Figure.getBounds()

transform

public void transform(java.awt.geom.AffineTransform tx)
Transforms the figure.

Specified by:
transform in interface Figure
Parameters:
tx - the transformation.
See Also:
Figure.getTransformRestoreData(), Figure.restoreTransformTo(java.lang.Object)

restoreTransformTo

public void restoreTransformTo(java.lang.Object geometry)
Description copied from interface: Figure
Restores the transform of the figure to a previously stored state.

Specified by:
restoreTransformTo in interface Figure

getTransformRestoreData

public java.lang.Object getTransformRestoreData()
Description copied from interface: Figure
Gets data which can be used to restore the transformation of the figure without loss of precision, after a transform has been applied to it.

Specified by:
getTransformRestoreData in interface Figure
See Also:
Figure.transform(AffineTransform)

createHandles

public java.util.Collection<Handle> createHandles(int detailLevel)
Description copied from interface: Figure
Creates handles used to manipulate the figure.

Specified by:
createHandles in interface Figure
Overrides:
createHandles in class AbstractFigure
Parameters:
detailLevel - The detail level of the handles. Usually this is 0 for bounding box handles and 1 for point handles.
Returns:
a Collection of handles
See Also:
Handle

canConnect

public boolean canConnect()
Description copied from class: AbstractFigure
Checks if this figure can be connected. By default AbstractFigures can be connected.

Specified by:
canConnect in interface Figure
Overrides:
canConnect in class AbstractFigure

findConnector

public Connector findConnector(java.awt.geom.Point2D.Double p,
                               ConnectionFigure prototype)
Description copied from class: AbstractFigure
Returns the Figures connector for the specified location. By default a ChopBoxConnector is returned.

Specified by:
findConnector in interface Figure
Overrides:
findConnector in class AbstractFigure
Parameters:
p - the location of the connector.
prototype - The prototype used to create a connection or null if unknown. This allows for specific connectors for different connection figures.
See Also:
ChopRectangleConnector

findCompatibleConnector

public Connector findCompatibleConnector(Connector c,
                                         boolean isStartConnector)
Description copied from interface: Figure
Gets a compatible connector. If the provided connector is part of this figure, return the connector. If the provided connector is part of another figure, return a connector with the same semantics for this figure. Return null, if no compatible connector is available.

Specified by:
findCompatibleConnector in interface Figure
Overrides:
findCompatibleConnector in class AbstractFigure

clone

public SVGEllipseFigure clone()
Description copied from interface: Figure
Returns a clone of the figure.

Specified by:
clone in interface Figure
Overrides:
clone in class AbstractAttributedFigure

isEmpty

public boolean isEmpty()
Description copied from interface: SVGFigure
Returns true, if this figure is empty for one of the following reasons:

Specified by:
isEmpty in interface SVGFigure

invalidate

public void invalidate()
Description copied from class: AbstractFigure
Informs that a figure needs to be redrawn.

Specified by:
invalidate in interface Figure
Overrides:
invalidate in class AbstractFigure

Copyright 1996-2007 (c) JHotDraw.org.
Some rights reserved.