Container Class Documentation

classContainer : Element

Namespace:datalogics_interface

Inherits from:
Element

Detailed Description

In the PDF file, every container has a set of Marked Content tags, starting with Begin Marked Content (BMC or BDC) and ending with End Marked Content (EMC), so each container has a BMC/EMC or BDC/EMC pair of tags. These tags can be used to define the beginning and end of metadata around objects, providing information about the text and shapes within a PDF file. Containers can be nested within other containers.

Referenced by

Constructor & Destructor Documentation

Container

Container()

Create a new Container.

The new Container has no tag and is not associated with a dictionary.

Container

Container(const std::string &mc_tag)

Parameters

mc_tag: const std::string &

Create a new Container.

The new Container has no tag and is not associated with a dictionary.

Container

Container(const std::string &mc_tag, const PDFDict &property_list, boolis_inline)

Parameters

mc_tag: const std::string &
property_list: const PDFDict &
is_inline: bool

Create a new Container.

The new Container has no tag and is not associated with a dictionary.

~Container

~Container()

Member Function Documentation

clear_content

voidclear_content()

Returns:

void

Removes the content from this container.

clear_optional_content_membership_dict

voidclear_optional_content_membership_dict()

Returns:

void

Removes the optional content membership dictionary from this container.

clone

Returns:

The copied container.

Makes a copy of the container.

Make a copy of an container to obtain a new container that has a distinct set of attributes.

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_marked_content_tag

std::stringget_marked_content_tag()

Returns:

std::string

The container's Marked Content Tag.

get_matrix

Matrixget_matrix()

Returns:

The current transformation matrix applied to this element.

The transformation matrix for the element.

get_optional_content_membership_dict

std::unique_ptr< OptionalContentMembershipDict >get_optional_content_membership_dict()

Returns:

the OptionalContentMembershipDict

The OptionalContentMembershipDict property for this Container.

Setting this property will attach the Container to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Container is detached from any OptionalContentMembershipDict.

get_pdf_dict

PDFDictget_pdf_dict()

Returns:

PDFDict

Retrieve the PDFObject representation of this object.

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_content

voidset_content(const Content &content)

Parameters

content: const Content &

The new Content of the container.

Returns:

void

Set the content of a container.

set_marked_content_tag

voidset_marked_content_tag(const std::string &tag)

Parameters

tag: const std::string &

the container's Marked Content Tag

Returns:

void

The container's Marked Content Tag.

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_optional_content_membership_dict

voidset_optional_content_membership_dict(const OptionalContentMembershipDict &ocmd)

Parameters

ocmd: const OptionalContentMembershipDict &

the OptionalContentMembershipDict

Returns:

void

The OptionalContentMembershipDict property for this Container.

Setting this property will attach the Container to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Container is detached from any OptionalContentMembershipDict.

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.