public class SVGImageFigure extends SVGAttributedFigure implements SVGFigure, ImageHolderFigure
changingDepth, listenerListpropertySupportCONNECTABLE_PROPERTY, REMOVABLE_PROPERTY, SELECTABLE_PROPERTY, TRANSFORMABLE_PROPERTY| Constructor and Description |
|---|
SVGImageFigure()
Creates a new instance.
|
SVGImageFigure(double x,
double y,
double width,
double height) |
| Modifier and Type | Method and Description |
|---|---|
SVGImageFigure |
clone()
Returns a clone of the figure, with clones of all aggregated figures,
such as children 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.
|
void |
draw(java.awt.Graphics2D g)
Draws 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
.
|
java.util.Collection<javax.swing.Action> |
getActions(java.awt.geom.Point2D.Double p)
Returns a collection of actions which are presented to the user
in a popup menu.
|
java.awt.geom.Rectangle2D.Double |
getBounds()
Returns the untransformed logical bounds of the figure as a Rectangle.
|
java.awt.image.BufferedImage |
getBufferedImage()
Gets the buffered image.
|
java.awt.geom.Rectangle2D.Double |
getDrawingArea()
Returns the drawing area of the figure as a Rectangle.
|
double |
getHeight() |
byte[] |
getImageData()
Gets the image data.
|
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()
Invalidates cached data of the Figure.
|
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 |
loadImage(java.io.File file)
Loads an image from a File.
|
void |
loadImage(java.io.InputStream in)
Loads an image from an Input Stream.
|
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.
|
void |
setBufferedImage(java.awt.image.BufferedImage image)
Sets the buffered image.
|
void |
setImage(byte[] imageData,
java.awt.image.BufferedImage bufferedImage)
Sets the image.
|
void |
setImageData(byte[] imageData)
Sets the image data.
|
void |
transform(java.awt.geom.AffineTransform tx)
Transforms the figure.
|
drawFigure, setapplyAttributesTo, drawText, get, getAttributeKey, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, read, readAttributes, removeAttribute, restoreAttributesTo, setAttributeEnabled, setAttributes, write, writeAttributesaddFigureListener, addNotify, changed, findCompatibleConnector, findConnector, findFigureInside, fireAreaInvalidated, 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, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, setBounds, setConnectable, setRemovable, setSelectable, setTransformable, setVisible, toString, validate, willChangeaddPropertyChangeListener, addPropertyChangeListener, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListenerequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddFigureListener, addNotify, addPropertyChangeListener, changed, findCompatibleConnector, findConnector, findFigureInside, get, getAttributes, getAttributesRestoreData, getConnectors, getCursor, getDecomposition, getEndPoint, getLayer, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, removePropertyChangeListener, requestRemove, restoreAttributesTo, set, willChangepublic SVGImageFigure()
public SVGImageFigure(double x,
double y,
double width,
double height)
public void draw(java.awt.Graphics2D g)
Figuredraw in interface Figuredraw in class SVGAttributedFigureg - The Graphics2D to draw to.protected void drawFill(java.awt.Graphics2D g)
AbstractAttributedFiguredrawFill in class AbstractAttributedFigureprotected void drawStroke(java.awt.Graphics2D g)
AbstractAttributedFiguredrawStroke in class AbstractAttributedFigurepublic double getX()
public double getY()
public double getWidth()
public double getHeight()
public java.awt.geom.Rectangle2D.Double getBounds()
FigureThe bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.
public java.awt.geom.Rectangle2D.Double getDrawingArea()
Figure
The drawing area is used to inform DrawingView about the
area that is needed to draw this 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 FiguregetDrawingArea in class AbstractAttributedFigurepublic boolean contains(java.awt.geom.Point2D.Double p)
public void setBounds(java.awt.geom.Point2D.Double anchor,
java.awt.geom.Point2D.Double lead)
FigureThis 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:
figure.willChange(); figure.setBounds(...); figure.changed();
setBounds in interface FiguresetBounds in class AbstractFigureanchor - the start point of the boundslead - the end point of the boundsFigure.getBounds()public void transform(java.awt.geom.AffineTransform tx)
transform in interface Figuretx - The transformation.Figure.getTransformRestoreData(),
Figure.restoreTransformTo(java.lang.Object)public void restoreTransformTo(java.lang.Object geometry)
FigurerestoreTransformTo in interface Figurepublic java.lang.Object getTransformRestoreData()
FiguregetTransformRestoreData in interface FigureFigure.transform(AffineTransform)public java.util.Collection<Handle> createHandles(int detailLevel)
FigurecreateHandles in interface FigurecreateHandles in class AbstractFiguredetailLevel - 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.Handlepublic java.util.Collection<javax.swing.Action> getActions(java.awt.geom.Point2D.Double p)
AbstractFigureThe collection may contain null entries. These entries are used interpreted as separators in the popup menu.
getActions in interface FiguregetActions in class SVGAttributedFigurepublic SVGImageFigure clone()
Figureclone in interface Figureclone in class AbstractAttributedFigurepublic boolean isEmpty()
SVGFigurepublic void invalidate()
AbstractFigureinvalidate in class AbstractFigurepublic void setImage(byte[] imageData,
java.awt.image.BufferedImage bufferedImage)
Note: For performance reasons this method stores a reference to the imageData array instead of cloning it. Do not modify the imageData array after invoking this method.
setImage in interface ImageHolderFigureimageData - The image data. If this is null, a buffered image must
be provided.bufferedImage - An image constructed from the imageData. If this
is null, imageData must be provided.public void setImageData(byte[] imageData)
Note: For performance reasons this method stores a reference to the imageData array instead of cloning it. Do not modify the imageData array after invoking this method.
public void setBufferedImage(java.awt.image.BufferedImage image)
setBufferedImage in interface ImageHolderFigurepublic java.awt.image.BufferedImage getBufferedImage()
getBufferedImage in interface ImageHolderFigurepublic byte[] getImageData()
Note: For performance reasons this method returns a reference to the internally used image data array instead of cloning it. Do not modify this array.
getImageData in interface ImageHolderFigurepublic void loadImage(java.io.File file)
throws java.io.IOException
ImageHolderFigureloadImage in interface ImageHolderFigurejava.io.IOExceptionpublic void loadImage(java.io.InputStream in)
throws java.io.IOException
ImageHolderFigureloadImage in interface ImageHolderFigurejava.io.IOException