
public class SVGPath extends Object
| Modifier and Type | Field and Description | 
|---|---|
private StringBuilder | 
buf
String buffer for building the path. 
 | 
private String | 
lastaction
The last action we did, to not add unnecessary commands 
 | 
static String | 
PATH_ARC_RELATIVE
The lower case version (relative) path arc command. 
 | 
static String | 
PATH_CUBIC_TO_RELATIVE
The lower case version (relative) cubic line to command. 
 | 
static String | 
PATH_HORIZONTAL_LINE_TO_RELATIVE
The lower case version (relative) horizontal line to command. 
 | 
static String | 
PATH_LINE_TO_RELATIVE
The lower case version (relative) line to command. 
 | 
static String | 
PATH_MOVE_RELATIVE
The lower case version (relative) move command. 
 | 
static String | 
PATH_QUAD_TO_RELATIVE
The lower case version (relative) quadratic interpolation to command. 
 | 
static String | 
PATH_SMOOTH_CUBIC_TO
The absolute "smooth cubic to" SVG path command (missing from
 SVGConstants). 
 | 
static String | 
PATH_SMOOTH_CUBIC_TO_RELATIVE
The lower case version (relative) smooth cubic to command. 
 | 
static String | 
PATH_SMOOTH_QUAD_TO_RELATIVE
The lower case version (relative) smooth quadratic interpolation to
 command. 
 | 
static String | 
PATH_VERTICAL_LINE_TO_RELATIVE
The lower case version (relative) vertical line to command. 
 | 
| Constructor and Description | 
|---|
SVGPath()
Empty path constructor. 
 | 
SVGPath(double[] xy)
Constructor with initial point. 
 | 
SVGPath(double x,
       double y)
Constructor with initial point. 
 | 
SVGPath(Polygon vectors)
Constructor from a vector collection (e.g. a polygon) 
 | 
| Modifier and Type | Method and Description | 
|---|---|
private void | 
append(String action,
      double... ds)
Append an action to the current path. 
 | 
SVGPath | 
close()
Close the path. 
 | 
SVGPath | 
cubicTo(double[] c1xy,
       double[] c2xy,
       double[] xy)
Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
cubicTo(double c1x,
       double c1y,
       double c2x,
       double c2y,
       double x,
       double y)
Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
cubicTo(Vector c1xy,
       Vector c2xy,
       Vector xy)
Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
drawTo(double[] xy)
Draw a line given a series of coordinates. 
 | 
SVGPath | 
drawTo(double x,
      double y)
Draw a line given a series of coordinates. 
 | 
SVGPath | 
drawTo(Vector xy)
Draw a line given a series of coordinates. 
 | 
SVGPath | 
ellipticalArc(double rx,
             double ry,
             double ar,
             double la,
             double sp,
             double[] xy)
Elliptical arc curve to the given coordinates. 
 | 
SVGPath | 
ellipticalArc(double rx,
             double ry,
             double ar,
             double la,
             double sp,
             double x,
             double y)
Elliptical arc curve to the given coordinates. 
 | 
SVGPath | 
ellipticalArc(Vector rxy,
             double ar,
             double la,
             double sp,
             Vector xy)
Elliptical arc curve to the given coordinates. 
 | 
SVGPath | 
horizontalLineTo(double x)
Draw a horizontal line to the given x coordinate. 
 | 
boolean | 
isStarted()
Test whether the path drawing has already started. 
 | 
SVGPath | 
lineTo(double[] xy)
Draw a line to the given coordinates. 
 | 
SVGPath | 
lineTo(double x,
      double y)
Draw a line to the given coordinates. 
 | 
SVGPath | 
lineTo(Vector xy)
Draw a line to the given coordinates. 
 | 
Element | 
makeElement(Document document)
Turn the path buffer into an SVG element. 
 | 
Element | 
makeElement(SVGPlot plot)
Turn the path buffer into an SVG element. 
 | 
SVGPath | 
moveTo(double[] xy)
Move to the given coordinates. 
 | 
SVGPath | 
moveTo(double x,
      double y)
Move to the given coordinates. 
 | 
SVGPath | 
moveTo(Vector xy)
Move to the given coordinates. 
 | 
SVGPath | 
quadTo(double[] c1xy,
      double[] xy)
Quadratic Bezier line to the given coordinates. 
 | 
SVGPath | 
quadTo(double c1x,
      double c1y,
      double x,
      double y)
Quadratic Bezier line to the given coordinates. 
 | 
SVGPath | 
quadTo(Vector c1xy,
      Vector xy)
Quadratic Bezier line to the given coordinates. 
 | 
SVGPath | 
relativeCubicTo(double[] c1xy,
               double[] c2xy,
               double[] xy)
Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeCubicTo(double c1x,
               double c1y,
               double c2x,
               double c2y,
               double x,
               double y)
Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeCubicTo(Vector c1xy,
               Vector c2xy,
               Vector xy)
Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeEllipticalArc(double rx,
                     double ry,
                     double ar,
                     double la,
                     double sp,
                     double[] xy)
Elliptical arc curve to the given relative coordinates. 
 | 
SVGPath | 
relativeEllipticalArc(double rx,
                     double ry,
                     double ar,
                     double la,
                     double sp,
                     double x,
                     double y)
Elliptical arc curve to the given relative coordinates. 
 | 
SVGPath | 
relativeEllipticalArc(Vector rxy,
                     double ar,
                     double la,
                     double sp,
                     Vector xy)
Elliptical arc curve to the given relative coordinates. 
 | 
SVGPath | 
relativeHorizontalLineTo(double x)
Draw a horizontal line to the given relative x coordinate. 
 | 
SVGPath | 
relativeLineTo(double[] xy)
Draw a line to the given relative coordinates. 
 | 
SVGPath | 
relativeLineTo(double x,
              double y)
Draw a line to the given relative coordinates. 
 | 
SVGPath | 
relativeLineTo(Vector xy)
Draw a line to the given relative coordinates. 
 | 
SVGPath | 
relativeMoveTo(double[] xy)
Move to the given relative coordinates. 
 | 
SVGPath | 
relativeMoveTo(double x,
              double y)
Move to the given relative coordinates. 
 | 
SVGPath | 
relativeMoveTo(Vector xy)
Move to the given relative coordinates. 
 | 
SVGPath | 
relativeQuadTo(double[] c1xy,
              double[] xy)
Quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeQuadTo(double c1x,
              double c1y,
              double x,
              double y)
Quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeQuadTo(Vector c1xy,
              Vector xy)
Quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothCubicTo(double[] c2xy,
                     double[] xy)
Smooth Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothCubicTo(double c2x,
                     double c2y,
                     double x,
                     double y)
Smooth Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothCubicTo(Vector c2xy,
                     Vector xy)
Smooth Cubic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothQuadTo(double[] xy)
Smooth quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothQuadTo(double x,
                    double y)
Smooth quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeSmoothQuadTo(Vector xy)
Smooth quadratic Bezier line to the given relative coordinates. 
 | 
SVGPath | 
relativeVerticalLineTo(double y)
Draw a vertical line to the given relative y coordinate. 
 | 
SVGPath | 
smoothCubicTo(double[] c2xy,
             double[] xy)
Smooth Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
smoothCubicTo(double c2x,
             double c2y,
             double x,
             double y)
Smooth Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
smoothCubicTo(Vector c2xy,
             Vector xy)
Smooth Cubic Bezier line to the given coordinates. 
 | 
SVGPath | 
smoothQuadTo(double[] xy)
Smooth quadratic Bezier line to the given coordinates. 
 | 
SVGPath | 
smoothQuadTo(double x,
            double y)
Smooth quadratic Bezier line to the given coordinates. 
 | 
SVGPath | 
smoothQuadTo(Vector xy)
Smooth quadratic Bezier line to the given coordinates. 
 | 
String | 
toString()
Return the SVG serialization of the path. 
 | 
SVGPath | 
verticalLineTo(double y)
Draw a vertical line to the given y coordinate. 
 | 
private StringBuilder buf
private String lastaction
public static final String PATH_SMOOTH_CUBIC_TO
public static final String PATH_LINE_TO_RELATIVE
public static final String PATH_MOVE_RELATIVE
public static final String PATH_HORIZONTAL_LINE_TO_RELATIVE
public static final String PATH_VERTICAL_LINE_TO_RELATIVE
public static final String PATH_CUBIC_TO_RELATIVE
public static final String PATH_SMOOTH_CUBIC_TO_RELATIVE
public static final String PATH_QUAD_TO_RELATIVE
public static final String PATH_SMOOTH_QUAD_TO_RELATIVE
public static final String PATH_ARC_RELATIVE
public SVGPath()
public SVGPath(double x,
       double y)
x - initial coordinatesy - initial coordinatespublic SVGPath(double[] xy)
xy - initial coordinatespublic SVGPath(Polygon vectors)
vectors - vectorspublic SVGPath drawTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath drawTo(double[] xy)
xy - new coordinatespublic SVGPath drawTo(Vector xy)
xy - new coordinatespublic boolean isStarted()
public SVGPath lineTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath lineTo(double[] xy)
xy - new coordinatespublic SVGPath lineTo(Vector xy)
xy - new coordinatespublic SVGPath relativeLineTo(double x, double y)
x - relative coordinatesy - relative coordinatespublic SVGPath relativeLineTo(double[] xy)
xy - new coordinatespublic SVGPath relativeLineTo(Vector xy)
xy - new coordinatespublic SVGPath horizontalLineTo(double x)
x - new coordinatespublic SVGPath relativeHorizontalLineTo(double x)
x - new coordinatespublic SVGPath verticalLineTo(double y)
y - new coordinatepublic SVGPath relativeVerticalLineTo(double y)
y - new coordinatepublic SVGPath moveTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath moveTo(double[] xy)
xy - new coordinatespublic SVGPath moveTo(Vector xy)
xy - new coordinatespublic SVGPath relativeMoveTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath relativeMoveTo(double[] xy)
xy - new coordinatespublic SVGPath relativeMoveTo(Vector xy)
xy - new coordinatespublic SVGPath cubicTo(double c1x, double c1y, double c2x, double c2y, double x, double y)
c1x - first control point xc1y - first control point yc2x - second control point xc2y - second control point yx - new coordinatesy - new coordinatespublic SVGPath cubicTo(double[] c1xy, double[] c2xy, double[] xy)
c1xy - first control pointc2xy - second control pointxy - new coordinatespublic SVGPath cubicTo(Vector c1xy, Vector c2xy, Vector xy)
c1xy - first control pointc2xy - second control pointxy - new coordinatespublic SVGPath relativeCubicTo(double c1x, double c1y, double c2x, double c2y, double x, double y)
c1x - first control point xc1y - first control point yc2x - second control point xc2y - second control point yx - new coordinatesy - new coordinatespublic SVGPath relativeCubicTo(double[] c1xy, double[] c2xy, double[] xy)
c1xy - first control pointc2xy - second control pointxy - new coordinatespublic SVGPath relativeCubicTo(Vector c1xy, Vector c2xy, Vector xy)
c1xy - first control pointc2xy - second control pointxy - new coordinatespublic SVGPath smoothCubicTo(double c2x, double c2y, double x, double y)
c2x - second control point xc2y - second control point yx - new coordinatesy - new coordinatespublic SVGPath smoothCubicTo(double[] c2xy, double[] xy)
c2xy - second control pointxy - new coordinatespublic SVGPath smoothCubicTo(Vector c2xy, Vector xy)
c2xy - second control pointxy - new coordinatespublic SVGPath relativeSmoothCubicTo(double c2x, double c2y, double x, double y)
c2x - second control point xc2y - second control point yx - new coordinatesy - new coordinatespublic SVGPath relativeSmoothCubicTo(double[] c2xy, double[] xy)
c2xy - second control pointxy - new coordinatespublic SVGPath relativeSmoothCubicTo(Vector c2xy, Vector xy)
c2xy - second control pointxy - new coordinatespublic SVGPath quadTo(double c1x, double c1y, double x, double y)
c1x - first control point xc1y - first control point yx - new coordinatesy - new coordinatespublic SVGPath quadTo(double[] c1xy, double[] xy)
c1xy - first control pointxy - new coordinatespublic SVGPath quadTo(Vector c1xy, Vector xy)
c1xy - first control pointxy - new coordinatespublic SVGPath relativeQuadTo(double c1x, double c1y, double x, double y)
c1x - first control point xc1y - first control point yx - new coordinatesy - new coordinatespublic SVGPath relativeQuadTo(double[] c1xy, double[] xy)
c1xy - first control pointxy - new coordinatespublic SVGPath relativeQuadTo(Vector c1xy, Vector xy)
c1xy - first control pointxy - new coordinatespublic SVGPath smoothQuadTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath smoothQuadTo(double[] xy)
xy - new coordinatespublic SVGPath smoothQuadTo(Vector xy)
xy - new coordinatespublic SVGPath relativeSmoothQuadTo(double x, double y)
x - new coordinatesy - new coordinatespublic SVGPath relativeSmoothQuadTo(double[] xy)
xy - new coordinatespublic SVGPath relativeSmoothQuadTo(Vector xy)
xy - new coordinatespublic SVGPath ellipticalArc(double rx, double ry, double ar, double la, double sp, double x, double y)
rx - x radiusry - y radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionx - new coordinatesy - new coordinatespublic SVGPath ellipticalArc(double rx, double ry, double ar, double la, double sp, double[] xy)
rx - x radiusry - y radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionxy - new coordinatespublic SVGPath ellipticalArc(Vector rxy, double ar, double la, double sp, Vector xy)
rxy - radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionxy - new coordinatespublic SVGPath relativeEllipticalArc(double rx, double ry, double ar, double la, double sp, double x, double y)
rx - x radiusry - y radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionx - new coordinatesy - new coordinatespublic SVGPath relativeEllipticalArc(double rx, double ry, double ar, double la, double sp, double[] xy)
rx - x radiusry - y radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionxy - new coordinatespublic SVGPath relativeEllipticalArc(Vector rxy, double ar, double la, double sp, Vector xy)
rxy - radiusar - x-axis-rotationla - large arc flag, if angle >= 180 degsp - sweep flag, if arc will be drawn in positive-angle directionxy - new coordinatesprivate void append(String action, double... ds)
action - Current actionds - coordinates.public SVGPath close()
public Element makeElement(Document document)
document - Document context (= element factory)public Element makeElement(SVGPlot plot)
plot - Plot context (= element factory)