Path Class Documentation
classPath : ElementNamespace:datalogics_interface
- Inherits from:
Element
Detailed Description
Paths in PDF files are used to draw lines, define filled areas, and define boundaries for clipping graphics. A path is composed of straight and curved line segments.
Referenced by
Constructor & Destructor Documentation
Path
Path()Create a path.
Path
Path(GraphicStategs)Parameters
gs: GraphicState
Create a path.
Path
Path(Path &&)Parameters
: Path &&
~Path
~Path()Member Function Documentation
add_curve
voidadd_curve(const Point &p1, const Point &p2, const Point &p3)Parameters
p1: const Point &- first Bezier control point
p2: const Point &- second Bezier control point
p3: const Point &- the ending Point of the Bezier curve which will also be the current point of the current path.
Returns:
voidAdds a Bezier curve from the current path using the first two points specified as Bezier control points ending at the third point. The new current point is then set to the third point.
add_curve_v
voidadd_curve_v(const Point &p1, const Point &p2)Parameters
p1: const Point &- first Bezier control point
p2: const Point &- the ending Point of the Bezier curve which will also be the new current point of the path.
Returns:
voidAdds a Bezier curve from the current path. This extends from the current path to the point Point2 using the current point and the first point specified as Bezier control points ending at the second point. The new current point is then set to the second point.
add_curve_y
voidadd_curve_y(const Point &p1, const Point &p2)Parameters
p1: const Point &- first Bezier control point
p2: const Point &- second Bezier control point and the ending Point of the Bezier curve which will also be the new current point of the path.
Returns:
voidAdds a Bezier curve from the current path. This extends from the current path to the point Point2 using the two points specified as Bezier control points ending at the second point. The new current point is then set to the second point.
add_line
voidadd_line(const Point &pt)Parameters
pt: const Point &- the coordinates of the endpoint of the new line.
Returns:
voidAdds a line to the current path from the current path position. The given point becomes the new current position.
add_rect
voidadd_rect(const Point &pt, doublewidth, doubleheight)Parameters
pt: const Point &- the coordinates of the lower left corner of the new rectangle.
width: double- the width of the new rectangle.
height: double- the height of the new rectangle.
Returns:
voidAdds a rectangle to the current path with the lower left corner at the give point, and with the width and height specified.
clear_graphic_state
voidclear_graphic_state()Returns:
voidRemoves the graphic state from this path.
clone
std::unique_ptr< Path >clone()Returns:
The copied path.Makes a copy of the path.
Make a copy of an path to obtain a new path that has a distinct set of attributes.
clone
std::unique_ptr< Path >clone(ElementCloneFlagsflags)Parameters
flags: ElementCloneFlags
Returns:
The copied path.Makes a copy of the path.
Make a copy of an path to obtain a new path that has a distinct set of attributes.
close_path
voidclose_path()Returns:
voidCloses the current subpath.
get_bounding_box
Rectget_bounding_box()Returns:
The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account.The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself.
get_clip
std::unique_ptr< Clip >get_clip()Returns:
The current Clip for this Element, or NULL if no clip is set.Gets the current Clip for an Element.
get_element_type
ElementTypeget_element_type()Returns:
ElementTypeReturns the runtime type of this element.
get_graphic_state
std::unique_ptr< GraphicState >get_graphic_state()Returns:
The graphic state, or nullptr if none is set.Get the graphic state of the current path.
May return null if this element does not have a GraphicState.
get_matrix
Matrixget_matrix()Returns:
The current transformation matrix applied to this element.The transformation matrix for the element.
get_paint_op
PathPaintOpget_paint_op()Returns:
the PathPaintOpFlags flags describing the fill and stroke attributes.Gets the fill and stroke attributes of a path.
get_segments
std::vector< std::shared_ptr< Segment > >get_segments()Returns:
std::vector< std::shared_ptr< Segment > >Get the segments of the path.
Returns a list of Segment objects, one for each segment in the path.
move_to
voidmove_to(const Point &pt)Parameters
pt: const Point &- the coordinates of the new current point.
Returns:
voidMoves the current point of the path to the given point.
operator=
Parameters
: Path &&
Returns:
Path &rotate
voidrotate(doubletheta)Parameters
theta: doubleThe rotation angle in degrees.
Returns:
voidRotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ].
scale
voidscale(doublesx, doublesy)Parameters
sx: doubleThe horizontal scale factor.
sy: doubleThe vertical scale factor.
Returns:
voidScale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ].
set_clip
voidset_clip(Clip &clip)Parameters
clip: Clip &The clip to set as the current clip for this element, or NULL to remove clipping.
Returns:
voidSets the current Clip for an Element.
set_graphic_state
voidset_graphic_state(const GraphicState &gs)Parameters
gs: const GraphicState &- the new/updated Graphic State for the path.
Returns:
voidSet the Graphic State of the current path.
The Path copies the graphic state internally.
set_matrix
voidset_matrix(const Matrix &matrix)Parameters
matrix: const Matrix &The transformation matrix for the element.
Returns:
voidSet the transformation matrix for the element.
set_paint_op
voidset_paint_op(PathPaintOpop)Parameters
op: PathPaintOp- the flags describing the fill and stroke attributes.
Returns:
voidSets the fill and stroke attributes of a path.
translate
voidtranslate(doubletx, doublety)Parameters
tx: doubleThe horizontal translation distance in user space units.
ty: doubleThe vertical translation distance in user space units.
Returns:
voidTranslate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ].
try_as
T *try_as(typename T)Parameters
: typename T
Returns:
T *Attempt to downcast this element to a derived type. Returns a pointer to the derived type, or nullptr if the type doesn't match.
try_as
const T *try_as(typename T)Parameters
: typename T
Returns:
const T *Const overload of try_as(). Returns a const pointer, or nullptr.