#include <hps.h>

Public Member Functions | |
void | Consume (TextKit &in_kit) |
TextKey & | EditTextByDeletion (size_t in_row, size_t in_column, size_t in_count) |
TextKey & | EditTextByInsertion (size_t in_row, size_t in_column, size_t in_count, char const *in_text) |
TextKey & | EditTextByReplacement (size_t in_row, size_t in_column, size_t in_count, char const *in_text) |
HPS::Type | ObjectType () const |
TextKey & | operator= (TextKey const &other) |
TextKey & | operator= (TextKey &&in_that) |
void | Set (TextKit const &in_kit) |
TextKey & | SetAlignment (Text::Alignment in_alignment, Text::ReferenceFrame in_reference_frame=Text::ReferenceFrame::WorldAligned, Text::Justification in_justification=Text::Justification::Left) |
TextKey & | SetBackground (bool in_state, char const *in_name) |
TextKey & | SetBackground (char const *in_name) |
TextKey & | SetBackground (bool in_state) |
TextKey & | SetBackgroundMargins (float in_size, Text::MarginUnits in_units=Text::MarginUnits::Percent) |
TextKey & | SetBackgroundMargins (FloatArray const &in_sizes, TextMarginUnitsArray const &in_units) |
TextKey & | SetBackgroundMargins (size_t in_count, float const in_sizes[], HPS::Text::MarginUnits const in_units[]) |
TextKey & | SetBackgroundStyle (char const *in_name) |
TextKey & | SetBold (bool in_state) |
TextKey & | SetColor (RGBAColor const &in_rgba_color) |
TextKey & | SetColorByIndex (float in_index) |
TextKey & | SetExtraSpace (bool in_state, float in_size=0.0f, Text::SizeUnits in_units=Text::SizeUnits::ObjectSpace) |
TextKey & | SetExtraSpace (float in_size, Text::SizeUnits in_units) |
TextKey & | SetFont (char const *in_name) |
TextKey & | SetGreeking (bool in_state, float in_size=0.0f, Text::GreekingUnits in_units=Text::GreekingUnits::ObjectSpace, Text::GreekingMode in_mode=Text::GreekingMode::Lines) |
TextKey & | SetGreeking (float in_size, Text::GreekingUnits in_units, Text::GreekingMode in_mode=Text::GreekingMode::Lines) |
TextKey & | SetItalic (bool in_state) |
TextKey & | SetLeaderLine (Point const &in_position, Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object) |
TextKey & | SetLeaderLines (PointArray const &in_positions, Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object) |
TextKey & | SetLeaderLines (size_t in_count, Point const in_positions[], Text::LeaderLineSpace in_space=Text::LeaderLineSpace::Object) |
TextKey & | SetLineSpacing (float in_multiplier) |
TextKey & | SetModellingMatrix (MatrixKit const &in_matrix) |
TextKey & | SetOverline (bool in_state) |
TextKey & | SetPath (Vector const &in_path) |
TextKey & | SetPosition (Point const &in_position) |
TextKey & | SetPreference (Text::Preference in_preference) |
TextKey & | SetPreference (float in_cutoff, Text::SizeUnits in_units, Text::Preference in_smaller, Text::Preference in_larger) |
TextKey & | SetRegion (PointArray &in_region, Text::RegionAlignment in_region_alignment, bool in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space) |
TextKey & | SetRegion (size_t in_region_count, Point const in_region[], Text::RegionAlignment in_region_alignment, bool in_region_fitting, bool in_region_adjust_direction, bool in_region_relative_coordinates, bool in_region_window_space) |
TextKey & | SetRenderer (Text::Renderer in_renderer) |
TextKey & | SetRotation (Text::Rotation in_state, float in_angle=0.0f) |
TextKey & | SetRotation (float in_angle) |
TextKey & | SetSize (float in_size, Text::SizeUnits in_units) |
TextKey & | SetSizeTolerance (bool in_state, float in_size=50.0f, Text::SizeToleranceUnits in_units=Text::SizeToleranceUnits::Percent) |
TextKey & | SetSizeTolerance (float in_size, Text::SizeToleranceUnits in_units) |
TextKey & | SetSlant (float in_angle) |
TextKey & | SetSpacing (float in_multiplier) |
TextKey & | SetStrikethrough (bool in_state) |
TextKey & | SetText (char const *in_string) |
TextKey & | SetTextAttribute (TextAttributeKit const &in_kit) |
TextKey & | SetTransform (Text::Transform in_transform) |
TextKey & | SetUnderline (bool in_state) |
void | Show (TextKit &out_kit) const |
bool | ShowAlignment (Text::Alignment &out_alignment, Text::ReferenceFrame &out_reference_frame, Text::Justification &out_justification) const |
bool | ShowBackground (bool &out_state, UTF8 &out_name) const |
bool | ShowBackgroundMargins (FloatArray &out_size, TextMarginUnitsArray &out_units) const |
bool | ShowBackgroundStyle (UTF8 &out_name) const |
bool | ShowBold (bool &out_state) const |
bool | ShowColor (Material::Type &out_type, RGBAColor &out_rgba_color, float &out_index) const |
bool | ShowExtraSpace (bool &out_state, float &out_size, Text::SizeUnits &out_units) const |
bool | ShowFont (UTF8 &out_name) const |
bool | ShowGreeking (bool &out_state, float &out_size, Text::GreekingUnits &out_units, Text::GreekingMode &out_mode) const |
bool | ShowItalic (bool &out_state) const |
bool | ShowLeaderLines (PointArray &out_positions, Text::LeaderLineSpace &out_space) const |
bool | ShowLineSpacing (float &out_multiplier) const |
bool | ShowModellingMatrix (MatrixKit &out_matrix) const |
bool | ShowOverline (bool &out_state) const |
bool | ShowPath (Vector &out_path) const |
bool | ShowPosition (Point &out_position) const |
bool | ShowPreference (float &out_cutoff, Text::SizeUnits &out_units, Text::Preference &out_smaller, Text::Preference &out_larger) const |
bool | ShowRegion (PointArray &out_region, Text::RegionAlignment &out_region_alignment, bool &out_region_fitting, bool &out_region_adjust_direction, bool &out_region_relative_coordinates, bool &out_region_window_space) const |
bool | ShowRenderer (Text::Renderer &out_renderer) const |
bool | ShowRotation (Text::Rotation &out_rot, float &out_angle) const |
bool | ShowSize (float &out_size, Text::SizeUnits &out_units) const |
bool | ShowSizeTolerance (bool &out_state, float &out_size, Text::SizeToleranceUnits &out_units) const |
bool | ShowSlant (float &out_angle) const |
bool | ShowSpacing (float &out_multiplier) const |
bool | ShowStrikethrough (bool &out_state) const |
bool | ShowText (UTF8 &out_string) const |
bool | ShowTextAttribute (TextAttributeKit &out_kit) const |
bool | ShowTransform (Text::Transform &out_trans) const |
bool | ShowUnderline (bool &out_state) const |
TextKey () | |
TextKey (Key const &in_that) | |
TextKey (TextKey const &in_that) | |
TextKey (TextKey &&in_that) | |
TextKey & | UnsetAlignment () |
TextKey & | UnsetBackground () |
TextKey & | UnsetBackgroundMargins () |
TextKey & | UnsetBackgroundStyle () |
TextKey & | UnsetBold () |
TextKey & | UnsetColor () |
TextKey & | UnsetEverything () |
TextKey & | UnsetExtraSpace () |
TextKey & | UnsetFont () |
TextKey & | UnsetGreeking () |
TextKey & | UnsetItalic () |
TextKey & | UnsetLeaderLines () |
TextKey & | UnsetLineSpacing () |
TextKey & | UnsetModellingMatrix () |
TextKey & | UnsetOverline () |
TextKey & | UnsetPath () |
TextKey & | UnsetPreference () |
TextKey & | UnsetRegion () |
TextKey & | UnsetRenderer () |
TextKey & | UnsetRotation () |
TextKey & | UnsetSize () |
TextKey & | UnsetSizeTolerance () |
TextKey & | UnsetSlant () |
TextKey & | UnsetSpacing () |
TextKey & | UnsetStrikethrough () |
TextKey & | UnsetTransform () |
TextKey & | UnsetUnderline () |
![]() | |
GeometryKey () | |
GeometryKey (Key const &in_that) | |
GeometryKey (GeometryKey const &in_that) | |
GeometryKey (GeometryKey &&in_that) | |
GeometryKey & | operator= (GeometryKey const &in_that) |
GeometryKey & | operator= (GeometryKey &&in_that) |
GeometryKey & | SetPriority (int in_priority) |
GeometryKey & | SetUserData (intptr_t in_index, size_t in_bytes, byte const in_data[]) |
GeometryKey & | SetUserData (intptr_t in_index, ByteArray const &in_data) |
GeometryKey & | SetUserData (IntPtrTArray const &in_indices, ByteArrayArray const &in_data) |
bool | ShowBounding (BoundingKit &out_kit) const |
bool | ShowPriority (int &out_priority) const |
size_t | ShowReferrers (SegmentKeyArray &out_segments) const |
size_t | ShowReferrers (ReferenceKeyArray &out_references) const |
bool | ShowUserData (intptr_t in_index, ByteArray &out_data) const |
bool | ShowUserData (IntPtrTArray &out_indices, ByteArrayArray &out_data) const |
size_t | ShowUserDataCount () const |
bool | ShowUserDataIndices (IntPtrTArray &out_indices) const |
GeometryKey & | UnsetAllUserData () |
GeometryKey & | UnsetPriority () |
GeometryKey & | UnsetUserData (intptr_t in_index) |
GeometryKey & | UnsetUserData (size_t in_count, intptr_t const in_indices[]) |
GeometryKey & | UnsetUserData (IntPtrTArray const &in_indices) |
![]() | |
virtual void | Assign (Key const &in_that) |
Key | CopyTo (SegmentKey const &in_destination) const |
void | Delete () |
bool | Equals (Key const &in_that) const |
size_t | GetHash () const |
bool | HasOwner () const |
Key () | |
Key (Key const &in_that) | |
Key (Control const &in_control) | |
Key (Key &&in_that) | |
void | MoveTo (SegmentKey const &in_new_owner) |
bool | operator!= (Key const &in_that) const |
Key & | operator= (Key &&in_that) |
Key & | operator= (Key const &in_that) |
bool | operator== (Key const &in_that) const |
SegmentKey | Owner () const |
SegmentKey | Up () const |
virtual | ~Key () |
![]() | |
virtual bool | Empty () const |
intptr_t | GetClassID () const |
intptr_t | GetInstanceID () const |
bool | HasType (HPS::Type in_mask) const |
Object (Object const &that) | |
Object (Object &&in_that) | |
Object & | operator= (Object const &other_object) |
Object & | operator= (Object &&in_that) |
virtual void | Reset () |
virtual HPS::Type | Type () const |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static intptr_t | ClassID () |
Detailed Description
The TextKey class is a smart pointer to a database object. It is a handle to text inserted via SegmentKey::InsertText.
Constructor & Destructor Documentation
HPS::TextKey::TextKey | ( | ) |
|
explicit |
This constructor creates an TextKey object that shares the underlying smart-pointer of the source Key. The copy will only be successful if the source key is really an upcast of a text key. Otherwise the copy will fail and the resulting TextKey will be invalid.
- Parameters
-
in_key The source Key to copy.
HPS::TextKey::TextKey | ( | TextKey const & | in_that | ) |
HPS::TextKey::TextKey | ( | TextKey && | in_that | ) |
Member Function Documentation
void HPS::TextKey::Consume | ( | TextKit & | in_kit | ) |
TextKey& HPS::TextKey::EditTextByDeletion | ( | size_t | in_row, |
size_t | in_column, | ||
size_t | in_count | ||
) |
Removes characters from the text at the specified offset.
- Parameters
-
in_row The row offset into a multiline text string. This value must be less than the number of lines in the text string. in_column The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row. in_count The number of Unicode code points within the given text string to remove.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::EditTextByInsertion | ( | size_t | in_row, |
size_t | in_column, | ||
size_t | in_count, | ||
char const * | in_text | ||
) |
Adds characters to the text at the specified offset.
- Parameters
-
in_row The row offset into a multiline text string. This value must be less than the number of lines in the text string. in_column The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row. in_count The number of Unicode code points within the given text string to insert into the text. in_text UTF8-encoded text to insert into the text. This must contain at least in_count Unicode code points.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::EditTextByReplacement | ( | size_t | in_row, |
size_t | in_column, | ||
size_t | in_count, | ||
char const * | in_text | ||
) |
Replaces characters from the text at the specified offset.
- Parameters
-
in_row The row offset into a multiline text string. This value must be less than the number of lines in the text string. in_column The column offset in Unicode code points into the specified row in a multiline text string. This value must be less than the number of Unicode code points within the specified row. in_count The number of Unicode code points within the given text string to remove. in_text UTF8-encoded text to perform replacement with. This must contain at least in_count Unicode code points.
- Returns
- A reference to this TextKey.
|
inlinevirtual |
This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.
- Returns
- The declared type of the object in question, which may differ from the true, underlying type.
Reimplemented from HPS::GeometryKey.
void HPS::TextKey::Set | ( | TextKit const & | in_kit | ) |
TextKey& HPS::TextKey::SetAlignment | ( | Text::Alignment | in_alignment, |
Text::ReferenceFrame | in_reference_frame = Text::ReferenceFrame::WorldAligned , |
||
Text::Justification | in_justification = Text::Justification::Left |
||
) |
Sets the alignment for the text. No aligment is set on the text by default.
- Parameters
-
in_alignment The alignment for the text. in_reference_frame The reference frame for the text. Defaults to Text::ReferenceFrame::WorldAligned. in_justification The justification for the text. Defaults to Text::Justification::Left.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetBackground | ( | bool | in_state, |
char const * | in_name | ||
) |
Sets the background to be used with text.
- Parameters
-
in_state Whether a background is drawn for text. in_name The name of a shape definition.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackground | ( | char const * | in_name | ) |
Sets the background to be used with text. The state is implicitly on.
- Parameters
-
in_name The name of a shape definition.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackground | ( | bool | in_state | ) |
Sets the background to be used with text.
- Parameters
-
in_state Whether a background is drawn for text.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackgroundMargins | ( | float | in_size, |
Text::MarginUnits | in_units = Text::MarginUnits::Percent |
||
) |
Sets the amount of additional padding around text strings when backgrounds are used.
- Parameters
-
in_size The size of the margins. in_units The units of the size.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackgroundMargins | ( | FloatArray const & | in_sizes, |
TextMarginUnitsArray const & | in_units | ||
) |
Sets the amount of additional padding around text strings when backgrounds are used. Additional margin values can also be referenced within definitions of background shapes and leader lines.
- Parameters
-
in_sizes The size of the margins. in_units The units of the size.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackgroundMargins | ( | size_t | in_count, |
float const | in_sizes[], | ||
HPS::Text::MarginUnits const | in_units[] | ||
) |
Sets the amount of additional padding around text strings when backgrounds are used. Additional margin values can also be referenced within definitions of background shapes and leader lines.
- Parameters
-
in_count The number of elements in each array. in_sizes The size of the margins. in_units The units of the size.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBackgroundStyle | ( | char const * | in_name | ) |
Allows specifying a named style to be used in the drawing of text backgrounds. If no style is specified, backgrounds inherit the face and edge attributes from the containing segment.
- Parameters
-
in_name The name of a style, defined in a portfolio that is accessible.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetBold | ( | bool | in_state | ) |
Sets whether the text should be bold. For fonts which do not have a bold variant, this setting will be ignored. No bold setting is set on the text by default.
- Parameters
-
in_state Whether the text should be bold.
- Returns
- A reference to this TextKey.
Sets the RGBA color of the text. No color is set on the text by default.
- Parameters
-
in_rgba_color The RGBA color of the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetColorByIndex | ( | float | in_index | ) |
Sets the material index color for the text. No color is set on the text by default.
- Parameters
-
in_index The material index color for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetExtraSpace | ( | bool | in_state, |
float | in_size = 0.0f , |
||
Text::SizeUnits | in_units = Text::SizeUnits::ObjectSpace |
||
) |
Sets the amount of additional space to add between characters in a text string. No extra space is set on the text by default.
- Parameters
-
in_state Whether to add additional space between characters in a text string. in_size The size of the additional space to add between characters. Defaults to 0.0f. in_units The units of the size of the additional space to add between characters. Defaults to Text::SizeUnits::ObjectSpace.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetExtraSpace | ( | float | in_size, |
Text::SizeUnits | in_units | ||
) |
Sets the amount of additional space to add between characters in a text string. This function implicitly enables the addition of extra space. No extra space is set on the text by default.
- Parameters
-
in_size The size of the additional space to add between characters. in_units The units of the size of the additional space to add between characters.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetFont | ( | char const * | in_name | ) |
Sets the font to use for the text. This must either be a builtin font or a font Visualize can locate in the directories specified by World::SetFontDirectories. If the requested font cannot be found, the stroked font will be used. No font is set on the text by default.
- Parameters
-
in_name UTF8-encoded font name to use for the text.
- Returns
- A reference to this TextKey.
- See also
- World::SetFontDirectories
TextKey& HPS::TextKey::SetGreeking | ( | bool | in_state, |
float | in_size = 0.0f , |
||
Text::GreekingUnits | in_units = Text::GreekingUnits::ObjectSpace , |
||
Text::GreekingMode | in_mode = Text::GreekingMode::Lines |
||
) |
Sets the greeking settings to use for the text. No greeking settings are set on the text by default.
- Parameters
-
in_state Whether greeking is enabled for this text. in_size The size below which to draw a simple symbol in place of a character. Defaults to 0.0f. in_units The units of the size below which to draw a simple glyph in place of a character. Defaults to Text::GreekingUnits::ObjectSpace. in_mode The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text::GreekingMode::Lines.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetGreeking | ( | float | in_size, |
Text::GreekingUnits | in_units, | ||
Text::GreekingMode | in_mode = Text::GreekingMode::Lines |
||
) |
Sets the greeking settings to use for the text. This function implicitly enables text greeking. No greeking settings are set on the text by default.
- Parameters
-
in_size The size below which to draw a simple symbol in place of a character. in_units The units of the size below which to draw a simple glyph in place of a character. in_mode The type of symbol to draw for characters which are smaller than the greeking size. Defaults to Text::Gree::Lines.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetItalic | ( | bool | in_state | ) |
Sets whether the text should be italic. For fonts which do not have an italic variant, this setting will be ignored. No italic setting is set on the text by default.
- Parameters
-
in_state Whether the text should be italic.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetLeaderLine | ( | Point const & | in_position, |
Text::LeaderLineSpace | in_space = Text::LeaderLineSpace::Object |
||
) |
Inserts a leader line for this text, with one end specified by in_position and the other end calculated automatically.
- Parameters
-
in_position the target position of the leader line. in_space the coordinate space in which in_position is specified.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetLeaderLines | ( | PointArray const & | in_positions, |
Text::LeaderLineSpace | in_space = Text::LeaderLineSpace::Object |
||
) |
Inserts leader lines for this text.
- Parameters
-
in_positions the target positions of the leader lines. in_space the coordinate space in which in_positions is specified.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetLeaderLines | ( | size_t | in_count, |
Point const | in_positions[], | ||
Text::LeaderLineSpace | in_space = Text::LeaderLineSpace::Object |
||
) |
Inserts leader lines for this text.
- Parameters
-
in_count the size of in_positions. in_positions the target positions of the leader lines. in_space the coordinate space in which in_positions is specified.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::SetLineSpacing | ( | float | in_multiplier | ) |
Sets the line spacing multiplier for the text. This is a multiple of the font size that will be used to determine spacing between lines in multi-line text string. No line spacing is set on the text by default.
- Parameters
-
in_multiplier The line spacing multiplier for the text.
- Returns
- A reference to this TextKey.
Sets the modelling matrix for the text. No modelling matrix is set on the text by default.
- Parameters
-
in_matrix The modelling matrix for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetOverline | ( | bool | in_state | ) |
Sets whether an overline should be drawn over the text. No overline setting is set on the text by default.
- Parameters
-
in_state Whether an overline should be drawn over the text.
- Returns
- A reference to this TextKey.
Repositions the text in object space. The object-space position for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetPreference | ( | Text::Preference | in_preference | ) |
Sets the font type preference for the text. This function implicitly sets the same font type for all text sizes. No preference is set on the text by default.
- Parameters
-
in_preference The font type preference for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetPreference | ( | float | in_cutoff, |
Text::SizeUnits | in_units, | ||
Text::Preference | in_smaller, | ||
Text::Preference | in_larger | ||
) |
Sets the preference for the text. This setting controls which font type is used for the text for "large" and "small" sizes and the cutoff at which this distinction is made. No preference is set on the text by default.
- Parameters
-
in_cutoff The font size below which the smaller preference is used and above which the larger preference is used. in_units The units for the font size below which the smaller preference is used and above which the larger preference is used. in_smaller The font type preference for strings below the cutoff size. in_larger The font type preference for strings above the cutoff size.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetRegion | ( | PointArray & | in_region, |
Text::RegionAlignment | in_region_alignment, | ||
bool | in_region_fitting, | ||
bool | in_region_adjust_direction, | ||
bool | in_region_relative_coordinates, | ||
bool | in_region_window_space | ||
) |
Sets the region for the text. This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.
- Parameters
-
in_region The points defining the region for the text. This array must be of size 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector. in_region_alignment How the text will be positioned relative to the region line. in_region_fitting Whether characters should be streched or overlapping to fit within the end points of the region line. in_region_adjust_direction Whether to draw text such that it is readable regardless of camera location. in_region_relative_coordinates Whether the points defining the region are relative to the insertion point for the text. in_region_window_space Whether the points defining the region are in window space coordinates.
- Returns
- A reference to this TextKey.
- See also
- SetPath
TextKey& HPS::TextKey::SetRegion | ( | size_t | in_region_count, |
Point const | in_region[], | ||
Text::RegionAlignment | in_region_alignment, | ||
bool | in_region_fitting, | ||
bool | in_region_adjust_direction, | ||
bool | in_region_relative_coordinates, | ||
bool | in_region_window_space | ||
) |
Sets the region for the text. This setting forces the text to be rendererd along the vector defined by two object space points. A region additionally allows control over if text should be evenly spaced between those points, or allowed to grow or shrink to avoid stretching or overlapping characters. No region is set on the text by default.
- Parameters
-
in_region_count Size of the following array. This value must be 2 or 3. A two point region defines an implicit up vector which is rotated 90 degrees counter-clockwise from the region line. A three point region uses the first two points as the region line and the third point defines the plane in which a vector perpendicular to the region line will be computed for use as the up vector. in_region The points defining the region for the text. in_region_alignment How the text will be positioned relative to the region line. in_region_fitting Whether characters should be streched or overlapping to fit within the end points of the region line. in_region_adjust_direction Whether to draw text such that it is readable regardless of camera location. in_region_relative_coordinates Whether the points defining the region are relative to the insertion point for the text. in_region_window_space Whether the points defining the region are in window space coordinates.
- Returns
- A reference to this TextKey.
- See also
- SetPath
TextKey& HPS::TextKey::SetRenderer | ( | Text::Renderer | in_renderer | ) |
Sets the renderer for the text. No renderer is set on the text by default.
- Parameters
-
in_renderer The renderer for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetRotation | ( | Text::Rotation | in_state, |
float | in_angle = 0.0f |
||
) |
Sets the angle characters should be rotated within the text string. No rotation is set on the text by default.
- Parameters
-
in_state Whether and how to rotate the characters within the text string. in_angle The angle in degrees to rotate each character within the text string. This is only relevant if in_state is Text::Rotation::Rotate. Defaults to 0.0f.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetRotation | ( | float | in_angle | ) |
Sets the angle characters should be rotated within the text string. This function implicitly sets a rotation state of Text::Rotation::Rotate. No rotation is set on the text by default.
- Parameters
-
in_angle The angle in degrees to rotate each character within the text string.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetSize | ( | float | in_size, |
Text::SizeUnits | in_units | ||
) |
Sets the font size to use for the text. No size is set on the text by default.
- Parameters
-
in_size The size for the text. in_units The units of the size for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetSizeTolerance | ( | bool | in_state, |
float | in_size = 50.0f , |
||
Text::SizeToleranceUnits | in_units = Text::SizeToleranceUnits::Percent |
||
) |
Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. No size tolerance is set on the text by default.
- Parameters
-
in_state Whether a size tolerance is enabled for this text. in_size The size for the tolerance. Defaults to 50.0f. in_units The units of the size for the tolerance. Defaults to Text::SizeToleranceUnits::Percent.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetSizeTolerance | ( | float | in_size, |
Text::SizeToleranceUnits | in_units | ||
) |
Sets the size tolerance settings to use for the text. These settings control how to render text strings which request a size not available for a bitmap font. If a size tolerance is specified and enabled, Visualize will use the nearest smaller size for the bitmap font within the tolerance in place of the requested size. If a size tolerance is not enabled, Visualize will attempt to scale up the nearest bitmap font size to the requested size. This setting has no effect for True Type or Open Type fonts. This function implicitly enables a size tolerance. No size tolerance is set on the text by default.
- Parameters
-
in_size The size for the tolerance. in_units The units of the size for the tolerance.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetSlant | ( | float | in_angle | ) |
Sets the slant angle for the text. This determines how far the characters in the string are sheared to the left (negative angle) or right (positive angle) relative to the perpendicular. No slant angle is set on the text by default.
- Parameters
-
in_angle The angle in degrees to slant the text. This value must be in the range [-75.0f,+75.0f].
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetSpacing | ( | float | in_multiplier | ) |
Sets the spacing multiplier for the text. This setting controls the spacing between adjacent characters within a string. A value of 0.0f would result in all characters being drawn on top of each other, a value of 1.0f would be the standard spacing between characters, a value of 2.0f would insert twice as much space as would normally be between two characters, and so on.
- Parameters
-
in_multiplier The spacing multiplier for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetStrikethrough | ( | bool | in_state | ) |
Sets whether a strikethrough should be drawn through the text. No strikethrough setting is set on the text by default.
- Parameters
-
in_state Whether a strikethrough should be drawn through the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetText | ( | char const * | in_string | ) |
Replaces the contents of the string for the text.
- Parameters
-
in_string UTF8-encoded string for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetTextAttribute | ( | TextAttributeKit const & | in_kit | ) |
TextKey& HPS::TextKey::SetTransform | ( | Text::Transform | in_transform | ) |
Sets the transform state for the text. No transform state is set on the text by default.
- Parameters
-
in_transform The transform state for the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::SetUnderline | ( | bool | in_state | ) |
Sets whether an underline should be drawn under the text. No underline setting is set on the text by default.
- Parameters
-
in_state Whether an underline should be drawn under the text.
- Returns
- A reference to this TextKey.
void HPS::TextKey::Show | ( | TextKit & | out_kit | ) | const |
bool HPS::TextKey::ShowAlignment | ( | Text::Alignment & | out_alignment, |
Text::ReferenceFrame & | out_reference_frame, | ||
Text::Justification & | out_justification | ||
) | const |
Shows the alignment for the text.
- Parameters
-
out_alignment The alignment for the text. out_reference_frame The reference frame for the text. out_justification The justification for the text.
- Returns
- true if an alignment was set, false otherwise.
bool HPS::TextKey::ShowBackground | ( | bool & | out_state, |
UTF8 & | out_name | ||
) | const |
Shows the background to be used with text.
- Parameters
-
out_state Whether a background is drawn for text. out_name The name of a shape definition.
- Returns
- true if a spacing multiplier was set, false otherwise.
bool HPS::TextKey::ShowBackgroundMargins | ( | FloatArray & | out_size, |
TextMarginUnitsArray & | out_units | ||
) | const |
Shows the amount of additional padding around text strings when backgrounds are used.
- Parameters
-
out_size The size of the margins. out_units The units of the sizes.
- Returns
- true if a spacing multiplier was set, false otherwise.
bool HPS::TextKey::ShowBackgroundStyle | ( | UTF8 & | out_name | ) | const |
Shows the named style to be used in the drawing of text backgrounds.
- Parameters
-
out_name The name of a style, defined in a portfolio that is accessible.
- Returns
- true if a spacing multiplier was set, false otherwise.
bool HPS::TextKey::ShowBold | ( | bool & | out_state | ) | const |
Shows whether the text should be bold.
- Parameters
-
out_state Whether the text should be bold.
- Returns
- true if a bold setting was set, false otherwise.
bool HPS::TextKey::ShowColor | ( | Material::Type & | out_type, |
RGBAColor & | out_rgba_color, | ||
float & | out_index | ||
) | const |
Shows the color for the text.
- Parameters
-
out_type The type of color for the text. out_rgba_color The RGBA color for the text. This is only valid if out_type is Material::Type::RGBAColor. out_index The material index for the text. This is only valid if out_type is Material::Type::MaterialIndex.
- Returns
- true if a color was set, false otherwise.
bool HPS::TextKey::ShowExtraSpace | ( | bool & | out_state, |
float & | out_size, | ||
Text::SizeUnits & | out_units | ||
) | const |
Shows the amount of additional space to add between characters in a text string.
- Parameters
-
out_state Whether to add additional space between characters in a text string. out_size The size of the additional space to add between characters. out_units The units of the size of the additional space to add between characters.
- Returns
- true if an extra space setting was set, false otherwise.
bool HPS::TextKey::ShowFont | ( | UTF8 & | out_name | ) | const |
Shows the font to use for the text.
- Parameters
-
out_name UTF8-encoded font name to use for the text.
- Returns
- true if a font was set, false otherwise.
bool HPS::TextKey::ShowGreeking | ( | bool & | out_state, |
float & | out_size, | ||
Text::GreekingUnits & | out_units, | ||
Text::GreekingMode & | out_mode | ||
) | const |
Shows the greeking settings to use for the text.
- Parameters
-
out_state Whether greeking is enabled for this text. out_size The size below which to draw a simple symbol in place of a character. out_units The units of the size below which to draw a simple glyph in place of a character. out_mode The type of symbol to draw for characters which are smaller than the greeking size.
- Returns
- true if greeking settings were set, false otherwise.
bool HPS::TextKey::ShowItalic | ( | bool & | out_state | ) | const |
Shows whether the text should be italic.
- Parameters
-
out_state Whether the text should be italic.
- Returns
- true if an italic setting was set, false otherwise.
bool HPS::TextKey::ShowLeaderLines | ( | PointArray & | out_positions, |
Text::LeaderLineSpace & | out_space | ||
) | const |
Shows the leader lines to be used with text.
- Parameters
-
out_positions the target positions of the leader lines. out_space the coordinate space in which the points in out_positions are specified
- Returns
- true if leader lines were set, false otherwise.
bool HPS::TextKey::ShowLineSpacing | ( | float & | out_multiplier | ) | const |
Shows the line spacing multiplier for the text.
- Parameters
-
out_multiplier The line spacing multiplier for the text.
- Returns
- true if a line space multiplier was set, false otherwise.
bool HPS::TextKey::ShowModellingMatrix | ( | MatrixKit & | out_matrix | ) | const |
Shows the modelling matrix for the text.
- Parameters
-
out_matrix The modelling matrix for the text.
- Returns
- true if a modelling matrix was set, false otherwise.
bool HPS::TextKey::ShowOverline | ( | bool & | out_state | ) | const |
Shows whether an overline should be drawn over the text.
- Parameters
-
out_state Whether an overline should be drawn over the text.
- Returns
- true if an overline setting was set, false otherwise.
bool HPS::TextKey::ShowPath | ( | Vector & | out_path | ) | const |
Shows the path for the text.
- Parameters
-
out_path The path for the text.
- Returns
- true if a path was set, false otherwise.
bool HPS::TextKey::ShowPosition | ( | Point & | out_position | ) | const |
Shows the position for the text.
- Parameters
-
out_position The object-space position for the text.
- Returns
- true if a position was set, false otherwise.
bool HPS::TextKey::ShowPreference | ( | float & | out_cutoff, |
Text::SizeUnits & | out_units, | ||
Text::Preference & | out_smaller, | ||
Text::Preference & | out_larger | ||
) | const |
Shows the preference for the text.
- Parameters
-
out_cutoff The font size below which the smaller preference is used and above which the larger preference is used. out_units The units for the font size below which the smaller preference is used and above which the larger preference is used. out_smaller The font type preference for strings below the cutoff size. out_larger The font type preference for strings above the cutoff size.
- Returns
- true if a preference was set, false otherwise.
bool HPS::TextKey::ShowRegion | ( | PointArray & | out_region, |
Text::RegionAlignment & | out_region_alignment, | ||
bool & | out_region_fitting, | ||
bool & | out_region_adjust_direction, | ||
bool & | out_region_relative_coordinates, | ||
bool & | out_region_window_space | ||
) | const |
Shows the region for the text.
- Parameters
-
out_region The points defining the region for the text. out_region_alignment How the text will be positioned relative to the region line. out_region_fitting Whether characters should be streched or overlapping to fit within the end points of the region line. out_region_adjust_direction Whether to draw text such that it is readable regardless of camera location. out_region_relative_coordinates Whether the points defining the region are relative to the insertion point for the text. out_region_window_space Whether the points defining the region are in window space coordinates.
- Returns
- true if a region was set, false otherwise.
bool HPS::TextKey::ShowRenderer | ( | Text::Renderer & | out_renderer | ) | const |
Shows the renderer for the text.
- Parameters
-
in_renderer The renderer for the text.
- Returns
- true if a renderer was set, false otherwise.
bool HPS::TextKey::ShowRotation | ( | Text::Rotation & | out_rot, |
float & | out_angle | ||
) | const |
Shows the angle characters should be rotated within the text string.
- Parameters
-
out_rot Whether to rotate the characters within the text string, and if so, what the angle should be measured with repect to. out_angle The angle in degrees to rotate each character within the text string.
- Returns
- true if a rotation setting was set, false otherwise.
bool HPS::TextKey::ShowSize | ( | float & | out_size, |
Text::SizeUnits & | out_units | ||
) | const |
Shows the font size to use for the text.
- Parameters
-
out_size The size for the text. out_units The units of the size for the text.
- Returns
- true if a size was set, false otherwise.
bool HPS::TextKey::ShowSizeTolerance | ( | bool & | out_state, |
float & | out_size, | ||
Text::SizeToleranceUnits & | out_units | ||
) | const |
Shows the size tolerance settings to use for the text.
- Parameters
-
out_state Whether a size tolerance is enabled for this text. out_size The size for the tolerance. out_units The units of the size for the tolerance.
- Returns
- true if a size tolerance was set, false otherwise.
bool HPS::TextKey::ShowSlant | ( | float & | out_angle | ) | const |
Shows the slant angle for the text.
- Parameters
-
out_angle The angle in degrees to slant the text.
- Returns
- true if a slang angle was set, false otherwise.
bool HPS::TextKey::ShowSpacing | ( | float & | out_multiplier | ) | const |
Shows the spacing multiplier for the text.
- Parameters
-
out_multiplier The spacing multiplier for the text.
- Returns
- true if a spacing multiplier was set, false otherwise.
bool HPS::TextKey::ShowStrikethrough | ( | bool & | out_state | ) | const |
Shows whether a strikethrough should be drawn through the text.
- Parameters
-
out_state Whether a strikethrough should be drawn through the text.
- Returns
- true if a strikethrough setting was set, false otherwise.
bool HPS::TextKey::ShowText | ( | UTF8 & | out_string | ) | const |
Shows the string for the text.
- Parameters
-
out_string UTF8-encoded string for the text.
- Returns
- true if a text string was set, false otherwise.
bool HPS::TextKey::ShowTextAttribute | ( | TextAttributeKit & | out_kit | ) | const |
bool HPS::TextKey::ShowTransform | ( | Text::Transform & | out_trans | ) | const |
Shows the transform state for the text.
- Parameters
-
out_transform The transform state for the text.
- Returns
- true if a transform state was set, false otherwise.
bool HPS::TextKey::ShowUnderline | ( | bool & | out_state | ) | const |
Shows whether an underline should be drawn under the text.
- Parameters
-
out_state Whether an underline should be drawn under the text.
- Returns
- true if an underline setting was set, false otherwise.
TextKey& HPS::TextKey::UnsetAlignment | ( | ) |
Removes the alignment setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetBackground | ( | ) |
Removes the background setting.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::UnsetBackgroundMargins | ( | ) |
Removes the background margin setting.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::UnsetBackgroundStyle | ( | ) |
Removes the background style setting.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::UnsetBold | ( | ) |
Removes the bold setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetColor | ( | ) |
Removes the color (RGBA or material index) from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetEverything | ( | ) |
TextKey& HPS::TextKey::UnsetExtraSpace | ( | ) |
Removes the extra space setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetFont | ( | ) |
Removes the font setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetGreeking | ( | ) |
Removes the greeking settings from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetItalic | ( | ) |
Removes the italic setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetLeaderLines | ( | ) |
Removes the leader line setting.
- Returns
- A reference to this object.
TextKey& HPS::TextKey::UnsetLineSpacing | ( | ) |
Removes the line spacing setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetModellingMatrix | ( | ) |
Removes the modelling matrix from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetOverline | ( | ) |
Removes the overline setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetPath | ( | ) |
Removes the path from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetPreference | ( | ) |
Removes the font type preference from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetRegion | ( | ) |
Removes the region from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetRenderer | ( | ) |
Removes the renderer setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetRotation | ( | ) |
Removes the rotation setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetSize | ( | ) |
Removes the size setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetSizeTolerance | ( | ) |
Removes the size tolerance setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetSlant | ( | ) |
Removes the slant setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetSpacing | ( | ) |
Removes the spacing setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetStrikethrough | ( | ) |
Removes the strikethrough setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetTransform | ( | ) |
Removes the transform setting from the text.
- Returns
- A reference to this TextKey.
TextKey& HPS::TextKey::UnsetUnderline | ( | ) |
Removes the underline setting from the text.
- Returns
- A reference to this TextKey.
The documentation for this class was generated from the following file:
- include/hps.h