edu.umd.cs.piccolox.swt
Class PSWTPath
java.lang.Object
edu.umd.cs.piccolo.PNode
edu.umd.cs.piccolox.swt.PSWTPath
- All Implemented Interfaces:
- java.awt.print.Printable, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- PSWTHandle
public class PSWTPath
- extends PNode
PPath is a wrapper around a java.awt.geom.GeneralPath. The setBounds
method works by scaling the path to fit into the specified bounds. This
normally works well, but if the specified base bounds get too small then it
is impossible to expand the path shape again since all its numbers have
tended to zero, so application code may need to take this into consideration.
One option that applications have is to call startResizeBounds
before starting an interaction that may make the bounds very small, and
calling endResizeBounds
when this interaction is finished. When
this is done PPath will use a copy of the original path to do the resizing so
the numbers in the path wont loose resolution.
This class also provides methods for constructing common shapes using a
general path.
- Version:
- 1.0
- Author:
- Jesse Grosjean
- See Also:
- Serialized Form
Fields inherited from class edu.umd.cs.piccolo.PNode |
FILL_STRATEGY_ASPECT_COVER, FILL_STRATEGY_ASPECT_FIT, FILL_STRATEGY_EXACT_FIT, PROPERTY_BOUNDS, PROPERTY_CHILDREN, PROPERTY_CHILDREN_PICKABLE, PROPERTY_CLIENT_PROPERTIES, PROPERTY_CODE_BOUNDS, PROPERTY_CODE_CHILDREN, PROPERTY_CODE_CHILDREN_PICKABLE, PROPERTY_CODE_CLIENT_PROPERTIES, PROPERTY_CODE_FULL_BOUNDS, PROPERTY_CODE_PAINT, PROPERTY_CODE_PARENT, PROPERTY_CODE_PICKABLE, PROPERTY_CODE_TRANSFORM, PROPERTY_CODE_TRANSPARENCY, PROPERTY_CODE_VISIBLE, PROPERTY_FULL_BOUNDS, PROPERTY_PAINT, PROPERTY_PARENT, PROPERTY_PICKABLE, PROPERTY_TRANSFORM, PROPERTY_TRANSPARENCY, PROPERTY_VISIBLE, SCENE_GRAPH_DELEGATE |
Fields inherited from interface java.awt.print.Printable |
NO_SUCH_PAGE, PAGE_EXISTS |
Method Summary |
java.awt.Shape |
cloneShape(java.awt.Shape aShape)
|
static PSWTPath |
createEllipse(float x,
float y,
float width,
float height)
|
static PSWTPath |
createPolyline(float[] xp,
float[] yp)
|
static PSWTPath |
createPolyline(java.awt.geom.Point2D[] points)
|
static PSWTPath |
createRectangle(float x,
float y,
float width,
float height)
|
static PSWTPath |
createRoundRectangle(float x,
float y,
float width,
float height,
float arcWidth,
float arcHeight)
|
java.awt.geom.Point2D |
getCenter()
|
java.awt.Paint |
getStrokePaint()
|
protected void |
internalUpdateBounds(double x,
double y,
double width,
double height)
Set the bounds of this path. |
boolean |
intersects(java.awt.geom.Rectangle2D aBounds)
|
protected void |
paint(PPaintContext paintContext)
|
void |
setPathToEllipse(float x,
float y,
float width,
float height)
|
void |
setPathToPolyline(float[] xp,
float[] yp)
|
void |
setPathToPolyline(java.awt.geom.Point2D[] points)
|
void |
setPathToRectangle(float x,
float y,
float width,
float height)
|
void |
setPathToRoundRectangle(float x,
float y,
float width,
float height,
float arcWidth,
float arcHeight)
|
void |
setShape(java.awt.Shape aShape)
|
void |
setStrokeColor(java.awt.Paint aPaint)
|
void |
updateBoundsFromPath()
|
void |
updateShapePoints(java.awt.Shape aShape)
|
Methods inherited from class edu.umd.cs.piccolo.PNode |
addActivity, addAttribute, addChild, addChild, addChildren, addClientProperty, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToRelativePosition, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPaint, fullPick, getAllNodes, getAllNodes, getAttribute, getAttribute, getBooleanAttribute, getBounds, getBoundsChanged, getBoundsReference, getBoundsVolatile, getChild, getChildBoundsInvalid, getChildBoundsVolatile, getChildPaintInvalid, getChildrenCount, getChildrenIterator, getChildrenPickable, getChildrenReference, getClientProperties, getClientProperty, getClientPropertyKeysEnumeration, getClientPropertyKeysIterator, getDoubleAttribute, getFullBounds, getFullBoundsInvalid, getFullBoundsReference, getGlobalBounds, getGlobalFullBounds, getGlobalRotation, getGlobalScale, getGlobalToLocalTransform, getGlobalTranslation, getHeight, getInputEventListeners, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, getName, getOccluded, getOffset, getPaint, getPaintInvalid, getParent, getPickable, getPropertyChangeParentMask, getRoot, getRotation, getScale, getTransform, getTransformReference, getTransparency, getUnionOfChildrenBounds, getVisible, getWidth, getX, getXOffset, getY, getYOffset, globalToLocal, globalToLocal, globalToLocal, indexOfChild, invalidateFullBounds, invalidateLayout, invalidatePaint, isAncestorOf, isDescendentOf, isDescendentOfRoot, isOpaque, layoutChildren, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paintAfterChildren, paramString, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, pickAfterChildren, position, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaintFrom, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setName, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toImage, transformBy, translate, validateFullBounds, validateFullPaint |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROPERTY_SHAPE
public static final java.lang.String PROPERTY_SHAPE
- The property name that identifies a change of this node's path. In any
property change event the new value will be a reference to this node's
path, but old value will always be null.
- See Also:
- Constant Field Values
updatingBoundsFromPath
boolean updatingBoundsFromPath
origShape
java.awt.Shape origShape
shape
java.awt.Shape shape
internalXForm
PAffineTransform internalXForm
inverseXForm
java.awt.geom.AffineTransform inverseXForm
shapePts
double[] shapePts
PSWTPath
public PSWTPath()
PSWTPath
public PSWTPath(java.awt.Shape aShape)
createRectangle
public static PSWTPath createRectangle(float x,
float y,
float width,
float height)
createRoundRectangle
public static PSWTPath createRoundRectangle(float x,
float y,
float width,
float height,
float arcWidth,
float arcHeight)
createEllipse
public static PSWTPath createEllipse(float x,
float y,
float width,
float height)
createPolyline
public static PSWTPath createPolyline(java.awt.geom.Point2D[] points)
createPolyline
public static PSWTPath createPolyline(float[] xp,
float[] yp)
getStrokePaint
public java.awt.Paint getStrokePaint()
setStrokeColor
public void setStrokeColor(java.awt.Paint aPaint)
internalUpdateBounds
protected void internalUpdateBounds(double x,
double y,
double width,
double height)
- Set the bounds of this path. This method works by scaling the path to fit
into the specified bounds. This normally works well, but if the specified
base bounds get too small then it is impossible to expand the path shape
again since all its numbers have tended to zero, so application code may
need to take this into consideration.
- Overrides:
internalUpdateBounds
in class PNode
intersects
public boolean intersects(java.awt.geom.Rectangle2D aBounds)
- Overrides:
intersects
in class PNode
updateBoundsFromPath
public void updateBoundsFromPath()
paint
protected void paint(PPaintContext paintContext)
- Overrides:
paint
in class PNode
setShape
public void setShape(java.awt.Shape aShape)
updateShapePoints
public void updateShapePoints(java.awt.Shape aShape)
cloneShape
public java.awt.Shape cloneShape(java.awt.Shape aShape)
setPathToRectangle
public void setPathToRectangle(float x,
float y,
float width,
float height)
setPathToRoundRectangle
public void setPathToRoundRectangle(float x,
float y,
float width,
float height,
float arcWidth,
float arcHeight)
setPathToEllipse
public void setPathToEllipse(float x,
float y,
float width,
float height)
setPathToPolyline
public void setPathToPolyline(java.awt.geom.Point2D[] points)
setPathToPolyline
public void setPathToPolyline(float[] xp,
float[] yp)
getCenter
public java.awt.geom.Point2D getCenter()
- Returns:
- The center of this object (based on its bounds).
Copyright © 1995-2009 Piccolo2D. All Rights Reserved.