Murl::Graph::ITextGeometry Interface Referenceabstract

The ITextGeometry graph node interface. More...

#include "murl_graph_i_text_geometry.h"

Inheritance diagram for Murl::Graph::ITextGeometry:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual ITransformGetTransformInterface ()=0
 Get the mutable Graph::ITransform interface. More...
 
virtual const ITransformGetTransformInterface () const =0
 Get the constant Graph::ITransform interface. More...
 
virtual Bool SetNumberOfReservedCharacters (UInt32 numReserved)=0
 Set the number of characters to reserve. More...
 
virtual UInt32 GetNumberOfReservedCharacters () const =0
 Get the number of characters currently reserved. More...
 
virtual Bool SetContainerSize (Real sizeX, Real sizeY)=0
 Set the text node's container size. More...
 
virtual Bool SetContainerSizeX (Real sizeX)=0
 Set the text node's horizontal container size. More...
 
virtual Bool SetContainerSizeY (Real sizeY)=0
 Set the text node's vertical container size. More...
 
virtual Real GetContainerSizeX () const =0
 Get the text node's horizontal container size. More...
 
virtual Real GetContainerSizeY () const =0
 Get the text node's vertical container size. More...
 
virtual Bool SetContainerFittingEnabled (Bool enabled)=0
 Enable/disable container fitting. More...
 
virtual Bool IsContainerFittingEnabled () const =0
 Check if container fitting is enabled. More...
 
virtual Bool SetNumberOfContainerFittingIterations (UInt32 numIterations)=0
 Set the number of iterations to perform for container fitting. More...
 
virtual UInt32 GetNumberOfContainerFittingIterations () const =0
 Get the number of iterations to perform for container fitting. More...
 
virtual Bool SetAlignmentUnit (Real unitX, Real unitY)=0
 Set the text alignment unit. More...
 
virtual Bool SetAlignmentUnitX (Real unitX)=0
 Set the horizontal text alignment unit. More...
 
virtual Bool SetAlignmentUnitY (Real unitY)=0
 Set the vertical text alignment unit. More...
 
virtual Real GetAlignmentUnitX () const =0
 Get the horizontal text alignment unit. More...
 
virtual Real GetAlignmentUnitY () const =0
 Get the vertical text alignment unit. More...
 
virtual Bool SetContainerAlignment (IEnums::AlignmentX alignmentX, IEnums::AlignmentY alignmentY)=0
 Set the container alignment. More...
 
virtual Bool SetContainerAlignmentX (IEnums::AlignmentX alignmentX)=0
 Set the horizontal container alignment. More...
 
virtual Bool SetContainerAlignmentY (IEnums::AlignmentY alignmentY)=0
 Set the vertical container alignment. More...
 
virtual IEnums::AlignmentX GetContainerAlignmentX () const =0
 Get the horizontal container alignment. More...
 
virtual IEnums::AlignmentY GetContainerAlignmentY () const =0
 Get the vertical container alignment. More...
 
virtual Bool SetObjectBoundingMode (IEnums::ObjectBoundingMode modeX, IEnums::ObjectBoundingMode modeY)=0
 Set the object bounding mode. More...
 
virtual Bool SetObjectBoundingModeX (IEnums::ObjectBoundingMode modeX)=0
 Set the horizontal object bounding mode. More...
 
virtual Bool SetObjectBoundingModeY (IEnums::ObjectBoundingMode modeY)=0
 Set the vertical object bounding mode. More...
 
virtual IEnums::ObjectBoundingMode GetObjectBoundingModeX () const =0
 Get the horizontal object bounding mode. More...
 
virtual IEnums::ObjectBoundingMode GetObjectBoundingModeY () const =0
 Get the vertical object bounding mode. More...
 
virtual Bool SetBorder (Real borderX, Real borderY)=0
 Set the horizontal and vertical borders used for alignment. More...
 
virtual Bool SetBorderX (Real borderX)=0
 Set the horizontal border used for alignment. More...
 
virtual Bool SetBorderY (Real borderY)=0
 Set the vertical border used for alignment. More...
 
virtual Real GetBorderX () const =0
 Get the horizontal border used for alignment. More...
 
virtual Real GetBorderY () const =0
 Get the vertical border used for alignment. More...
 
virtual Bool SetOffset (Real offsetX, Real offsetY)=0
 Set horizontal and vertical offsets used for outline rendering. More...
 
virtual Bool SetOffsetX (Real offsetX)=0
 Set the horizontal offset used for outline rendering. More...
 
virtual Bool SetOffsetY (Real offsetY)=0
 Set the vertical offset used for outline rendering. More...
 
virtual Real GetOffsetX () const =0
 Get the horizontal offset used for outline rendering. More...
 
virtual Real GetOffsetY () const =0
 Get the vertical offset used for outline rendering. More...
 
virtual Bool SetPixelFormat (IEnums::PixelFormat pixelFormat)=0
 Set the underlying texture's actual pixel format for outline fonts. More...
 
virtual IEnums::PixelFormat GetPixelFormat () const =0
 Get the underlying texture's actual pixel format. More...
 
virtual Bool IsCharacterPrintable (const Char *utf8Char) const =0
 Check if a given UTF8 character sequence is printable. More...
 
virtual Bool IsCharacterPrintable (const String &utf8Char) const =0
 Check if a given UTF8 character sequence is printable. More...
 
virtual Bool SetPrescalingEnabled (Bool enabled)=0
 Enable/disable prescaling if the text geometry is rendering to a texture. More...
 
virtual Bool IsPrescalingEnabled () const =0
 Check if prescaling is enabled. More...
 
virtual Bool SetNonPowerOfTwoTextureAllowed (Bool allowed)=0
 Allow/disallow the use of a NPOT texture if outline fonts are used. More...
 
virtual Bool IsNonPowerOfTwoTextureAllowed () const =0
 Check if the use of a NPOT texture for outline fonts is allowed. More...
 
- Public Member Functions inherited from Murl::Graph::IDrawable
virtual Bool SetVerticesSlot (SInt32 slot)=0
 Set the vertices slot used for rendering. More...
 
virtual SInt32 GetVerticesSlot () const =0
 Get the vertices slot used for rendering. More...
 
virtual Bool SetMaterialSlot (SInt32 slot)=0
 Set the material slot used for rendering. More...
 
virtual SInt32 GetMaterialSlot () const =0
 Get the material slot used for rendering. More...
 
virtual Bool SetParametersSlot (SInt32 slot)=0
 Set the parameters slot used for rendering. More...
 
virtual SInt32 GetParametersSlot () const =0
 Get the parameters slot used for rendering. More...
 
virtual Bool SetTextureSlot (UInt32 unit, SInt32 slot)=0
 Set a texture slot used for rendering. More...
 
virtual SInt32 GetTextureSlot (UInt32 unit) const =0
 Get a texture slot used for rendering. More...
 
virtual Bool SetVerticesSlotOffset (SInt32 slot)=0
 Set the vertices slot offset used for rendering. More...
 
virtual SInt32 GetVerticesSlotOffset () const =0
 Get the vertices slot offset used for rendering. More...
 
virtual Bool SetMaterialSlotOffset (SInt32 slot)=0
 Set the material slot offset used for rendering. More...
 
virtual SInt32 GetMaterialSlotOffset () const =0
 Get the material slot offset used for rendering. More...
 
virtual Bool SetParametersSlotOffset (SInt32 slot)=0
 Set the parameters slot offset used for rendering. More...
 
virtual SInt32 GetParametersSlotOffset () const =0
 Get the parameters slot offset used for rendering. More...
 
virtual Bool SetTextureSlotOffset (UInt32 unit, SInt32 slot)=0
 Set a texture slot offset used for rendering. More...
 
virtual SInt32 GetTextureSlotOffset (UInt32 unit) const =0
 Get a texture slot offset used for rendering. More...
 
virtual Bool SetBufferAccessMode (IEnums::BufferAccessMode mode)=0
 Set the buffer access mode. More...
 
virtual IEnums::BufferAccessMode GetBufferAccessMode () const =0
 Get the buffer access mode. More...
 
virtual Bool SetPrimitiveType (IEnums::PrimitiveType type)=0
 Set the primitive type used for rendering. More...
 
virtual IEnums::PrimitiveType GetPrimitiveType () const =0
 Get the primitive type used for rendering. More...
 
virtual Bool SetMaxNumberOfLightStages (UInt32 maxNumStages)=0
 Set the maximum number of light stages used for rendering. More...
 
virtual UInt32 GetMaxNumberOfLightStages () const =0
 Get the maximum number of light stages used for rendering. More...
 
virtual Bool SetMaxNumberOfBonesPerVertex (UInt32 maxNumBones)=0
 Set the maximum number of bones per vertex for vertex skinning. More...
 
virtual UInt32 GetMaxNumberOfBonesPerVertex () const =0
 Get the maximum number of bones per vertex for vertex skinning. More...
 
virtual Bool SetViewCullingEnabled (Bool enabled)=0
 Enable/disable view culling. More...
 
virtual Bool IsViewCullingEnabled () const =0
 Check if view culling is enabled. More...
 
virtual Bool SetDynamicBatchingAllowed (Bool allowed)=0
 Allow/disallow dynamic batching. More...
 
virtual Bool IsDynamicBatchingAllowed () const =0
 Check if dynamic batching is allowed. More...
 
virtual Bool SetClippingAllowed (Bool allowed)=0
 Allow/disallow clipping. More...
 
virtual Bool IsClippingAllowed () const =0
 Check if clipping is allowed. More...
 
virtual Bool SetCpuSkinningEnabled (Bool enabled)=0
 Enable/disable CPU vertex skinning. More...
 
virtual Bool IsCpuSkinningEnabled () const =0
 Check if CPU vertex skinning is enabled. More...
 
- Public Member Functions inherited from Murl::Graph::IText
virtual IFontResourceTargetGetFontResourceTarget ()=0
 Get a mutable Graph::IFontResourceTarget container. More...
 
virtual const IFontResourceTargetGetFontResourceTarget () const =0
 Get a constant Graph::IFontResourceTarget container. More...
 
virtual ITextStyleNodeTargetGetTextStyleNodeTarget ()=0
 Get the optional mutable Graph::ITextStyleNodeTarget container. More...
 
virtual const ITextStyleNodeTargetGetTextStyleNodeTarget () const =0
 Get the optional constant Graph::ITextStyleNodeTarget container. More...
 
virtual Bool SetSystemFontName (const String &fontName)=0
 Set the ID of the system font used to render the text. More...
 
virtual const StringGetSystemFontName () const =0
 Get the ID of the system font used to render the text. More...
 
virtual Bool SetFontType (IEnums::FontType fontType)=0
 Set the type of font used for rendering. More...
 
virtual IEnums::FontType GetFontType () const =0
 Get the type of font used for rendering. More...
 
virtual Bool SetFontSize (Real fontSize)=0
 Set the font size. More...
 
virtual Real GetFontSize () const =0
 Get the font size. More...
 
virtual Bool SetTextColor (const Color &textColor)=0
 Set the foreground (text) color used for rendering the text. More...
 
virtual const ColorGetTextColor () const =0
 Get the text color. More...
 
virtual Bool SetBackgroundColor (const Color &backgroundColor)=0
 Set the background color used for rendering. More...
 
virtual const ColorGetBackgroundColor () const =0
 Get the background color. More...
 
virtual ITextNodeTargetGetParentTextNodeTarget ()=0
 Get the optional mutable Graph::ITextNodeTarget parent container. More...
 
virtual const ITextNodeTargetGetParentTextNodeTarget () const =0
 Get the optional constant Graph::ITextNodeTarget parent container. More...
 
virtual ITextureNodeTargetGetOutputTextureNodeTarget ()=0
 Get the optional mutable output Graph::ITextureNodeTarget container. More...
 
virtual const ITextureNodeTargetGetOutputTextureNodeTarget () const =0
 Get the optional constant output Graph::ITextureNodeTarget container. More...
 
virtual ITextResourceTargetGetTextResourceTarget ()=0
 Get a mutable Graph::ITextResourceTarget container. More...
 
virtual const ITextResourceTargetGetTextResourceTarget () const =0
 Get a constant Graph::ITextResourceTarget container. More...
 
virtual Bool SetText (const String &text)=0
 Set the text to be displayed. More...
 
virtual const StringGetText () const =0
 Get the displayed text. More...
 
virtual Bool SetTextHintEnabled (IEnums::TextHint hint, Bool enabled)=0
 Enable/disable a given text hint. More...
 
virtual Bool IsTextHintEnabled (IEnums::TextHint hint) const =0
 Check if a given trigger condition is enabled. More...
 
virtual Bool SetSpacing (Real spacing)=0
 Set the character spacing value. More...
 
virtual Real GetSpacing () const =0
 Get the character spacing value. More...
 
virtual Bool SetLeading (Real leading)=0
 Set the leading value. More...
 
virtual Real GetLeading () const =0
 Get the leading value. More...
 
virtual Bool SetEmbolding (Real strength)=0
 Set the embolding strength value. More...
 
virtual Real GetEmbolding () const =0
 Get the embolding strength value. More...
 
virtual Bool SetBlur (Real strength)=0
 Set the blur strength value. More...
 
virtual Real GetBlur () const =0
 Get the blur strength value. More...
 
virtual Bool SetSpaceWidthFactor (Real factor)=0
 Set the space width factor. More...
 
virtual Real GetSpaceWidthFactor () const =0
 Get the space width factor. More...
 
virtual Bool SetDigitWidthFactor (Real factor)=0
 Set the digit width factor. More...
 
virtual Real GetDigitWidthFactor () const =0
 Get the digit width factor. More...
 
virtual Bool SetSameDigitWidthEnabled (Bool enabled)=0
 Enable/disable unified digit width. More...
 
virtual Bool IsSameDigitWidthEnabled () const =0
 Check if unified digit width is enabled. More...
 
virtual Bool SetWordWrappingEnabled (Bool enabled)=0
 Enable/disable word wrapping. More...
 
virtual Bool IsWordWrappingEnabled () const =0
 Check if word wrapping is enabled. More...
 
virtual Bool SetTextAlignmentX (IEnums::TextAlignmentX alignment)=0
 Set the horizontal text alignment. More...
 
virtual IEnums::TextAlignmentX GetTextAlignmentX () const =0
 Get the horizontal text alignment. More...
 
virtual Bool SetTextAlignmentY (IEnums::TextAlignmentY alignment)=0
 Set the vertical text alignment. More...
 
virtual IEnums::TextAlignmentY GetTextAlignmentY () const =0
 Get the vertical text alignment. More...
 
virtual Bool QueryTextSize (const String &text, Real &sizeX, Real &sizeY) const =0
 Query the dimensions of a given UTF8 text. More...
 
- Public Member Functions inherited from Murl::Graph::IScalable
virtual Bool SetScaleFactor (const Vector &scaleFactor)=0
 Set individual scaling factors for the X, Y and Z axes. More...
 
virtual Bool SetScaleFactor (Real x, Real y, Real z)=0
 Set individual scaling factors for the X, Y and Z axes. More...
 
virtual Bool SetScaleFactor (Real s)=0
 Set a uniform scaling factor for all three axes. More...
 
virtual Bool SetScaleFactorX (Real x)=0
 Set the scaling factor for the X axis only. More...
 
virtual Bool SetScaleFactorY (Real y)=0
 Set the scaling factor for the Y axis only. More...
 
virtual Bool SetScaleFactorZ (Real z)=0
 Set the scaling factor for the Z axis only. More...
 
virtual const VectorGetScaleFactor () const =0
 Get the scaling factors for the X, Y and Z axes. More...
 
virtual Real GetScaleFactorX () const =0
 Get the scaling factor for the X axis. More...
 
virtual Real GetScaleFactorY () const =0
 Get the scaling factor for the Y axis. More...
 
virtual Real GetScaleFactorZ () const =0
 Get the scaling factor for the Z axis. More...
 

Detailed Description

The ITextGeometry graph node interface.

This interface represents a renderable text object, which makes use of either a read-only Resource::IFont object representing a collection of individual glyph positions in a corresponding font atlas bitmap image, or a system font with a given ID.

To correctly display any given text using a bitmap font, the following prerequisites must be met:

  • The ITextGeometry node must reference a given Resource::IFont object containing bitmap glyph rectangles.
  • There must be an active material used for rendering the font at the material state slot with given index ("materialSlot" attribute, see Graph::IDrawable::SetMaterialSlot()).
  • There must be an active texture containing the actual bitmap glyphs corresponding to the Resource::IFont used, at the texture state slot given via the "textureSlots" attribute or the Graph::IDrawable::SetTextureSlot() method. The texture state unit depends on the actual program used for the material.

To display a given text using an embedded outline font, the following settings are needed:

  • The ITextGeometry node must reference a given Resource::IFont object containig valid outlines
  • The "fontSize" attribute must specify a non-zero positive font size.

To display a given text using a system font, the following settings are needed:

  • The "systemFontName" attribute must be set to a valid system font ID, e.g. "SansRegular"
  • The "fontSize" attribute must specify a non-zero positive font size.

Use the Graph::IText base interface to access common text properties, such as spacing or leading, or the actual text to be shown.

Use the Graph::IScalable base interface to set an overall scaling factor for the object, i.e. define its actual size.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::ITextGeometry::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::ITextGeometry::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ GetTransformInterface() [1/2]

virtual ITransform* Murl::Graph::ITextGeometry::GetTransformInterface ( )
pure virtual

Get the mutable Graph::ITransform interface.

This method returns a mutable pointer to the node's Graph::ITransform interface, to be able to query or modify the node's transformation matrix and depth order.

Returns
The mutable Graph::ITransform interface, or null if not available

◆ GetTransformInterface() [2/2]

virtual const ITransform* Murl::Graph::ITextGeometry::GetTransformInterface ( ) const
pure virtual

Get the constant Graph::ITransform interface.

This method returns a constant pointer to the node's Graph::ITransform interface, to be able to query the node's transformation matrix and depth order.

Returns
The constant Graph::ITransform interface, or null if not available

◆ SetNumberOfReservedCharacters()

virtual Bool Murl::Graph::ITextGeometry::SetNumberOfReservedCharacters ( UInt32  numReserved)
pure virtual

Set the number of characters to reserve.

If the given value is 0, the text object always dynamically expands its underlying buffer to hold the number of characters needed for correctly displaying any given text. If the value is higher than 0, only that number of entries are allocated in the buffers; any text with a length beyond that number will be truncated.

Parameters
numReservedThe number of characters to reserve.
Returns
true if successful.

◆ GetNumberOfReservedCharacters()

virtual UInt32 Murl::Graph::ITextGeometry::GetNumberOfReservedCharacters ( ) const
pure virtual

Get the number of characters currently reserved.

Returns
The number of characters.

◆ SetContainerSize()

virtual Bool Murl::Graph::ITextGeometry::SetContainerSize ( Real  sizeX,
Real  sizeY 
)
pure virtual

Set the text node's container size.

When text alignment other than IEnums::TEXT_ALIGNMENT_X_CENTER is desired (set via Graph::IText::SetTextAlignmentX and Graph::IText::SetTextAlignmentY) or word wrapping should be performed, it is necessary to specify an explicit container size, so that the text can be laid out correctly. Note that the container size only determines how the text is aligned within that container; use SetContainerAlignmentX() and SetContainerAlignmentY() to control alignment of the container itself.
If any of the given size values are 0, the respective container dimension is automatically calculated from the actual dimension of the text to render, which is the reason why in this case all types of text alignment appear to be centered.
When using bitmap fonts, the container size only affects the size of the resulting geometry. For other font types, which also create a texture object to render to, this also affects the actual dimension of the underlying texture.

Parameters
sizeXThe horizontal size of the text container.
sizeYThe vertical size of the text container.
Returns
true if successful.

◆ SetContainerSizeX()

virtual Bool Murl::Graph::ITextGeometry::SetContainerSizeX ( Real  sizeX)
pure virtual

Set the text node's horizontal container size.

See SetContainerSize().

Parameters
sizeXThe horizontal size of the text container.
Returns
true if successful.

◆ SetContainerSizeY()

virtual Bool Murl::Graph::ITextGeometry::SetContainerSizeY ( Real  sizeY)
pure virtual

Set the text node's vertical container size.

See SetContainerSize().

Parameters
sizeYThe vertical size of the text container.
Returns
true if successful.

◆ GetContainerSizeX()

virtual Real Murl::Graph::ITextGeometry::GetContainerSizeX ( ) const
pure virtual

Get the text node's horizontal container size.

Returns
The horizontal size of the text container.

◆ GetContainerSizeY()

virtual Real Murl::Graph::ITextGeometry::GetContainerSizeY ( ) const
pure virtual

Get the text node's vertical container size.

Returns
The vertical size of the text container.

◆ SetContainerFittingEnabled()

virtual Bool Murl::Graph::ITextGeometry::SetContainerFittingEnabled ( Bool  enabled)
pure virtual

Enable/disable container fitting.

If enabled, the given text is automatically downscaled when it does not fit into the optional container rectangle given via SetContainerSize().

Parameters
enabledIf true, autofitting is enabled.
Returns
true if successful.

◆ IsContainerFittingEnabled()

virtual Bool Murl::Graph::ITextGeometry::IsContainerFittingEnabled ( ) const
pure virtual

Check if container fitting is enabled.

Returns
true if container fitting is enabled.

◆ SetNumberOfContainerFittingIterations()

virtual Bool Murl::Graph::ITextGeometry::SetNumberOfContainerFittingIterations ( UInt32  numIterations)
pure virtual

Set the number of iterations to perform for container fitting.

By default, the number of iterations is 0, which always shrinks the text in X direction when it does not fit in Y direction. Setting iterations to a higher count tries to fill the container in both directions, with a possible better effect for higher counts. This method has no effect when container fitting is disabled.

Parameters
numIterationsThe number of iterations
Returns
true if successful.

◆ GetNumberOfContainerFittingIterations()

virtual UInt32 Murl::Graph::ITextGeometry::GetNumberOfContainerFittingIterations ( ) const
pure virtual

Get the number of iterations to perform for container fitting.

Returns
The number of iterations

◆ SetAlignmentUnit()

virtual Bool Murl::Graph::ITextGeometry::SetAlignmentUnit ( Real  unitX,
Real  unitY 
)
pure virtual

Set the text alignment unit.

For the sake of rendering quality, it is often desired to render text using a bitmap font at exact pixel coordinates, so that no blurring occurs due to hardware filtering. For this reason, it is possible to specify both a horizontal and vertical alignment unit, which ensures that all characters are only positioned at locations that are equally dividable by the given unit values. For this to work however, the virtual coordinate system of the camera used to render the text must also be grid-aligned, as the text alignment algorithm only acts on virtual coordinates and not on pixel coordinates!

Parameters
unitXThe horizontal alignment unit.
unitYThe vertical alignment unit.
Returns
true if successful.

◆ SetAlignmentUnitX()

virtual Bool Murl::Graph::ITextGeometry::SetAlignmentUnitX ( Real  unitX)
pure virtual

Set the horizontal text alignment unit.

See SetAlignmentUnit().

Parameters
unitXThe horizontal alignment unit.
Returns
true if successful.

◆ SetAlignmentUnitY()

virtual Bool Murl::Graph::ITextGeometry::SetAlignmentUnitY ( Real  unitY)
pure virtual

Set the vertical text alignment unit.

See SetAlignmentUnit().

Parameters
unitYThe vertical alignment unit.
Returns
true if successful.

◆ GetAlignmentUnitX()

virtual Real Murl::Graph::ITextGeometry::GetAlignmentUnitX ( ) const
pure virtual

Get the horizontal text alignment unit.

Returns
The horizontal alignment unit.

◆ GetAlignmentUnitY()

virtual Real Murl::Graph::ITextGeometry::GetAlignmentUnitY ( ) const
pure virtual

Get the vertical text alignment unit.

Returns
The vertical alignment unit.

◆ SetContainerAlignment()

virtual Bool Murl::Graph::ITextGeometry::SetContainerAlignment ( IEnums::AlignmentX  alignmentX,
IEnums::AlignmentY  alignmentY 
)
pure virtual

Set the container alignment.

The given alignment values specify how the text container is actually positioned with respect to the node's world position.

Parameters
alignmentXThe horizontal container alignment.
alignmentYThe vertical container alignment.
Returns
true if successful.

◆ SetContainerAlignmentX()

virtual Bool Murl::Graph::ITextGeometry::SetContainerAlignmentX ( IEnums::AlignmentX  alignmentX)
pure virtual

Set the horizontal container alignment.

See SetContainerAlignment().

Parameters
alignmentXThe horizontal container alignment.
Returns
true if successful.

◆ SetContainerAlignmentY()

virtual Bool Murl::Graph::ITextGeometry::SetContainerAlignmentY ( IEnums::AlignmentY  alignmentY)
pure virtual

Set the vertical container alignment.

See SetContainerAlignment().

Parameters
alignmentYThe vertical container alignment.
Returns
true if successful.

◆ GetContainerAlignmentX()

virtual IEnums::AlignmentX Murl::Graph::ITextGeometry::GetContainerAlignmentX ( ) const
pure virtual

Get the horizontal container alignment.

Returns
The horizontal container alignment.

◆ GetContainerAlignmentY()

virtual IEnums::AlignmentY Murl::Graph::ITextGeometry::GetContainerAlignmentY ( ) const
pure virtual

Get the vertical container alignment.

Returns
The vertical container alignment.

◆ SetObjectBoundingMode()

virtual Bool Murl::Graph::ITextGeometry::SetObjectBoundingMode ( IEnums::ObjectBoundingMode  modeX,
IEnums::ObjectBoundingMode  modeY 
)
pure virtual

Set the object bounding mode.

The given values specify how the geometry's bounding volume is calculated, mainly used for automatic alignment via Graph::IAligner nodes. A value of IEnums::OBJECT_BOUNDING_MODE_CONTAINER uses the given container size along the respective axis, and a value of IEnums::OBJECT_BOUNDING_MODE_CONTENTS uses the actual text size. If no explicit container size is given, the actual text size is used for the container size.

Parameters
modeXThe horizontal bounding mode.
modeYThe vertical bounding mode.
Returns
true if successful.

◆ SetObjectBoundingModeX()

virtual Bool Murl::Graph::ITextGeometry::SetObjectBoundingModeX ( IEnums::ObjectBoundingMode  modeX)
pure virtual

Set the horizontal object bounding mode.

See SetObjectBoundingMode().

Parameters
modeXThe horizontal bounding mode.
Returns
true if successful.

◆ SetObjectBoundingModeY()

virtual Bool Murl::Graph::ITextGeometry::SetObjectBoundingModeY ( IEnums::ObjectBoundingMode  modeY)
pure virtual

Set the vertical object bounding mode.

See SetObjectBoundingMode().

Parameters
modeYThe vertical bounding mode.
Returns
true if successful.

◆ GetObjectBoundingModeX()

virtual IEnums::ObjectBoundingMode Murl::Graph::ITextGeometry::GetObjectBoundingModeX ( ) const
pure virtual

Get the horizontal object bounding mode.

Returns
The horizontal object bounding mode.

◆ GetObjectBoundingModeY()

virtual IEnums::ObjectBoundingMode Murl::Graph::ITextGeometry::GetObjectBoundingModeY ( ) const
pure virtual

Get the vertical object bounding mode.

Returns
The vertical object bounding mode.

◆ SetBorder()

virtual Bool Murl::Graph::ITextGeometry::SetBorder ( Real  borderX,
Real  borderY 
)
pure virtual

Set the horizontal and vertical borders used for alignment.

Parameters
borderXThe horizontal border.
borderYThe vertical border.
Returns
true if successful.

◆ SetBorderX()

virtual Bool Murl::Graph::ITextGeometry::SetBorderX ( Real  borderX)
pure virtual

Set the horizontal border used for alignment.

Parameters
borderXThe horizontal border.
Returns
true if successful.

◆ SetBorderY()

virtual Bool Murl::Graph::ITextGeometry::SetBorderY ( Real  borderY)
pure virtual

Set the vertical border used for alignment.

Parameters
borderYThe vertical border.
Returns
true if successful.

◆ GetBorderX()

virtual Real Murl::Graph::ITextGeometry::GetBorderX ( ) const
pure virtual

Get the horizontal border used for alignment.

Returns
The horizontal border.

◆ GetBorderY()

virtual Real Murl::Graph::ITextGeometry::GetBorderY ( ) const
pure virtual

Get the vertical border used for alignment.

Returns
The vertical border.

◆ SetOffset()

virtual Bool Murl::Graph::ITextGeometry::SetOffset ( Real  offsetX,
Real  offsetY 
)
pure virtual

Set horizontal and vertical offsets used for outline rendering.

Parameters
offsetXThe horizontal offset.
offsetYThe vertical offset.
Returns
true if successful.

◆ SetOffsetX()

virtual Bool Murl::Graph::ITextGeometry::SetOffsetX ( Real  offsetX)
pure virtual

Set the horizontal offset used for outline rendering.

Parameters
offsetXThe horizontal offset.
Returns
true if successful.

◆ SetOffsetY()

virtual Bool Murl::Graph::ITextGeometry::SetOffsetY ( Real  offsetY)
pure virtual

Set the vertical offset used for outline rendering.

Parameters
offsetYThe vertical offset.
Returns
true if successful.

◆ GetOffsetX()

virtual Real Murl::Graph::ITextGeometry::GetOffsetX ( ) const
pure virtual

Get the horizontal offset used for outline rendering.

Returns
The horizontal offset.

◆ GetOffsetY()

virtual Real Murl::Graph::ITextGeometry::GetOffsetY ( ) const
pure virtual

Get the vertical offset used for outline rendering.

Returns
The vertical offset.

◆ SetPixelFormat()

virtual Bool Murl::Graph::ITextGeometry::SetPixelFormat ( IEnums::PixelFormat  pixelFormat)
pure virtual

Set the underlying texture's actual pixel format for outline fonts.

Parameters
pixelFormatThe pixel format to use.
Returns
true if successful.

◆ GetPixelFormat()

virtual IEnums::PixelFormat Murl::Graph::ITextGeometry::GetPixelFormat ( ) const
pure virtual

Get the underlying texture's actual pixel format.

Returns
The texture's pixel format.

◆ IsCharacterPrintable() [1/2]

virtual Bool Murl::Graph::ITextGeometry::IsCharacterPrintable ( const Char utf8Char) const
pure virtual

Check if a given UTF8 character sequence is printable.

Parameters
utf8CharA C-String containing the UTF8 character sequence to check.
Returns
true if the UTF8 character is printable.

◆ IsCharacterPrintable() [2/2]

virtual Bool Murl::Graph::ITextGeometry::IsCharacterPrintable ( const String utf8Char) const
pure virtual

Check if a given UTF8 character sequence is printable.

Parameters
utf8CharA String containing the UTF8 character sequence to check.
Returns
true if the UTF8 character is printable.

◆ SetPrescalingEnabled()

virtual Bool Murl::Graph::ITextGeometry::SetPrescalingEnabled ( Bool  enabled)
pure virtual

Enable/disable prescaling if the text geometry is rendering to a texture.

See Graph::ITexture::SetPrescalingEnabled().

Parameters
enabledIf true, prescaling is enabled.
Returns
true if successful.

◆ IsPrescalingEnabled()

virtual Bool Murl::Graph::ITextGeometry::IsPrescalingEnabled ( ) const
pure virtual

Check if prescaling is enabled.

Returns
true if enabled.

◆ SetNonPowerOfTwoTextureAllowed()

virtual Bool Murl::Graph::ITextGeometry::SetNonPowerOfTwoTextureAllowed ( Bool  allowed)
pure virtual

Allow/disallow the use of a NPOT texture if outline fonts are used.

Parameters
allowedIf true, NPOT textures are allowed.
Returns
true if successful.

◆ IsNonPowerOfTwoTextureAllowed()

virtual Bool Murl::Graph::ITextGeometry::IsNonPowerOfTwoTextureAllowed ( ) const
pure virtual

Check if the use of a NPOT texture for outline fonts is allowed.

Returns
true if NPOT textures are allowed.

The documentation for this interface was generated from the following file:
  • murl_graph_i_text_geometry.h


Copyright © 2011-2024 Spraylight GmbH.