Path Class Documentation

classPath : Element

Namespace: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()

Member Function Documentation

add_curve

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:

void

Adds 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:

void

Adds 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:

void

Adds 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:

void

Adds 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:

void

Adds 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:

void

Removes the graphic state from this 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.

close_path

voidclose_path()

Returns:

void

Closes 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

Returns:

The current Clip for this Element, or NULL if no clip is set.

Gets the current Clip for an Element.

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.

move_to

voidmove_to(const Point &pt)

Parameters

pt: const Point &

- the coordinates of the new current point.

Returns:

void

Moves the current point of the path to the given point.

rotate

voidrotate(doubletheta)

Parameters

theta: double

The rotation angle in degrees.

Returns:

void

Rotate 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: double

The horizontal scale factor.

sy: double

The vertical scale factor.

Returns:

void

Scale 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:

void

Sets 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:

void

Set 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:

void

Set 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:

void

Sets the fill and stroke attributes of a path.

translate

voidtranslate(doubletx, doublety)

Parameters

tx: double

The horizontal translation distance in user space units.

ty: double

The vertical translation distance in user space units.

Returns:

void

Translate 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.