|
JHotDraw 7.2 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jhotdraw.beans.AbstractBean org.jhotdraw.draw.AbstractFigure org.jhotdraw.draw.AbstractAttributedFigure org.jhotdraw.samples.svg.figures.SVGAttributedFigure org.jhotdraw.samples.svg.figures.SVGTextFigure
public class SVGTextFigure
SVGText.
XXX - At least on Mac OS X - Always draw text using TextLayout.getOutline(), because outline layout does not match with TextLayout.draw() output. Cache outline to improve performance.
Field Summary | |
---|---|
protected java.awt.geom.Point2D.Double[] |
coordinates
|
protected double[] |
rotates
|
Fields inherited from class org.jhotdraw.draw.AbstractFigure |
---|
changingDepth, listenerList |
Fields inherited from class org.jhotdraw.beans.AbstractBean |
---|
propertySupport |
Constructor Summary | |
---|---|
SVGTextFigure()
Creates a new instance. |
|
SVGTextFigure(java.lang.String text)
|
Method Summary | ||
---|---|---|
boolean |
canConnect()
Checks if this figure can be connected. |
|
SVGTextFigure |
clone()
Returns a clone of the figure, with clones of all aggregated figures, such as chilrend and decorators. |
|
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 . |
|
protected void |
drawText(java.awt.Graphics2D g)
|
|
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. |
|
double |
getBaseline()
Gets the baseline of the first line of text, relative to the upper left corner of the figure bounds. |
|
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logicalbounds of the figure as a Rectangle. |
|
java.awt.geom.Point2D.Double[] |
getCoordinates()
|
|
java.awt.geom.Rectangle2D.Double |
getDrawingArea()
Returns the drawing area of the figure as a Rectangle. |
|
java.awt.Color |
getFillColor()
Returns the fill color to be used by a text editor for editing this Figure. |
|
java.awt.Font |
getFont()
Returns the font to be used by a text editor for editing this Figure. |
|
float |
getFontSize()
Gets the font size of the text held by the TextHolderFigure. |
|
Insets2D.Double |
getInsets()
Returns Insets to be used by the text editor relative to the handle bounds of the figure. |
|
TextHolderFigure |
getLabelFor()
Sometimes we want to use a TextHolderFigure as a label for another TextHolderFigure. |
|
Dimension2DDouble |
getPreferredSize()
The preferred size is used by Layouter to determine the preferred size of a Figure. |
|
double[] |
getRotates()
|
|
int |
getTabSize()
Gets the number of characters used to expand tabs. |
|
java.lang.String |
getText()
Gets the text shown by the text figure. |
|
java.awt.Color |
getTextColor()
Returns the text color to be used by a text editor for editing this Figure. |
|
int |
getTextColumns()
Gets the number of columns to be overlaid when the figure is edited. |
|
Tool |
getTool(java.awt.geom.Point2D.Double p)
Returns a specialized tool for the given coordinate. |
|
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. |
|
void |
invalidate()
Invalidates cached data of the Figure. |
|
boolean |
isEditable()
Returns true if the text of the TextHolderFigure can be edited. |
|
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 |
|
boolean |
isTextOverflow()
Returns true, if the text does not fit into the bounds of the Figure. |
|
void |
restoreTransformTo(java.lang.Object geometry)
Restores the transform of the figure to a previously stored state. |
|
|
setAttribute(AttributeKey<T> key,
T newValue)
Sets an attribute of the figure. |
|
void |
setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
Sets the logical and untransformed bounds of the figure. |
|
void |
setCoordinates(java.awt.geom.Point2D.Double[] coordinates)
|
|
void |
setEditable(boolean b)
|
|
void |
setFontSize(float size)
Sets the font size of the text held by the TextHolderFigure. |
|
void |
setRotates(double[] rotates)
|
|
void |
setText(java.lang.String newText)
Sets the text shown by the text 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, write |
Methods inherited from class org.jhotdraw.draw.AbstractAttributedFigure |
---|
applyAttributesTo, getAttribute, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, readAttributes, removeAttribute, restoreAttributesTo, setAttributeEnabled, setAttributes, writeAttributes |
Methods inherited from class org.jhotdraw.beans.AbstractBean |
---|
addPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, removePropertyChangeListener, removePropertyChangeListener |
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, getStartPoint, getToolTipText, handleDrop, handleMouseClick, includes, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, restoreAttributesTo, willChange |
Methods inherited from interface org.jhotdraw.xml.DOMStorable |
---|
read, write |
Methods inherited from interface org.jhotdraw.draw.Figure |
---|
addFigureListener, addNotify, changed, draw, findFigureInside, getActions, getAttribute, getAttributes, getAttributesRestoreData, getConnectors, getCursor, getDecomposition, getEndPoint, getLayer, getStartPoint, getToolTipText, handleDrop, handleMouseClick, includes, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, restoreAttributesTo, willChange |
Methods inherited from interface org.jhotdraw.xml.DOMStorable |
---|
read, write |
Field Detail |
---|
protected java.awt.geom.Point2D.Double[] coordinates
protected double[] rotates
Constructor Detail |
---|
public SVGTextFigure()
public SVGTextFigure(java.lang.String text)
Method Detail |
---|
protected void drawText(java.awt.Graphics2D g)
drawText
in class AbstractAttributedFigure
protected void drawFill(java.awt.Graphics2D g)
AbstractAttributedFigure
drawFill
in class AbstractAttributedFigure
protected void drawStroke(java.awt.Graphics2D g)
AbstractAttributedFigure
drawStroke
in class AbstractAttributedFigure
public void setCoordinates(java.awt.geom.Point2D.Double[] coordinates)
public java.awt.geom.Point2D.Double[] getCoordinates()
public void setRotates(double[] rotates)
public double[] getRotates()
public java.awt.geom.Rectangle2D.Double getBounds()
Figure
getBounds
in interface Figure
public java.awt.geom.Rectangle2D.Double getDrawingArea()
Figure
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.
getDrawingArea
in interface Figure
getDrawingArea
in class AbstractAttributedFigure
public boolean contains(java.awt.geom.Point2D.Double p)
contains
in interface Figure
public void setBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)
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();
setBounds
in interface Figure
setBounds
in class AbstractFigure
anchor
- the start point of the boundslead
- the end point of the boundsFigure.getBounds()
public void transform(java.awt.geom.AffineTransform tx)
transform
in interface Figure
tx
- the transformation.Figure.getTransformRestoreData()
,
Figure.restoreTransformTo(java.lang.Object)
public void restoreTransformTo(java.lang.Object geometry)
Figure
restoreTransformTo
in interface Figure
public java.lang.Object getTransformRestoreData()
Figure
getTransformRestoreData
in interface Figure
Figure.transform(AffineTransform)
public java.lang.String getText()
getText
in interface TextHolderFigure
public <T> void setAttribute(AttributeKey<T> key, T newValue)
AbstractAttributedFigure
setAttribute
in interface Figure
setAttribute
in class SVGAttributedFigure
AttributeKey.set(org.jhotdraw.draw.Figure, T)
public void setText(java.lang.String newText)
setText
in interface TextHolderFigure
public boolean isEditable()
TextHolderFigure
isEditable
in interface TextHolderFigure
public void setEditable(boolean b)
public int getTextColumns()
TextHolderFigure
getTextColumns
in interface TextHolderFigure
public java.awt.Font getFont()
TextHolderFigure
getFont
in interface TextHolderFigure
public java.awt.Color getTextColor()
TextHolderFigure
getTextColor
in interface TextHolderFigure
public java.awt.Color getFillColor()
TextHolderFigure
getFillColor
in interface TextHolderFigure
public void setFontSize(float size)
TextHolderFigure
setFontSize
in interface TextHolderFigure
public float getFontSize()
TextHolderFigure
getFontSize
in interface TextHolderFigure
public void invalidate()
AbstractFigure
invalidate
in class AbstractFigure
public Dimension2DDouble getPreferredSize()
Figure
getPreferredSize
in interface Figure
getPreferredSize
in class AbstractFigure
public java.util.Collection<Handle> createHandles(int detailLevel)
Figure
createHandles
in interface Figure
createHandles
in class AbstractFigure
detailLevel
- The detail level of the handles. Usually this is 0 for
bounding box handles and 1 for point handles. The value -1 is used
by the SelectAreaTracker and the HandleTracker to highlight figures, over which the mouse
pointer is hovering.
Handle
public boolean canConnect()
AbstractFigure
canConnect
in interface Figure
canConnect
in class AbstractFigure
public Connector findConnector(java.awt.geom.Point2D.Double p, ConnectionFigure prototype)
AbstractFigure
findConnector
in interface Figure
findConnector
in class AbstractFigure
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.ChopRectangleConnector
public Connector findCompatibleConnector(Connector c, boolean isStartConnector)
Figure
findCompatibleConnector
in interface Figure
findCompatibleConnector
in class AbstractFigure
public Tool getTool(java.awt.geom.Point2D.Double p)
Returns null, if no specialized tool is available.
getTool
in interface Figure
getTool
in class AbstractFigure
public double getBaseline()
TextHolderFigure
getBaseline
in interface TextHolderFigure
public int getTabSize()
getTabSize
in interface TextHolderFigure
public TextHolderFigure getLabelFor()
TextHolderFigure
getLabelFor
in interface TextHolderFigure
public Insets2D.Double getInsets()
TextHolderFigure
getInsets
in interface TextHolderFigure
public SVGTextFigure clone()
Figure
clone
in interface Figure
clone
in class AbstractAttributedFigure
public boolean isEmpty()
SVGFigure
isEmpty
in interface SVGFigure
public boolean isTextOverflow()
TextHolderFigure
isTextOverflow
in interface TextHolderFigure
|
Copyright 1996-2009 (c) by the authors and contributors of the JHotDraw project. Some rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |