Constructor Summary |
RMPath()
Creates an empty path. |
Method Summary |
java.lang.Object |
clone()
Standard clone implementation. |
void |
closePath()
Adds a Close element to the given path. |
boolean |
contains(double x,
double y)
Returns whether the given xy coordinate is inside the path. |
boolean |
contains(double x,
double y,
double w,
double h)
Returns whether the interior of the shape entirely contains the specified rectangular area. |
boolean |
contains(java.awt.geom.Point2D aPoint)
Returns whether the given point is inside the path. |
boolean |
contains(java.awt.geom.Rectangle2D aRect)
Returns whether the interior of the shape entirely contains the specified rectangular area. |
RMPath |
createTransformedPath(java.awt.geom.AffineTransform aTransform)
Returns a transformed version of this path. |
void |
curveTo(double cp1x,
double cp1y,
double cp2x,
double cp2y,
double px,
double py)
Adds a CurveTo element to the path for the given point and control points. |
void |
curveTo(RMPoint cp1,
RMPoint cp2,
RMPoint p)
Adds a CurveTo element to the path for the given point and control points. |
boolean |
equals(java.lang.Object anObj)
Standard equals implementation. |
java.lang.Object |
fromXML(com.reportmill.archiver.RXArchiver anArchiver,
com.reportmill.archiver.RXElement anElement)
XML unarchival. |
java.awt.Rectangle |
getBounds()
Returns the bounds for the path as an integer rect. |
java.awt.geom.Rectangle2D |
getBounds2D()
Returns the bounds for the path. |
RMRect |
getBoundsRM()
Returns the bounds for the path. |
byte |
getElement(int anIndex)
Returns the element type at the given index. |
byte |
getElement(int anIndex,
RMPoint[] points)
Returns the element type at the given index and its associated points (returned in the given point array). |
int |
getElementCount()
Returns the number of elements in this path. |
int |
getElementIndexForPointIndex(int index)
Returns the element index for the given point index. |
byte |
getElementLast()
Returns the last element. |
int |
getElementPointIndex(int anIndex)
Returns the point index for a given element. |
double |
getHeight()
Returns the height of the path. |
com.reportmill.graphics.RMHitInfo |
getHitInfo(com.reportmill.graphics.RMBezier aBezier,
boolean findFirstHit)
Returns the hit info for the given bezier curve against this path. |
com.reportmill.graphics.RMHitInfo |
getHitInfo(com.reportmill.graphics.RMLine aLine,
boolean findFirstHit)
Returns the hit info for the given line against this path. |
RMPath |
getPathInRect(java.awt.geom.Rectangle2D aRect)
Returns a copy of the path scaled to exactly fit in the given rect. |
java.awt.geom.PathIterator |
getPathIterator(java.awt.geom.AffineTransform aTransform)
Returns a path iterator for this path and the given transform. |
java.awt.geom.PathIterator |
getPathIterator(java.awt.geom.AffineTransform aTransform,
double flatness)
Returns a path iterator for this path and the given transform and flatness. |
RMPoint |
getPoint(int anIndex)
Returns the point at the given index. |
int |
getPointCount()
Returns the number of points in the path. |
RMPoint |
getPointLast()
Returns the last point in the path. |
double |
getWidth()
Returns the width of the path. |
byte |
getWindingRule()
Returns the winding rule which describes how inner path perimeters are filled and clipped. |
double |
getX()
Returns the X of the path. |
double |
getY()
Returns the Y of the path. |
int |
handleAtPointForBounds(RMPoint aPoint,
RMRect aRect)
Returns the handle index for a given point against this path scaled to the given rect. |
boolean |
intersects(double x,
double y,
double w,
double h)
Returns whether the interior of the path intersects the interior of a specified rectangular area. |
boolean |
intersects(double x,
double y,
double w,
double h,
float lineWidth)
Returns whether path drawn with given linewidth is hit by given rect. |
boolean |
intersects(java.awt.geom.Rectangle2D aRect)
Returns whether the interior of the path intersects the interior of a specified Rectangle2D. |
boolean |
intersects(com.reportmill.graphics.RMLine aLine)
Returns whether path is hit by a line. |
boolean |
intersects(RMPath aPath,
float lineWidth)
Returns whether path drawn with given linewidth is hit by given path. |
boolean |
intersects(RMPoint aPoint,
float lineWidth)
Returns whether path is hit by point for a path linewidth. |
boolean |
isClosed()
Returns whether path has any open subpaths. |
void |
lineTo(double px,
double py)
Adds a LineTo element to the path for the given point. |
void |
lineTo(RMPoint p)
Adds a LineTo element to the path for the given point. |
void |
moveTo(double px,
double py)
Adds a MoveTo element to the path for the given point. |
void |
moveTo(RMPoint p)
Adds a MoveTo element to the path for the given point. |
RMPoint |
pointInPathCoordsFromPoint(RMPoint aPoint,
RMRect aRect)
Returns the given point converted to path coords for given path bounds. |
void |
quadTo(double cpx,
double cpy,
double px,
double py)
Adds a QuadTo element to the path for the given point and control point. |
void |
quadTo(RMPoint cp,
RMPoint p)
Adds a QuadTo element to the path for the given point and control point. |
void |
relativeCurveTo(RMPoint cp1,
RMPoint cp2,
RMPoint aPoint)
Adds a CurveTo element to the path for the given point offset from the path's current point. |
void |
relativeLineTo(RMPoint aPoint)
Adds a LineTo element to the path for the given point offset from the path's current point. |
void |
relativeMoveTo(RMPoint aPoint)
Adds a MoveTo element to the path for the given point offset from the path's current point. |
void |
removeLastElement()
Removes the last element from the path. |
void |
reset()
Resets the current path with no elements or points. |
void |
setBounds(RMRect bounds)
Sets the bounds that the path is relative to. |
void |
setPoint(int index,
RMPoint point)
Sets the path point at the given index to the given point. |
void |
setPointStructured(int index,
RMPoint point)
Resets the point at the given index to the given point, while preserving something. |
void |
setWindingRule(byte windingRule)
Sets the winding rule which describes how inner path perimeters are filled and clipped. |
com.reportmill.archiver.RXElement |
toXML(com.reportmill.archiver.RXArchiver anArchiver)
XML archival. |
void |
transformBy(com.reportmill.graphics.RMTransform aTransform)
Transforms the points in the path by the given transform. |
Methods inherited from class com.reportmill.base.RMObject |
copy, didChange, didUndo, getAnimAttribute, getClassNameShort, undoClone, undoCopy, undoEquals |
Methods inherited from class java.lang.Object |
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LineCapButt
public static final byte LineCapButt
- See Also:
- Constant Field Values
LineCapRound
public static final byte LineCapRound
- See Also:
- Constant Field Values
LineCapProjectingSquare
public static final byte LineCapProjectingSquare
- See Also:
- Constant Field Values
LineJoinMiter
public static final byte LineJoinMiter
- See Also:
- Constant Field Values
LineJoinRound
public static final byte LineJoinRound
- See Also:
- Constant Field Values
LineJoinBevel
public static final byte LineJoinBevel
- See Also:
- Constant Field Values
WIND_NON_ZERO
public static final byte WIND_NON_ZERO
- See Also:
- Constant Field Values
WIND_EVEN_ODD
public static final byte WIND_EVEN_ODD
- See Also:
- Constant Field Values
MOVE_TO
public static final byte MOVE_TO
- See Also:
- Constant Field Values
LINE_TO
public static final byte LINE_TO
- See Also:
- Constant Field Values
QUAD_TO
public static final byte QUAD_TO
- See Also:
- Constant Field Values
CURVE_TO
public static final byte CURVE_TO
- See Also:
- Constant Field Values
CLOSE
public static final byte CLOSE
- See Also:
- Constant Field Values
unitRectPath
public static final RMPath unitRectPath
RMPath
public RMPath()
- Creates an empty path.
moveTo
public void moveTo(RMPoint p)
- Adds a MoveTo element to the path for the given point.
moveTo
public void moveTo(double px,
double py)
- Adds a MoveTo element to the path for the given point.
lineTo
public void lineTo(RMPoint p)
- Adds a LineTo element to the path for the given point.
lineTo
public void lineTo(double px,
double py)
- Adds a LineTo element to the path for the given point.
quadTo
public void quadTo(RMPoint cp,
RMPoint p)
- Adds a QuadTo element to the path for the given point and control point.
quadTo
public void quadTo(double cpx,
double cpy,
double px,
double py)
- Adds a QuadTo element to the path for the given point and control point.
curveTo
public void curveTo(RMPoint cp1,
RMPoint cp2,
RMPoint p)
- Adds a CurveTo element to the path for the given point and control points.
curveTo
public void curveTo(double cp1x,
double cp1y,
double cp2x,
double cp2y,
double px,
double py)
- Adds a CurveTo element to the path for the given point and control points.
closePath
public void closePath()
- Adds a Close element to the given path.
reset
public void reset()
- Resets the current path with no elements or points.
relativeMoveTo
public void relativeMoveTo(RMPoint aPoint)
- Adds a MoveTo element to the path for the given point offset from the path's current point.
relativeLineTo
public void relativeLineTo(RMPoint aPoint)
- Adds a LineTo element to the path for the given point offset from the path's current point.
relativeCurveTo
public void relativeCurveTo(RMPoint cp1,
RMPoint cp2,
RMPoint aPoint)
- Adds a CurveTo element to the path for the given point offset from the path's current point.
transformBy
public void transformBy(com.reportmill.graphics.RMTransform aTransform)
- Transforms the points in the path by the given transform.
createTransformedPath
public RMPath createTransformedPath(java.awt.geom.AffineTransform aTransform)
- Returns a transformed version of this path.
getWindingRule
public byte getWindingRule()
- Returns the winding rule which describes how inner path perimeters are filled and clipped.
setWindingRule
public void setWindingRule(byte windingRule)
- Sets the winding rule which describes how inner path perimeters are filled and clipped.
getX
public double getX()
- Returns the X of the path.
getY
public double getY()
- Returns the Y of the path.
getWidth
public double getWidth()
- Returns the width of the path.
getHeight
public double getHeight()
- Returns the height of the path.
getBounds
public java.awt.Rectangle getBounds()
- Returns the bounds for the path as an integer rect.
- Specified by:
getBounds
in interface java.awt.Shape
getBounds2D
public java.awt.geom.Rectangle2D getBounds2D()
- Returns the bounds for the path.
- Specified by:
getBounds2D
in interface java.awt.Shape
getBoundsRM
public RMRect getBoundsRM()
- Returns the bounds for the path.
setBounds
public void setBounds(RMRect bounds)
- Sets the bounds that the path is relative to.
getElementCount
public int getElementCount()
- Returns the number of elements in this path.
getElement
public byte getElement(int anIndex)
- Returns the element type at the given index.
getElement
public byte getElement(int anIndex,
RMPoint[] points)
- Returns the element type at the given index and its associated points (returned in the given point array).
getElementLast
public byte getElementLast()
- Returns the last element.
getPointCount
public int getPointCount()
- Returns the number of points in the path.
getPoint
public RMPoint getPoint(int anIndex)
- Returns the point at the given index.
getPointLast
public RMPoint getPointLast()
- Returns the last point in the path.
getElementPointIndex
public int getElementPointIndex(int anIndex)
- Returns the point index for a given element.
getElementIndexForPointIndex
public int getElementIndexForPointIndex(int index)
- Returns the element index for the given point index.
isClosed
public boolean isClosed()
- Returns whether path has any open subpaths.
getPathInRect
public RMPath getPathInRect(java.awt.geom.Rectangle2D aRect)
- Returns a copy of the path scaled to exactly fit in the given rect.
contains
public boolean contains(java.awt.geom.Point2D aPoint)
- Returns whether the given point is inside the path.
- Specified by:
contains
in interface java.awt.Shape
contains
public boolean contains(double x,
double y)
- Returns whether the given xy coordinate is inside the path.
- Specified by:
contains
in interface java.awt.Shape
contains
public boolean contains(java.awt.geom.Rectangle2D aRect)
- Returns whether the interior of the shape entirely contains the specified rectangular area.
- Specified by:
contains
in interface java.awt.Shape
contains
public boolean contains(double x,
double y,
double w,
double h)
- Returns whether the interior of the shape entirely contains the specified rectangular area.
- Specified by:
contains
in interface java.awt.Shape
intersects
public boolean intersects(java.awt.geom.Rectangle2D aRect)
- Returns whether the interior of the path intersects the interior of a specified Rectangle2D.
- Specified by:
intersects
in interface java.awt.Shape
intersects
public boolean intersects(double x,
double y,
double w,
double h)
- Returns whether the interior of the path intersects the interior of a specified rectangular area.
- Specified by:
intersects
in interface java.awt.Shape
intersects
public boolean intersects(RMPoint aPoint,
float lineWidth)
- Returns whether path is hit by point for a path linewidth.
intersects
public boolean intersects(com.reportmill.graphics.RMLine aLine)
- Returns whether path is hit by a line.
intersects
public boolean intersects(double x,
double y,
double w,
double h,
float lineWidth)
- Returns whether path drawn with given linewidth is hit by given rect.
intersects
public boolean intersects(RMPath aPath,
float lineWidth)
- Returns whether path drawn with given linewidth is hit by given path.
getHitInfo
public com.reportmill.graphics.RMHitInfo getHitInfo(com.reportmill.graphics.RMLine aLine,
boolean findFirstHit)
- Returns the hit info for the given line against this path.
getHitInfo
public com.reportmill.graphics.RMHitInfo getHitInfo(com.reportmill.graphics.RMBezier aBezier,
boolean findFirstHit)
- Returns the hit info for the given bezier curve against this path.
handleAtPointForBounds
public int handleAtPointForBounds(RMPoint aPoint,
RMRect aRect)
- Returns the handle index for a given point against this path scaled to the given rect.
pointInPathCoordsFromPoint
public RMPoint pointInPathCoordsFromPoint(RMPoint aPoint,
RMRect aRect)
- Returns the given point converted to path coords for given path bounds.
removeLastElement
public void removeLastElement()
- Removes the last element from the path.
setPoint
public void setPoint(int index,
RMPoint point)
- Sets the path point at the given index to the given point.
setPointStructured
public void setPointStructured(int index,
RMPoint point)
- Resets the point at the given index to the given point, while preserving something.
getPathIterator
public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform aTransform)
- Returns a path iterator for this path and the given transform.
- Specified by:
getPathIterator
in interface java.awt.Shape
getPathIterator
public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform aTransform,
double flatness)
- Returns a path iterator for this path and the given transform and flatness.
- Specified by:
getPathIterator
in interface java.awt.Shape
equals
public boolean equals(java.lang.Object anObj)
- Standard equals implementation.
- Overrides:
equals
in class java.lang.Object
clone
public java.lang.Object clone()
- Standard clone implementation.
- Overrides:
clone
in class com.reportmill.base.RMObject
toXML
public com.reportmill.archiver.RXElement toXML(com.reportmill.archiver.RXArchiver anArchiver)
- XML archival.
fromXML
public java.lang.Object fromXML(com.reportmill.archiver.RXArchiver anArchiver,
com.reportmill.archiver.RXElement anElement)
- XML unarchival.