Class Path

java.lang.Object
com.itextpdf.kernel.geom.Path

public class Path extends 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.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Path()
     
    Path(Path path)
     
    Path(ListSubpath> subpaths)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addSubpath(Subpath subpath)
    Adds the subpath to this path.
    void
    addSubpaths(ListSubpath> 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
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Path

      public Path()
    • Path

      public Path (ListSubpath> subpaths)
    • Path

      public Path (Path path)
  • Method Details

    • getSubpaths

      public 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 (ListSubpath> subpaths)
      Adds the subpaths to this path.
      Parameters:
      subpaths - List of subpaths to be added to this path.
    • getCurrentPoint

      public Point 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

      public void rectangle (Rectangle rect)
      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

      public List<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.
      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 and false otherwise