Class SVGImageFigure
- 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.SVGImageFigure
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Figure, ImageHolderFigure, SVGFigure, DOMStorable
public class SVGImageFigure extends SVGAttributedFigure implements SVGFigure, ImageHolderFigure
SVGImage.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.jhotdraw.draw.Figure
CONNECTABLE_PROPERTY, REMOVABLE_PROPERTY, SELECTABLE_PROPERTY, TRANSFORMABLE_PROPERTY
-
-
Constructor Summary
Constructors Constructor and Description SVGImageFigure()Creates a new instance.SVGImageFigure(double x, double y, double width, double height)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description SVGImageFigureclone()Returns a clone of the figure, with clones of all aggregated figures, such as children and decorators.booleancontains(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.voiddraw(java.awt.Graphics2D g)Draws 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.DoublegetBounds()Returns the untransformed logical bounds of the figure as a Rectangle.java.awt.image.BufferedImagegetBufferedImage()Gets the buffered image.java.awt.geom.Rectangle2D.DoublegetDrawingArea()Returns the drawing area of the figure as a Rectangle.doublegetHeight()byte[]getImageData()Gets the image data.java.lang.ObjectgetTransformRestoreData()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.doublegetWidth()doublegetX()doublegetY()voidinvalidate()Invalidates cached data of the Figure.booleanisEmpty()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 charactersvoidloadImage(java.io.File file)Loads an image from a File.voidloadImage(java.io.InputStream in)Loads an image from an Input Stream.voidrestoreTransformTo(java.lang.Object geometry)Restores the transform of the figure to a previously stored state.voidsetBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)Sets the logical and untransformed bounds of the figure.voidsetBufferedImage(java.awt.image.BufferedImage image)Sets the buffered image.voidsetImage(byte[] imageData, java.awt.image.BufferedImage bufferedImage)Sets the image.voidsetImageData(byte[] imageData)Sets the image data.voidtransform(java.awt.geom.AffineTransform tx)Transforms the figure.-
Methods inherited from class org.jhotdraw.samples.svg.figures.SVGAttributedFigure
drawFigure, set
-
Methods inherited from class org.jhotdraw.draw.AbstractAttributedFigure
get, getAttributes, getAttributesRestoreData, getStroke, getStrokeMiterLimitFactor, hasAttribute, isAttributeEnabled, read, removeAttribute, restoreAttributesTo, setAttributeEnabled, setAttributes, write
-
Methods inherited from class org.jhotdraw.draw.AbstractFigure
addFigureListener, addNotify, changed, findCompatibleConnector, findConnector, findFigureInside, fireAreaInvalidated, fireFigureChanged, getConnectors, getCursor, getDecomposition, getEndPoint, getLayer, getPreferredSize, getStartPoint, getTool, getToolTipText, handleDrop, handleMouseClick, includes, isConnectable, isRemovable, isSelectable, isTransformable, isVisible, remap, removeFigureListener, removeNotify, requestRemove, setBounds, setConnectable, setRemovable, setSelectable, setTransformable, setVisible, toString, willChange
-
Methods inherited from class org.jhotdraw.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jhotdraw.draw.Figure
addFigureListener, 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, willChange
-
-
-
-
Constructor Detail
-
SVGImageFigure
public SVGImageFigure()
Creates a new instance.
-
SVGImageFigure
public SVGImageFigure(double x, double y, double width, double height)
-
-
Method Detail
-
draw
public void draw(java.awt.Graphics2D g)
Description copied from interface:FigureDraws the figure.- Specified by:
drawin interfaceFigure- Overrides:
drawin classSVGAttributedFigure- Parameters:
g- The Graphics2D to draw to.
-
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:FigureReturns the untransformed logical bounds of the figure as a Rectangle.The bounds are used by Handle objects for adjusting the figure and for aligning the figure on a grid.
-
getDrawingArea
public java.awt.geom.Rectangle2D.Double getDrawingArea()
Description copied from interface:FigureReturns the drawing area of the figure as a Rectangle.The drawing area is used to inform
DrawingViewabout 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.
- Specified by:
getDrawingAreain interfaceFigure- Overrides:
getDrawingAreain classAbstractAttributedFigure
-
contains
public boolean contains(java.awt.geom.Point2D.Double p)
Checks if a Point2D.Double is inside the figure.
-
setBounds
public void setBounds(java.awt.geom.Point2D.Double anchor, java.awt.geom.Point2D.Double lead)Description copied from interface:FigureSets the logical and untransformed bounds of the 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:
figure.willChange(); figure.setBounds(...); figure.changed();
- Specified by:
setBoundsin interfaceFigure- Overrides:
setBoundsin classAbstractFigure- Parameters:
anchor- the start point of the boundslead- the end point of the bounds- See Also:
Figure.getBounds()
-
transform
public void transform(java.awt.geom.AffineTransform tx)
Transforms the figure.- Specified by:
transformin interfaceFigure- 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:FigureRestores the transform of the figure to a previously stored state.- Specified by:
restoreTransformToin interfaceFigure
-
getTransformRestoreData
public java.lang.Object getTransformRestoreData()
Description copied from interface:FigureGets 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:
getTransformRestoreDatain interfaceFigure- See Also:
Figure.transform(AffineTransform)
-
createHandles
public java.util.Collection<Handle> createHandles(int detailLevel)
Description copied from interface:FigureCreates handles used to manipulate the figure.- Specified by:
createHandlesin interfaceFigure- Overrides:
createHandlesin classAbstractFigure- Parameters:
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.- Returns:
- a Collection of handles
- See Also:
Handle
-
getActions
public java.util.Collection<javax.swing.Action> getActions(java.awt.geom.Point2D.Double p)
Description copied from class:AbstractFigureReturns a collection of actions which are presented to the user in a popup menu.The collection may contain null entries. These entries are used interpreted as separators in the popup menu.
- Specified by:
getActionsin interfaceFigure- Overrides:
getActionsin classSVGAttributedFigure
-
clone
public SVGImageFigure clone()
Description copied from interface:FigureReturns a clone of the figure, with clones of all aggregated figures, such as children and decorators. The cloned figure does not clone the list of FigureListeners from its original.- Specified by:
clonein interfaceFigure- Overrides:
clonein classAbstractAttributedFigure
-
isEmpty
public boolean isEmpty()
Description copied from interface:SVGFigureReturns 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
-
invalidate
public void invalidate()
Description copied from class:AbstractFigureInvalidates cached data of the Figure. This method must execute fast, because it can be called very often.
-
setImage
public void setImage(byte[] imageData, java.awt.image.BufferedImage bufferedImage)Sets the image.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.
- Specified by:
setImagein interfaceImageHolderFigure- Parameters:
imageData- 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.
-
setImageData
public void setImageData(byte[] imageData)
Sets the image data. This clears the buffered image.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.
-
setBufferedImage
public void setBufferedImage(java.awt.image.BufferedImage image)
Sets the buffered image. This clears the image data.- Specified by:
setBufferedImagein interfaceImageHolderFigure
-
getBufferedImage
@Nullable public java.awt.image.BufferedImage getBufferedImage()
Gets the buffered image. If necessary, this method creates the buffered image from the image data.- Specified by:
getBufferedImagein interfaceImageHolderFigure
-
getImageData
@Nullable public byte[] getImageData()
Gets the image data. If necessary, this method creates the image data from the buffered image.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.
- Specified by:
getImageDatain interfaceImageHolderFigure- Returns:
- imageData The image data, or null, if the ImageHolderFigure does not have an image.
-
loadImage
public void loadImage(java.io.File file) throws java.io.IOExceptionDescription copied from interface:ImageHolderFigureLoads an image from a File. By convention this method is never invoked on the AWT Event Dispatcher Thread.- Specified by:
loadImagein interfaceImageHolderFigure- Throws:
java.io.IOException
-
loadImage
public void loadImage(java.io.InputStream in) throws java.io.IOExceptionDescription copied from interface:ImageHolderFigureLoads an image from an Input Stream. By convention this method is never invoked on the AWT Event Dispatcher Thread.- Specified by:
loadImagein interfaceImageHolderFigure- Throws:
java.io.IOException
-
-
DataMelt 3.0 © DataMelt by jWork.ORG