public class ExtendedGeneralPath extends Object implements Shape, Cloneable
ExtendedGeneralPath
class represents a geometric path constructed from straight lines, quadratic and
cubic (Bezier) curves and elliptical arc. This class delegates lines and curves to an enclosed
GeneralPath
. Elliptical arc is implemented using an Arc2D
in double precision.
Warning : An elliptical arc may be composed of several path segments. For futher details, see the SVG Appendix F.6
Constructor and Description |
---|
ExtendedGeneralPath()
Constructs a new
ExtendedGeneralPath . |
ExtendedGeneralPath(int rule)
Constructs a new
ExtendedGeneralPath with the specified winding rule to control operations that
require the interior of the path to be defined. |
ExtendedGeneralPath(int rule,
int initialCapacity)
Constructs a new
ExtendedGeneralPath object with the specified winding rule and the specified
initial capacity to store path coordinates. |
ExtendedGeneralPath(Shape s)
Constructs a new
ExtendedGeneralPath object from an arbitrary Shape object. |
Modifier and Type | Method and Description |
---|---|
void |
append(ExtendedPathIterator epi,
boolean connect)
Delegates to the enclosed
GeneralPath . |
void |
append(PathIterator pi,
boolean connect)
Delegates to the enclosed
GeneralPath . |
void |
append(Shape s,
boolean connect)
Delegates to the enclosed
GeneralPath . |
void |
arcTo(double rx,
double ry,
double angle,
boolean largeArcFlag,
boolean sweepFlag,
double x,
double y)
Adds an elliptical arc, defined by two radii, an angle from the x-axis, a flag to choose the large arc or not, a
flag to indicate if we increase or decrease the angles and the final point of the arc.
|
protected void |
checkMoveTo()
Checks if previous command was a moveto command, skipping a close command (if present).
|
Object |
clone()
Delegates to the enclosed
GeneralPath . |
void |
closePath()
Delegates to the enclosed
GeneralPath . |
static Arc2D |
computeArc(double x0,
double y0,
double rx,
double ry,
double angle,
boolean largeArcFlag,
boolean sweepFlag,
double x,
double y)
This constructs an unrotated Arc2D from the SVG specification of an Elliptical arc.
|
boolean |
contains(double x,
double y)
Delegates to the enclosed
GeneralPath . |
boolean |
contains(double x,
double y,
double w,
double h)
Delegates to the enclosed
GeneralPath . |
boolean |
contains(Point2D p)
Delegates to the enclosed
GeneralPath . |
boolean |
contains(Rectangle2D r)
Delegates to the enclosed
GeneralPath . |
Shape |
createTransformedShape(AffineTransform at)
Delegates to the enclosed
GeneralPath . |
void |
curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
Delegates to the enclosed
GeneralPath . |
Rectangle |
getBounds()
Delegates to the enclosed
GeneralPath . |
Rectangle2D |
getBounds2D()
Delegates to the enclosed
GeneralPath . |
Point2D |
getCurrentPoint()
get the current position or
null . |
ExtendedPathIterator |
getExtendedPathIterator()
Delegates to the enclosed
GeneralPath . |
PathIterator |
getPathIterator(AffineTransform at)
Delegates to the enclosed
GeneralPath . |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
Delegates to the enclosed
GeneralPath . |
int |
getWindingRule()
Delegates to the enclosed
GeneralPath . |
boolean |
intersects(double x,
double y,
double w,
double h)
Delegates to the enclosed
GeneralPath . |
boolean |
intersects(Rectangle2D r)
Delegates to the enclosed
GeneralPath . |
void |
lineTo(double x,
double y)
Delegates to the enclosed
GeneralPath . |
void |
moveTo(double x,
double y)
Delegates to the enclosed
GeneralPath . |
void |
quadTo(double x1,
double y1,
double x2,
double y2)
Delegates to the enclosed
GeneralPath . |
void |
reset()
Delegates to the enclosed
GeneralPath . |
void |
setWindingRule(int rule)
Delegates to the enclosed
GeneralPath . |
void |
transform(AffineTransform at)
Delegates to the enclosed
GeneralPath . |
public ExtendedGeneralPath()
ExtendedGeneralPath
.public ExtendedGeneralPath(int rule)
ExtendedGeneralPath
with the specified winding rule to control operations that
require the interior of the path to be defined.public ExtendedGeneralPath(int rule, int initialCapacity)
ExtendedGeneralPath
object with the specified winding rule and the specified
initial capacity to store path coordinates.public ExtendedGeneralPath(Shape s)
ExtendedGeneralPath
object from an arbitrary Shape
object.public void arcTo(double rx, double ry, double angle, boolean largeArcFlag, boolean sweepFlag, double x, double y)
rx
- the x radius of the ellipsery
- the y radius of the ellipseangle
- the angle from the x-axis of the current coordinate system to the x-axis of the ellipse in degrees.largeArcFlag
- the large arc flag. If true the arc spanning less than or equal to 180 degrees is chosen, otherwise
the arc spanning greater than 180 degrees is chosensweepFlag
- the sweep flag. If true the line joining center to arc sweeps through decreasing angles otherwise it
sweeps through increasing anglesx
- the absolute x coordinate of the final point of the arc.y
- the absolute y coordinate of the final point of the arc.public static Arc2D computeArc(double x0, double y0, double rx, double ry, double angle, boolean largeArcFlag, boolean sweepFlag, double x, double y)
public void moveTo(double x, double y)
GeneralPath
.public void lineTo(double x, double y)
GeneralPath
.public void quadTo(double x1, double y1, double x2, double y2)
GeneralPath
.public void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
GeneralPath
.public void closePath()
GeneralPath
.protected void checkMoveTo()
public void append(Shape s, boolean connect)
GeneralPath
.public void append(PathIterator pi, boolean connect)
GeneralPath
.public void append(ExtendedPathIterator epi, boolean connect)
GeneralPath
.public int getWindingRule()
GeneralPath
.public void setWindingRule(int rule)
GeneralPath
.public Point2D getCurrentPoint()
null
.public void reset()
GeneralPath
.public void transform(AffineTransform at)
GeneralPath
.public Shape createTransformedShape(AffineTransform at)
GeneralPath
.public Rectangle getBounds()
GeneralPath
.public Rectangle2D getBounds2D()
GeneralPath
.getBounds2D
in interface Shape
public boolean contains(double x, double y)
GeneralPath
.public boolean contains(Point2D p)
GeneralPath
.public boolean contains(double x, double y, double w, double h)
GeneralPath
.public boolean contains(Rectangle2D r)
GeneralPath
.public boolean intersects(double x, double y, double w, double h)
GeneralPath
.intersects
in interface Shape
public boolean intersects(Rectangle2D r)
GeneralPath
.intersects
in interface Shape
public PathIterator getPathIterator(AffineTransform at)
GeneralPath
.getPathIterator
in interface Shape
public PathIterator getPathIterator(AffineTransform at, double flatness)
GeneralPath
.getPathIterator
in interface Shape
public ExtendedPathIterator getExtendedPathIterator()
GeneralPath
.Copyright © 2016. All Rights Reserved.