Text

class HPS::Text

The Text class is a concept class for text-related enum classes.

Public Types

enum Alignment

Enumeration of the alignments used for text string. These define what the insertion point for a text string is measured with respect to.

Values:

enumerator TopLeft

Insertion point is the top left corner of the text string.

enumerator CenterLeft

Insertion point is the center of the left side of the text string.

enumerator BottomLeft

Insertion point is the bottom left corner of the text string.

enumerator TopCenter

Insertion point is the center of the top side of the text string.

enumerator Center

Insertion point is the vertical and horizontal center of the text string.

enumerator BottomCenter

Insertion point is the center of the bottom side of the text string.

enumerator TopRight

Insertion point is the top right corner of the text string.

enumerator CenterRight

Insertion point is the center of the right side of the text string.

enumerator BottomRight

Insertion point is the bottom right corner of the text string.

enum GreekingMode

Enumerates the greeking modes. These define what to draw in place of characters once they fall below the greeking limit.

Values:

enumerator Nothing

Nothing will be drawn for characters below the greeking limit.

enumerator Lines

A grid of lines will be drawn in place of characters below the greeking limit.

enumerator Box

A filled box will be drawn in place of characters below the greeking limit.

enum GreekingUnits

Enumerates the units for greeking limits.

Values:

enumerator ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

enumerator SubscreenRelative

Fraction of the height of the outermost window.

enumerator WindowRelative

Fraction of the height of the local window.

enumerator WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

enumerator Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

enumerator Pixels

Number of pixels.

enum Justification

Enumerates the justifications used for multiline text strings.

Values:

enumerator Left

Multiline strings will be left justified.

enumerator Right

Multiline strings will be right justified.

enumerator Center

Multiline strings will be center justified.

enum LeaderLineSpace

Enumerates the spaces in which leader lines can be defined.

Values:

enumerator Object

The leader line position is supplied in Object Space.

enumerator World

The leader line position is supplied in World Space.

enum MarginUnits

Enumerates the units for background margins.

Values:

enumerator ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

enumerator SubscreenRelative

Fraction of the height of the outermost window.

enumerator WindowRelative

Fraction of the height of the local window.

enumerator WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

enumerator Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

enumerator Pixels

Number of pixels.

enumerator Percent

Percentage of the requested font height.

enum Preference

Enumerates the font type preferences for text strings. These define the types of fonts Visualize will use.

Values:

enumerator Default

Use the default font type for the current driver.

enumerator Vector

Use vector fonts.

enumerator Raster

Use raster or bitmap fonts.

enumerator Exterior

Use the font outline (characters will be unfilled).

enum ReferenceFrame

Enumeration of the reference frames for text alignment and justification.

Values:

enumerator WorldAligned

Alignment and justification will be defined relative to a screen-facing box around the text.

enumerator PathAligned

Alignment and justification will be defined relative to a text-path-aligned box around the text.

enum RegionAlignment

Enumerates the alignments for text regions. These define how text strings will be positioned relative to the line defining the text region.

Values:

enumerator Top

Text will be drawn below the region line.

enumerator Center

Text will be drawn such that the region line passes through its center.

enumerator Bottom

Text will be drawn above the region line.

enum RegionFitting

Enumerates how text is arranged within a region.

Values:

enumerator Left

Text will be left-justified on the region line.

enumerator Center

Text will be centered-justified on the region line.

enumerator Right

Text will be right-justified on the region line.

enumerator Spacing

Text will be stretched or squeezed to fill the region line and character width will not change (characters may overlap).

enumerator Width

Text will be stretched or squeezed to fill the region line and character width will change (narrowing or widening as necessary).

enumerator Auto

Text will be stretched or squeezed to fill the region line. This will behave as Width when the text needs to be squeezed, or as Spacing when the text needs to be stretched.

enum Renderer

Enumerates the renderers for text strings. These define the font-handling subsystems Visualize uses to find and render fonts.

Values:

enumerator Default

All font-handling subsystems will be used.

enumerator Driver

Only driver fonts will be used. If a non-driver font is requested, the stroked font will be used instead.

enumerator Truetype

Only TrueType fonts will be used. If a non-TrueType font is requested, the stroked font will be used instead.

enum Rotation

Values:

enumerator None

Characters are not rotated.

enumerator Rotate

Characters are rotated clockwise by a specified angle.

enumerator FollowPath

Characters are rotated such that they will be perpendicular to the text path.

enum SizeToleranceUnits

Enumerates the units for size tolerances.

Values:

enumerator ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

enumerator SubscreenRelative

Fraction of the height of the outermost window.

enumerator WindowRelative

Fraction of the height of the local window.

enumerator WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

enumerator Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

enumerator Pixels

Number of pixels.

enumerator Percent

Percentage of the requested font size defining the lower limit on the smallest font size that can be substituted in the requested’s place.

enum SizeUnits

Enumerates the units for font sizes.

Values:

enumerator ObjectSpace

Object space units ignoring any scaling components in modelling matrices.

enumerator SubscreenRelative

Fraction of the height of the outermost window.

enumerator WindowRelative

Fraction of the height of the local window.

enumerator WorldSpace

Object space units including any scaling components in modelling matrices and cameras.

enumerator Points

Points units typically used for text size. 1 point corresponds to 1/72 inch.

enumerator Pixels

Number of pixels.

enum Transform

Enumerates the transform behaviors for text strings. These define how the entire string will be positioned within 3D space.

Values:

enumerator Transformable

Text will be subject to all modelling and projection matrices, essentially acting as a textured quad. Text paths will be act as transformations in 3D space.

enumerator NonTransformable

Only the text insertion point (see also Text::Alignment) will be subject to modelling and projection matrices. Text will always be drawn in screen space. Text paths will act as transformations in screen space.

enumerator CharacterPositionOnly

Text will be subject to all modelling and projection matrices, however characters will always be drawn in screen space.

enumerator CharacterPositionAdjusted

Equivalent to CharacterPositionOnly, but additionally will draw text upright when it would otherwise appear upside down based on the camera. To get this behavior Text::ReferenceFrame::PathAligned and Text::Rotation::FollowPath must be set, otherwise this will be equivalent to CharacterPositionOnly.

enumerator NonScalingTransformable

Text will be subject to all modelling and projection matrices except for size changes, otherwise acting as a textured quad. Text paths will be act as transformations in 3D space.