Package com.itextpdf.text.pdf.parser
Class Path
- java.lang.Object
-
- com.itextpdf.text.pdf.parser.Path
-
public class Path extends java.lang.Object
Paths define shapes, trajectories, and regions of all sorts. They shall be used to draw lines, define the shapes of filled areas, and specify boundaries for clipping other graphics. A path shall be composed of straight and curved line segments, which may connect to one another or may be disconnected.- Since:
- 5.5.6
-
-
Field Summary
Fields Modifier and Type Field Description private Point2D
currentPoint
private static java.lang.String
START_PATH_ERR_MSG
private java.util.List<Subpath>
subpaths
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addSubpath(Subpath subpath)
Adds the subpath to this path.void
addSubpaths(java.util.List<? extends Subpath> subpaths)
Adds the subpaths to this path.void
closeAllSubpaths()
Closes all subpathes contained in this path.void
closeSubpath()
Closes the current subpath.void
curveFromTo(float x1, float y1, float x3, float y3)
Appends a cubic Bezier curve to the current path.void
curveTo(float x2, float y2, float x3, float y3)
Appends a cubic Bezier curve to the current path.void
curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
Appends a cubic Bezier curve to the current path.Point2D
getCurrentPoint()
The current point is the trailing endpoint of the segment most recently added to the current path.private Subpath
getLastSubpath()
java.util.List<Subpath>
getSubpaths()
boolean
isEmpty()
Path is empty if it contains no subpaths.void
lineTo(float x, float y)
Appends a straight line segment from the current point to the point(x, y)
.void
moveTo(float x, float y)
Begins a new subpath by moving the current point to coordinates(x, y)
.void
rectangle(float x, float y, float w, float h)
Appends a rectangle to the current path as a complete subpath.java.util.List<java.lang.Integer>
replaceCloseWithLine()
Adds additional line to each closed subpath and makes the subpath unclosed.
-
-
-
Field Detail
-
START_PATH_ERR_MSG
private static final java.lang.String START_PATH_ERR_MSG
- See Also:
- Constant Field Values
-
subpaths
private java.util.List<Subpath> subpaths
-
currentPoint
private Point2D currentPoint
-
-
Constructor Detail
-
Path
public Path()
-
Path
public Path(java.util.List<? extends Subpath> subpaths)
-
-
Method Detail
-
getSubpaths
public java.util.List<Subpath> getSubpaths()
- Returns:
- A
List
of subpaths forming this path.
-
addSubpath
public void addSubpath(Subpath subpath)
Adds the subpath to this path.- Parameters:
subpath
- The subpath to be added to this path.
-
addSubpaths
public void addSubpaths(java.util.List<? extends Subpath> subpaths)
Adds the subpaths to this path.- Parameters:
subpaths
-List
of subpaths to be added to this path.
-
getCurrentPoint
public Point2D getCurrentPoint()
The current point is the trailing endpoint of the segment most recently added to the current path.- Returns:
- The current point.
-
moveTo
public void moveTo(float x, float y)
Begins a new subpath by moving the current point to coordinates(x, y)
.
-
lineTo
public void lineTo(float x, float y)
Appends a straight line segment from the current point to the point(x, y)
.
-
curveTo
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
Appends a cubic Bezier curve to the current path. The curve shall extend from the current point to the point(x3, y3)
.
-
curveTo
public void curveTo(float x2, float y2, float x3, float y3)
Appends a cubic Bezier curve to the current path. The curve shall extend from the current point to the point(x3, y3)
with the note that the current point represents two control points.
-
curveFromTo
public void curveFromTo(float x1, float y1, float x3, float y3)
Appends a cubic Bezier curve to the current path. The curve shall extend from the current point to the point(x3, y3)
with the note that the (x3, y3) point represents two control points.
-
rectangle
public void rectangle(float x, float y, float w, float h)
Appends a rectangle to the current path as a complete subpath.
-
closeSubpath
public void closeSubpath()
Closes the current subpath.
-
closeAllSubpaths
public void closeAllSubpaths()
Closes all subpathes contained in this path.
-
replaceCloseWithLine
public java.util.List<java.lang.Integer> replaceCloseWithLine()
Adds additional line to each closed subpath and makes the subpath unclosed. The line connects the last and the first points of the subpaths.
-
isEmpty
public boolean isEmpty()
Path is empty if it contains no subpaths.
-
getLastSubpath
private Subpath getLastSubpath()
-
-