Package com.itextpdf.kernel.geom
Class Path
java.lang.Object
com.itextpdf.kernel.geom.Path
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.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addSubpath
(Subpath subpath) Adds the subpath to this path.void
addSubpaths
(List extends Subpath> subpaths) Adds the subpaths to this path.void
Closes all subpathes contained in this path.void
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.The current point is the trailing endpoint of the segment most recently added to the current path.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.void
Appends a rectangle to the current path as a complete subpath.Adds additional line to each closed subpath and makes the subpath unclosed.
-
Constructor Details
-
Path
public Path() -
Path
-
Path
-
-
Method Details
-
getSubpaths
- Returns:
-
A
List
of subpaths forming this path.
-
addSubpath
Adds the subpath to this path.- Parameters:
-
subpath
- The subpath to be added to this path.
-
addSubpaths
Adds the subpaths to this path.- Parameters:
-
subpaths
-List
of subpaths to be added to this path.
-
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)
.- Parameters:
-
x
- x-coordinate of the new point -
y
- y-coordinate of the new point
-
lineTo
public void lineTo(float x, float y) Appends a straight line segment from the current point to the point(x, y)
.- Parameters:
-
x
- x-coordinate of the new point -
y
- y-coordinate of the new point
-
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)
.- Parameters:
-
x1
- x-coordinate of the first control point -
y1
- y-coordinate of the first control point -
x2
- x-coordinate of the second control point -
y2
- y-coordinate of the second control point -
x3
- x-coordinate of the third control point -
y3
- y-coordinate of the third control point
-
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)
using the current point and(x2, y2)
as intermediate control points. Note that current point is both used as the starting point and a control point- Parameters:
-
x2
- x-coordinate of the second intermediate control point -
y2
- y-coordinate of the second intermediate control point -
x3
- x-coordinate of the ending point -
y3
- y-coordinate of the ending point
-
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)
using(x1, y1)
and(x3, y3)
as control points. Note that(x3, y3)
is used both as both a control point and an ending point- Parameters:
-
x1
- x-coordinate of the first intermediate control point -
y1
- y-coordinate of the first intermediate control point -
x3
- x-coordinate of the second intermediate control point (and ending point) -
y3
- y-coordinate of the second intermediate control point (and ending point)
-
rectangle
Appends a rectangle to the current path as a complete subpath.- Parameters:
-
rect
- the rectangle to append to the current path
-
rectangle
public void rectangle(float x, float y, float w, float h) Appends a rectangle to the current path as a complete subpath.- Parameters:
-
x
- lower left x-coordinate of the rectangle -
y
- lower left y-coordinate of the rectangle -
w
- width of the rectangle -
h
- height of the rectangle
-
closeSubpath
public void closeSubpath()Closes the current subpath. -
closeAllSubpaths
public void closeAllSubpaths()Closes all subpathes contained in this path. -
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.- Returns:
- Indices of modified subpaths.
-
isEmpty
public boolean isEmpty()Path is empty if it contains no subpaths.- Returns:
-
true
in case the path is empty andfalse
otherwise
-