Text

class Text

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

Public Types

enum class Alignment : uint32_t

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 class GreekingMode : uint32_t

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 class GreekingUnits : uint32_t

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 class Justification : uint32_t

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 class LeaderLineSpace : uint32_t

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 class MarginUnits : uint32_t

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 class Preference : uint32_t

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 class ReferenceFrame : uint32_t

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 class RegionAlignment : uint32_t

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 class RegionFitting : uint32_t

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 class Renderer : uint32_t

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 class Rotation : uint32_t

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 class SizeToleranceUnits : uint32_t

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 class SizeUnits : uint32_t

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 class Transform : uint32_t

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.