| GL Studio C++ Runtime API

Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
GlsCTLTextBox Class Reference

The Gls CTL (Complex Text Layout) Text Box. More...

`#include <gls_ctl_text_box.h>`

Inheritance diagram for GlsCTLTextBox:

## Classes
struct | GlyphMetrics

## Public Types
enum | VerticalAlignment_t { ALIGN_CENTER , ALIGN_TOP , ALIGN_BOTTOM }
enum | VerticalAlignmentCTL_t { VERTICAL_ALIGNMENT_CENTER = ALIGN_CENTER , VERTICAL_ALIGNMENT_TOP = ALIGN_TOP , VERTICAL_ALIGNMENT_BOTTOM = ALIGN_BOTTOM }
enum | EllipsizeMode_t { ELLIPSIZE_MODE_NONE , ELLIPSIZE_MODE_START , ELLIPSIZE_MODE_MIDDLE , ELLIPSIZE_MODE_END }
enum | TextDirection_t { TEXT_DIRECTION_LTR , TEXT_DIRECTION_RTL , TEXT_DIRECTION_AUTOMATIC , TEXT_DIRECTION_AUTO_BY_LINE }
enum | ResizeMode_t { RESIZE_MODE_FIXED , RESIZE_MODE_AUTO_WIDTH , RESIZE_MODE_AUTO_HEIGHT }
| The resize behavior types.
typedef GlsText | _BaseClass
| Deprecated typedef for the base class.
typedef GlsText | BaseClass
| Typedef for the base class.
Public Types inherited from GlsText
enum | { NUM_VERTICES = 4 }
enum | Justify_t { LEFT , CENTER , RIGHT }
| Different text justifications.
typedef GLPolygon | _BaseClass
| Deprecated typedef for the base class.
typedef GLPolygon | BaseClass
| Typedef for the base class.
typedef GlsFontBase::Char_t | Char_t
| Typedef shorthand for GlsFontBase::Char_t.
Public Types inherited from GLPolygon
typedef DisplayObject | _BaseClass
| Deprecated typedef for the base class.
typedef DisplayObject | BaseClass
| Typedef for the base class.
Public Types inherited from DisplayObject
enum | AvailableAttributesEnum { GLS_ATTRIBUTES_BASIC = 1 , GLS_ATTRIBUTES_DYNAMIC = 2 , GLS_ATTRIBUTES_APPEARANCE = 4 , GLS_ATTRIBUTES_GEOMETRY = 8 , GLS_ATTRIBUTES_SPECIALIZED = 16 , GLS_ATTRIBUTES_ALL = ~0 , GLS_ATTRIBUTES_NONE = 0 }

## Public Member Functions
| GlsCTLTextBox ()
| GlsCTLTextBox (const GlsCTLTextBox &that, const bool generateNames)
virtual | ~GlsCTLTextBox ()
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | CloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void | CopyGeometry (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void | Draw () DISTI_METHOD_OVERRIDE
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices) DISTI_METHOD_OVERRIDE
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
virtual void | VaString (const char *format,...)
virtual void | VerticalAlignment (VerticalAlignment_t verticalAlignment)
virtual void | VerticalAlignment (VerticalAlignmentCTL_t verticalAlignment)
virtual VerticalAlignment_t | VerticalAlignment ()
virtual void | Rebuild ()
virtual EllipsizeMode_t | EllipsizeMode ()
virtual void | EllipsizeMode (const EllipsizeMode_t ellipsizeMode)
virtual unsigned int | GetLineCount ()
virtual unsigned int | GetGlyphCount ()
virtual GlyphMetrics | GetGlyphMetrics (const unsigned int glyphIndex)
virtual void | SetLayoutAutoDir (bool autoDir)
virtual void | SetAltWidth (float width)
virtual void | SetAltHeight (float height)
virtual void | TextHorizontalScale (float value)
virtual float | TextHorizontalScale ()
virtual void | TextVerticalScale (float value)
virtual float | TextVerticalScale ()
virtual TextDirection_t | TextDirection ()
virtual void | TextDirection (const TextDirection_t textDirection)
bool | RequiresFontFile () const DISTI_METHOD_OVERRIDE
virtual void | ResizeMode (ResizeMode_t value)
virtual ResizeMode_t | ResizeMode ()
virtual void | MaxWidth (float value)
virtual float | MaxWidth ()
virtual void | MaxHeight (float value)
virtual float | MaxHeight ()
Public Member Functions inherited from GlsText
| GlsText ()
| GlsText (const GlsText &that, const bool generateNames)
virtual | ~GlsText ()
virtual void | SetAvailableAttributes (unsigned int value) override
void | Baseline (const float &baselineShift)
float | Baseline ()
void | BgColor (const GlsColor &color)
GlsColor | BgColor ()
void | Border (const float &units)
float | Border () const
void | CellHeight (float height)
float | CellHeight () const
void | CellWidth (float width)
float | CellWidth () const
void | Char (Char_t code)
CharAttr_t | CharAttribs () const
CharAttr_t | CharAttr (unsigned int index) const
void | CharScaling (const float &newScale)
float | CharScaling ()
void | CharSpacing (const float &horizontalSpacing)
float | CharSpacing ()
void | ConstrainCellRatio (bool constrain)
bool | ConstrainCellRatio () const
void | ControlCellSize (bool control)
bool | ControlCellSize () const
virtual void | CopyGeometry (DisplayObject *src) override
virtual void | CopyProperties (DisplayObject *src) override
void | Erase ()
void | FauxBold (const bool &bold)
bool | FauxBold ()
GlsFontBase * | Font () const
void | Font (GlsFontBase *font)
void | Halo (bool halo)
bool | Halo () const
void | HaloColor (const GlsColor &color)
GlsColor | HaloColor () const
void | InvalidateFont ()
void | Inverse (const bool &inverse)
bool | Inverse ()
void | Justify (Justify_t justification)
Justify_t | Justify () const
void | LineSpacing (float spacing)
float | LineSpacing () const
void | LockCellSize (bool lock)
bool | LockCellSize () const
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) override
virtual void | SetValue (int spec, va_list &args) override
virtual void | SetFromGloData (GlsGloFileAttribute &data) override
void | Shadow (bool shadow)
bool | Shadow () const
void | ShadowColor (const GlsColor &color)
GlsColor | ShadowColor () const
void | ShadowDistance (const float &dist)
void | ShadowOffset (const Vector &offset)
Vector | ShadowOffset ()
void | StrikeThru (const bool &strike)
bool | StrikeThru ()
virtual void | String (const std::string &s)
virtual void | String (const char *s)
std::string | String () const
void | TextColor (const GlsColor &color)
GlsColor | TextColor ()
void | Underline (const bool &underline)
bool | Underline ()
void | Uppercase (bool uppercase)
bool | Uppercase () const
void | WrapText (bool wrap)
bool | WrapText () const
void | SetRebuild ()
virtual bool | RequiresFontFile () const
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
Public Member Functions inherited from GLPolygon
| GLPolygon (unsigned int nPoints, const Vertex *vertices)
| GLPolygon (unsigned int nPoints, const Vertex *vertices, const Vertex &location)
| GLPolygon ()
| GLPolygon (const GLPolygon &polygon, const bool generateNames)
virtual | ~GLPolygon ()
void | ConfigureMetaData ()
virtual DisplayObject * | CloneObject (bool generateNames=false)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) override
virtual void | Draw () override
virtual void | CalculateTextureCoordinates ()
virtual void | CalcNormals (int windingOrder=1)
virtual void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | SetFillColor (const GlsColor &color)
virtual void | DeleteVertexAt (unsigned int index)
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) override
Public Member Functions inherited from DisplayObject
| DisplayObject (float x, float y, float z)
| DisplayObject (const DisplayObject &object, const bool generateNames)
virtual | ~DisplayObject ()
void | Destroy ()
virtual void | SetAvailableAttributes (unsigned int value)
virtual void | AlphaMode (int mode)
virtual int | AlphaMode ()
virtual bool | AntiAlias ()
virtual void | AntiAlias (bool alias)
void | ApplyTextureSettings (int textureIndex=-1)
DistiAttribDict & | Attributes ()
const DistiAttribDict & | Attributes () const
virtual void | SetBlendColor (const GlsColor &color)
void | GetBlendColor (unsigned char color[])
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual GlsColor | GetBlendColor ()
void | SetBlendColor (unsigned char color[])
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual bool | BlinkedOff ()
virtual bool | Blinking ()
virtual void | Blinking (const bool blink)
virtual float | BlinkRate ()
virtual void | BlinkRate (const float rate)
const Vector & | BoundingVolumeCenter () const
void | BoundingVolumeCenter (const Vector &center)
bool | BoundingVolumeHit (const Vector &start, const Vector &direction)
float | BoundingVolumeRadius () const
void | BoundingVolumeRadius (float radius)
virtual void | Calculate (double time)
void | CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
virtual void | CalculateParentBoundingBox ()
virtual void | CalculateTextureCoordinates ()
bool | GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
CallbackMethodCallerBase * | CallbackCaller () const
void | CallbackCaller (CallbackMethodCallerBase *cb)
virtual void | GetCenter (Vector &center)
virtual DisplayObject * | CloneObject (bool generateNames=false)=0
virtual GlsColor | GetColor ()
void | GetColor (unsigned char c4[])
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual void | SetColor (const GlsColor &color)
void | SetColor (unsigned char c4[])
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | CopyGeometry (DisplayObject *src)
virtual void | CopyHierarchyProperties (DisplayObject *src, bool copyName)
virtual void | CopyProperties (DisplayObject *src)
virtual void | CullBackFace (const bool val)
virtual bool | CullBackFace ()
bool | Culled () const
void | Culled (bool val)
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler)
GlsMatrixType & | DcsMatrix ()
GlsMatrixType | DcsMatrix () const
void | DcsMatrix (const GlsMatrixType &matrix)
virtual void | DeleteVertexAt (unsigned int index)
virtual void | DeleteVertex (unsigned int indexAfter) final
virtual int | DepthTest ()
virtual void | DepthTest (unsigned char zbuf)
virtual void | Draw ()=0
const GlsMatrixType * | DrawMatrix ()
bool | NeedCalcDrawMatrix ()
void | DynamicRotate (float angle, int axis)
void | DynamicRotate (const Vector &v)
void | DynamicRotate (float angle[])
virtual void | DynamicRotate (float x, float y, float z)
virtual void | DynamicRotateRelative (float angle, int axis)
virtual float | DynamicRotation (int axis)
virtual Vector | DynamicRotation ()
virtual Vector | DynamicScale ()
virtual void | DynamicScale (float x, float y, float z)
void | DynamicScale (const Vector &scale)
virtual void | DynamicTranslate (float x, float y, float z, bool relative=false)
void | DynamicTranslate (const Vertex &amount, bool relative)
void | DynamicTranslate (const Vector &amount)
virtual void | DynamicTranslateAxis (float amount, int axis, bool relative)
virtual float | DynamicTranslation (int axis)
virtual Vector | DynamicTranslation ()
DisplayObjectEditor * | Editor ()
const DisplayObjectEditor * | Editor () const
void | Editor (DisplayObjectEditor *editor)
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1)
void | GetExtentsDCS (Vector &min, Vector &max)
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | GetFillColor (unsigned char c4[])
virtual GlsColor | GetFillColor ()
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | SetFillColor (unsigned char c4[])
virtual void | SetFillColor (const GlsColor &color)
virtual void | FinishObject ()
virtual void | GenerateInstanceName ()
virtual DisplayObject * | handle (DisplayEvent *ev)
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
virtual bool | HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint)
virtual void | InsertVertexAt (unsigned int index)
virtual void | InsertVertex (unsigned int indexAfter) final
char * | InstanceName ()
const char * | InstanceName () const
void | InstanceName (const char *name)
virtual bool | LightingEnabled ()
virtual void | LightingEnabled (bool lighting)
virtual int | LineStippleMultiplier ()
virtual void | LineStippleMultiplier (int mult)
virtual int | LineStipplePattern ()
virtual void | LineStipplePattern (int pattern)
virtual float | LineWidth ()
virtual void | LineWidth (float width)
virtual const Vertex & | Location () const
virtual void | Location (const Vertex &v)
virtual void | Location (float x, float y, float z)
virtual void | GetLocation (Vertex &v)
virtual void | GetLocation (float &x, float &y, float &z)
float | X () const
float | Y () const
float | Z () const
void | X (const float x)
void | Y (const float y)
void | Z (const float z)
virtual int | MaterialIndex ()
virtual void | MaterialIndex (int index)
virtual DynamicArray< int > & | MaterialIndices ()
virtual void | MaterialIndices (DynamicArray< int > indices)
GlsMatrixType * | ModelMatrix ()
bool | NeedCalculate ()
Vector * | Normals ()
virtual void | SetNormals (unsigned int nPoints, Vector *vertices)
void | VaSetNormals (unsigned int nPoints,...)
unsigned int | NumberOfVertices () const
virtual float | ObjectDepth ()
virtual float | ObjectHeight ()
virtual float | ObjectWidth ()
virtual void | SetOrigin (const Vertex &vert)
virtual void | Parent (DisplayFrame *par)
DisplayFrame * | Parent () const
virtual void | ParentGroup (Group *group)
Group * | ParentGroup () const
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
unsigned char | Pickable ()
virtual void | Pickable (unsigned char pick)
virtual int | PolygonEnd ()
virtual void | PolygonEnd (const int end)
virtual int | PolygonMode ()
virtual void | PolygonMode (int mode)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler)
GlsMatrixType * | ProjMatrix ()
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
virtual float | RelativeAngle (const float x, const float y)
virtual DistiAttributeBase & | Resource (const char *name)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
const Vertex & | RotationPoint () const
virtual void | RotationPoint (const Vertex &v)
virtual void | RotationPoint (float x, float y, float z)
virtual void | GetRotationPoint (Vertex &v)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
void | SaveMatrices ()
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
void | Set (int spec,...)
bool | SetupAlpha ()
void | SetupDepthTest ()
void | SetupLighting ()
bool | SetupLineStyle ()
bool | SetupTexture ()
virtual int | Shading ()
virtual void | Shading (const int shading)
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual void | SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true)
void | SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord)
void | VaSetTexCoords (unsigned int nPoints,...)
Vector * | TextureCoordinates ()
Vector * | GetTextureCoordinates ()
virtual int | TextureIndex ()
virtual void | TextureIndex (int textureIndex)
virtual Vector * | GetTexturePoints ()
virtual bool | TextureRepeat ()
virtual void | TextureRepeat (const int rep)
virtual int | TextureMappingTechnique ()
virtual void | TextureMappingTechnique (const int map)
virtual int | TextureMagnificationFilter ()
virtual void | TextureMagnificationFilter (const int filter)
virtual int | TextureMinificationFilter ()
virtual void | TextureMinificationFilter (const int filter)
virtual void | Translate (float tr[])
virtual void | Translate (float x, float y, float z)
virtual void | TranslateVertices (float x, float y, float z)
virtual void | UpdateBoundingVolume ()
void * | UserData () const
void | UserData (void *data)
virtual void | SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
virtual Vertex * | Vertices ()
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices)
void | VaSetVertices (unsigned int nPoints,...)
int * | ViewMatrix ()
bool | Visible () const
bool | Visibility () const
virtual void | Visibility (const bool vis)
virtual Vector | WorldRotationPoint ()
virtual void | WorldRotationPoint (const Vector &vert)
virtual Vertex | WorldVertex (unsigned int i)
virtual void | WorldVertex (unsigned int i, const Vertex &vert)
bool | LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
bool | WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
void | LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL)
void | DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL)
bool | Create (GlsGloFile &dataStream, Group *parent)
void | GeometryRefresh ()
| Invalidates the painter and refreshes the geometry on the next paint cycle.
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
void | NotifyAttributeChanged (const AttributeName &name) override
virtual void | SetPainter (GlsPainter *painter)
virtual GlsPainter * | GetPainter ()
void | InvalidatePainter ()
virtual bool | IsVisibleInScene (const DisplayObject *obj=NULL) const
Public Member Functions inherited from AttributeChangedNotifier
virtual void | NotifyAttributeChanged (const AttributeName &name)=0
virtual | ~AttributeChangedNotifier ()
Public Member Functions inherited from WeakReferenceableMixin
void | AddWeakReference (WeakReference *weakRef) override
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override
virtual void | AddWeakReference (WeakReference *weakRef)=0
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0

## Static Public Attributes
static const unsigned int | INTERNAL_BORDER = 1
Static Public Attributes inherited from GlsText
static const Char_t | EOL
| Carriage return (end of line) character.

## Protected Member Functions
void | AdjustImageVertsAndCoords (PangoRect &verts, PangoRect &texCoords)
void | ApplyTextScale (float textBoxWidth, float textBoxHeight, PangoRect &verts)
void | ClampToTextBoxSize (float textBoxWidth, float textBoxHeight, PangoRect &verts, PangoRect &texCoords)
void | ApplyVerticalAlignment (float textBoxHeight, PangoRect &verts)
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
virtual void | PopulateQuadStorage (IGlsStateManager *stateManager)
virtual void | DrawText (IGlsStateManager *stateManager)
virtual void | RecalcVertices ()
virtual void | SetVerticesToImageSize (const PangoRect &verts, bool keepWidth)
Protected Member Functions inherited from GlsText
char * | FormatVarArgList (const int initialBufferLength, const char *format, va_list args)
void | RecalcDirectionVectors ()
Protected Member Functions inherited from GLPolygon
void | DrawSolidGeometry (bool textureObject, bool gouraudShading, bool normal)
void | DrawOutlineGeometry ()
| Draws lines that form this polygon's outline.
void | DrawPoints ()
| Draws a point for each vertex of this polygon.
void | BakeVBO (bool hasT, bool hasC, bool hasN)
Protected Member Functions inherited from DisplayObject
virtual void | VaListSetVertices (unsigned int nPoints, va_list args)
virtual void | VaListSetNormals (unsigned int nPoints, va_list args)
virtual void | VaListSetTexCoords (unsigned int nPoints, va_list args)
void | ApplyTextureMinMagSettings ()
| Updates the state manager's texture minification and magnification filter based on this display's configuration.
void | ApplyTextureEnvModeSettings ()
| Updates the state manager's texture environment based on this object configuration.
bool | SetupTextureIsNeeded ()
virtual int | ColorMaterialMode ()
void | AllocateModelMatrix ()
bool | ApplyDynamicRotation ()
virtual void | CalcDrawMatrix ()
void | CalcDrawMatrixIfExists ()
virtual void | CalculateMatrices (const OpenGLMatrices &newMatrices)
bool | InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance)
void | LastDrawMatrixLocation (const Vertex &loc)
const Vertex & | LastDrawMatrixLocation ()
void | NeedCalculate (bool val)
void | PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector)
void | PickCleanup (Vertex *vertices, unsigned int vertex_cnt)
virtual void | SetFromGloData (GlsGloFileAttribute &data)
virtual void | SetValue (int spec, va_list &args)
int | GetApplicableTextureIndex ()
int | GetApplicableTextureRepeat ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Protected Attributes
float | _altWidth
float | _altHeight
float | _textHorizontalScale
float | _textVerticalScale
ScopedPtr< GlsPangoWrapper > | _glsPangoWrapper
TextDirection_t | _textDirection
| Text direction behavior for this object.
ResizeMode_t | _resizeMode
| Resize behavior for this object.
float | _resizeMaxWidth
| Maximum resize width in logical units.
float | _resizeMaxHeight
| Maximum resize height in logical units.
ScopedPtr< GlsQuadListVCT_2D > | _shadows
ScopedPtr< GlsQuadListVCT_2D > | _characters
bool | _geometryRefreshDraw
Protected Attributes inherited from GlsText
float | _border
CharAttrCont_t | _chars
Vertex | _currentVertices [NUM_VERTICES]
| The corners of the text object.
float | _cellHeight
float | _cellWidth
bool | _constrainRatio
bool | _controlCellSize
GlsFontBase * | _font
bool | _halo
| Whether or not the halo effect is on.
GlsColor | _haloColor
Justify_t | _justify
float | _lineSpacing
bool | _lockCellSize
bool | _needToRebuild
bool | _shadow
| Whether or not the shadow effect is on.
GlsColor | _shadowColor
Vector | _shadowOffset
std::string | _text
bool | _uppercase
Vector | _vX
Vector | _vY
Vector | _vZ
bool | _wrapText
ScopedPtr< RuntimeGlyphGenerationText > | _runtimeGlyphGenerationText
Protected Attributes inherited from GLPolygon
GlsVertexArray | _vertArray
| A vertex array that makes up this mesh. Each vertex contains data such as position, normal, texture coordinates, and color.
bool | _pendingFillColor
| If true and gouraudShading is true during a paint cycle, then it'll bake the VBO.
Protected Attributes inherited from DisplayObject
bool | _geometryRefresh
| Whether or not the geometry (VBOs etc.) needs to be updated on the GPU.
int | _alphaMode
bool | _antiAlias
bool | _attributesAdded
bool | _blinking
float | _blinkRate
bool | _isBlinkedOff
| Stores whether the object is presently blinked on or off.
GlsColor | _color
bool | _cullBackFace
GlsMatrixType | _dcsMatrix
unsigned char | _depthTest
GlsMatrixType * | _drawMatrix
bool | _needCalcDrawMatrix
| True if CalcDrawMatrix() needs to be called on this object.
unsigned char | _lineStippleMultiplier
unsigned short | _lineStipplePattern
float | _lineWidth
Vertex | _location
DynamicArray< int > | _materialIndices
| List of materials associated with this object.
GlsMatrixType * | _modelMatrix
Vector * | _normals
unsigned int | _nTex_vertices
unsigned int | _nVertices
unsigned char | _polygonEnd
unsigned char | _polygonMode
GlsMatrixType * | _projMatrix
unsigned char | _shading
Vector * | _texCoord
GlsColor | _textureBlendColor
int | _textureIndex
unsigned char | _textureMagFilter
unsigned char | _textureMinFilter
unsigned char | _textureMap
Vector | _texturePoints [4]
unsigned char | _textureRepeat
void * | _userData
Vertex * | _vertices
int * | _viewMatrix
bool | _visible
IGlsStateManager * | _stateManager
| The state manager that interfaces with OpenGL and maintains its render state.
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Friends
class | GlsCTLTextBoxEditor

## Additional Inherited Members
Static Public Member Functions inherited from GLPolygon
static DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from DisplayObject
static void | UseManualBlinkElapsedTime (bool useManualTime)
static void | SetManualBlinkElapsedTime (double elapsedTime)
Protected Types inherited from GlsText
typedef std::vector< CharAttr_t > | CharAttrCont_t
| Typedef for a list of character attributes.
Static Protected Attributes inherited from GlsText
static const Vector | XAXIS
| Vector for the global X axis.
static const Vector | YAXIS
| Vector for the global Y axis.
static Vertex | INITIAL_VERTICES [NUM_VERTICES]
| Default corners for new text objects.

## Detailed Description

The Gls CTL (Complex Text Layout) Text Box.

On certain platforms, the text layout library is unavailable, and complex text rendering in the runtime will be missing.

To account for this, the GlsCTLTextBox will 'Fallback' to being treated as a GlsTextBox. In those cases, certain GlsCTLTextBox functions will not have no effect.

## Member Enumeration Documentation

## ◆ EllipsizeMode_t

enum EllipsizeMode_t

The ellipsize mode types.

## ◆ TextDirection_t

enum TextDirection_t

The text direction types. TEXT_DIRECTION_LTR - Use Left to Right as the base direction for rendering text. TEXT_DIRECTION_RTL - Use Right to Left as the base direction for rendering text. TEXT_DIRECTION_AUTOMATIC - Determine the base direction for rendering text from the first strongly directioned character. TEXT_DIRECTION_AUTO_BY_LINE - Determine the base direction for rendering text for each individual EOL-seperated line in the text string.

## ◆ VerticalAlignment_t

enum VerticalAlignment_t

The vertical alignment types.

## ◆ VerticalAlignmentCTL_t

enum VerticalAlignmentCTL_t

Deprecated

## Constructor & Destructor Documentation

## ◆ GlsCTLTextBox() [1/2]

GlsCTLTextBox | ( |  | ) |

Default constructor.

## ◆ GlsCTLTextBox() [2/2]

GlsCTLTextBox | ( | const GlsCTLTextBox & | that,
|  | const bool | generateNames
| ) |  |

The copy constructor for GlsCTLTextBox

Parameters

  that | The GlsCTLTextBox object that is being copied
  generateNames | Whether or not to generate a new instance name

## ◆ ~GlsCTLTextBox()

virtual ~GlsCTLTextBox | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ AdjustImageVertsAndCoords()

void AdjustImageVertsAndCoords | ( | PangoRect & | verts,
|  | PangoRect & | texCoords
| ) |  |
| protected

makes adjustment to the image verts and texture coords for the alt width / height and text scaling properties

Parameters

  [in,out] | verts | the image verts
  [in,out] | texCoords | the image texture coords

## ◆ ApplyTextScale()

void ApplyTextScale | ( | float | textBoxWidth,
|  | float | textBoxHeight,
|  | PangoRect & | verts
| ) |  |
| protected

Used internally to apply scale when rendering text.

Note
  Not normally called by users.

Parameters

  textBoxWidth | The width of the box in logical units.
  textBoxHeight | The height of the box in logical units.
  verts | The returned bounding rectangle.

## ◆ ApplyVerticalAlignment()

void ApplyVerticalAlignment | ( | float | textBoxHeight,
|  | PangoRect & | verts
| ) |  |
| protected

Used internally to apply vertical alignment when rendering text.

Note
  Not normally called by users.

Parameters

  textBoxHeight | The height of the box in logical units.
  verts | The returned bounding rectangle.

## ◆ ClampToTextBoxSize()

void ClampToTextBoxSize | ( | float | textBoxWidth,
|  | float | textBoxHeight,
|  | PangoRect & | verts,
|  | PangoRect & | texCoords
| ) |  |
| protected

Used internally to clamp when rendering text.

Note
  Not normally called by users.

Parameters

  textBoxWidth | The width of the box in logical units.
  textBoxHeight | The height of the box in logical units.
  verts | The returned bounding rectangle.
  texCoords | The returned texture coordinate rectangle.

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| virtual

Copy+Create operation in one method. In derived classes, this method will create a new instance of the derived class and then copy the object into the new instance. The cut,copy,paste and undo operations use this method.

Parameters

  generateNames | Whether or not to generate new names for cloned objects

Returns
  A new object, identical to the original, except for the instance name

Reimplemented from GLPolygon.

## ◆ CopyGeometry()

virtual void CopyGeometry | ( | DisplayObject * | src | ) |
| virtual

Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.

Parameters

  src | The object to copy geometry from

Reimplemented from GlsText.

## ◆ CopyProperties()

virtual void CopyProperties | ( | DisplayObject * | src | ) |
| virtual

Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.

Parameters

  src | The object to copy properties from

Reimplemented from GlsText.

## ◆ Draw()

virtual void Draw | ( |  | ) |
| virtual

Draws this object on the current display frame (_parent member).

Reimplemented from GLPolygon.

## ◆ DrawText()

virtual void DrawText | ( | IGlsStateManager * | stateManager | ) |
| protected virtual

Draws the polygons that make up the characters.

Parameters

  stateManager |

## ◆ EllipsizeMode() [1/2]

virtual EllipsizeMode_t EllipsizeMode | ( |  | ) |
| virtual

Gets the type of automatic ellipsize if the text does not fit in the boundary.

Returns
  The type of automatic ellipsize if the text does not fit in the boundary.

Note
  In CTL Fallback mode, returns ELLIPSIZE_MODE_NONE.

## ◆ EllipsizeMode() [2/2]

virtual void EllipsizeMode | ( | const EllipsizeMode_t | ellipsizeMode | ) |
| virtual

Sets the type of automatic ellipsize if the text does not fit in the boundary.

Parameters

  [in] | ellipsizeMode | The type of automatic ellipsize if the text does not fit in the boundary.

Note
  In CTL Fallback mode, has no effect.

## ◆ GetGlyphCount()

virtual unsigned int GetGlyphCount | ( |  | ) |
| virtual

Gets the number of glyphs in the layout.

Returns
  The number of glyphs in the layout.

Note
  In CTL Fallback mode, returns 0.

## ◆ GetGlyphMetrics()

virtual GlyphMetrics GetGlyphMetrics | ( | const unsigned int | glyphIndex | ) |
| virtual

Gets the glyph metrics for the given glyph index.

Parameters

  [in] | glyphIndex | The index of the glyph in the layout line to get the glyph metrics for.

Returns
  The glyph metrics for the given glyph index.

Note
  In CTL Fallback mode, returns a default GlyphMetrics struct.

## ◆ GetLineCount()

virtual unsigned int GetLineCount | ( |  | ) |
| virtual

Gets the number of lines in the layout.

Returns
  The number of lines in the layout.

Note
  In CTL Fallback mode, returns 0.

## ◆ MaxHeight() [1/2]

virtual float MaxHeight | ( |  | ) |
| virtual

Returns
  The current maximum resize height for this object in logical units.

## ◆ MaxHeight() [2/2]

virtual void MaxHeight | ( | float | value | ) |
| virtual

Set the maximum resize height for this object in logical units.

Parameters

  value | The new maximum height.

## ◆ MaxWidth() [1/2]

virtual float MaxWidth | ( |  | ) |
| virtual

Returns
  The current maximum resize width for this object in logical units.

## ◆ MaxWidth() [2/2]

virtual void MaxWidth | ( | float | value | ) |
| virtual

Set the maximum resize width for this object in logical units.

Parameters

  value | The new maximum width.

## ◆ PopulateQuadStorage()

virtual void PopulateQuadStorage | ( | IGlsStateManager * | stateManager | ) |
| protected virtual

Populate the quad storage

Parameters

  stateManager |

## ◆ PreDraw()

virtual void PreDraw | ( | const OpenGLMatrices & | current,
|  | Culler & | culler
| ) |  |
| virtual

Traverses the hierarchy calculating the _modelMatrix, _projMatrix, _viewMatrix as needed.

Parameters

  current | Current matrices inherited from parent
  culler | Object that possibly marks this object for culling

Reimplemented from GLPolygon.

## ◆ Rebuild()

virtual void Rebuild | ( |  | ) |
| virtual

Rebuilds this text box layout. This may be an expensive call, so it should only be called when a property changes.

## ◆ RecalcVertices()

virtual void RecalcVertices | ( |  | ) |
| protected virtual

Rebuilds the vertices of the text box.

## ◆ RequiresFontFile()

bool RequiresFontFile | ( |  | ) | const
| inline virtual

Returns
  Whether or not this text object requires a font file to work.. If this returns true, the text object may not work with the generated ASCII / UNICODE font types.

Reimplemented from GlsText.

## ◆ ResizeMode() [1/2]

virtual ResizeMode_t ResizeMode | ( |  | ) |
| virtual

Returns
  The current resize behavior for this object.

## ◆ ResizeMode() [2/2]

virtual void ResizeMode | ( | ResizeMode_t | value | ) |
| virtual

Set the resize behavior for this object.

Parameters

  value | The new resize behavior.

## ◆ Scale()

virtual void Scale | ( | float | px,
|  | float | py,
|  | float | pz,
|  | Vertex * | anchor,
|  | int | handleBar
| ) |  |
| virtual

Scales the object, either the handleBar, or the Anchor is used to translate the object, not both. Anchor takes presidence, if it is set HandleBar is ignored. The footprint is different from the 2D scale so the compiler can destinguish the two.

Parameters

  px | Value of the percentage of scale in x-axis
  py | Value of the percentage of scale in y-axis
  pz | Value of the percentage of scale in z-axis
  anchor | Anchor from which to scale object relative to
  handleBar | Vertex that is being dragged

Reimplemented from DisplayObject.

## ◆ SetAltHeight()

virtual void SetAltHeight | ( | float | height | ) |
| virtual

Set height used to render the text. If the height of the vertices is smaller than this height, the text will be truncated. If the value is 0.0, the text will be rendered to the full height of the vertices

Note
  In CTL Fallback mode, has no effect.

Parameters

  height | The new height to set.

## ◆ SetAltWidth()

virtual void SetAltWidth | ( | float | width | ) |
| virtual

Set width used to render the text. If the width of the vertices is smaller than this width, the text will be truncated. If the value is 0.0, the text will be rendered to the full width of the vertices

Note
  In CTL Fallback mode, has no effect.

Parameters

  width | The new width to set.

## ◆ SetAvailableAttributes()

virtual void SetAvailableAttributes | ( | unsigned int | value | ) |
| virtual

Specifies which attributes are available for the object. Currently the available attributes cannot be changed after they have been set. (Only the first call has an effect.)

Parameters

  value | A bitfield specifying which types of attributes to make available.

See also
  AvailableAttributesEnum

Reimplemented from GlsText.

## ◆ SetFromGloData()

virtual void SetFromGloData | ( | GlsGloFileAttribute & | data | ) |
| protected virtual

Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from GlsText.

## ◆ SetLayoutAutoDir()

virtual void SetLayoutAutoDir | ( | bool | autoDir | ) |
| inline virtual

Set the Pango Layout auto dir, exposes pango_layout_set_auto_dir () see: https://developer.gnome.org/pango/stable/pango-Layout-Objects.html#pango-layout-set-auto-dir

Parameters

  [in] | autoDir | Whether or not the layout should automatically determine base direction based on content

Note
  In CTL Fallback mode, has no effect.

Deprecated:

## ◆ SetVertices()

virtual void SetVertices | ( | unsigned int | nPoints,
|  | Vertex * | vertices
| ) |  |
| virtual

Sets the vertex data for this polygon You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Parameters

  nPoints | The number of vertices in the object
  vertices | The vertex data for the object

Reimplemented from DisplayObject.

## ◆ SetVerticesToImageSize()

virtual void SetVerticesToImageSize | ( | const PangoRect & | verts,
|  | bool | keepWidth
| ) |  |
| protected virtual

Set the size of the CTL text box to the incoming Pango rectangle's size.

Parameters

  verts | The new size to set to.
  keepWidth | Whether or not to ignore changes to the object's width.

## ◆ TextDirection() [1/2]

virtual TextDirection_t TextDirection | ( |  | ) |
| virtual

Gets the base direction used in applying the Unicode bidirectional algorithm.

Returns
  the text direction

Note
  In CTL Fallback mode, returns TEXT_DIRECTION_AUTOMATIC.

## ◆ TextDirection() [2/2]

virtual void TextDirection | ( | const TextDirection_t | textDirection | ) |
| virtual

Sets the base direction used in applying the Unicode bidirectional algorithm.

Parameters

  [in] | textDirection | The text direction.

Note
  In CTL Fallback mode, has no effect.

## ◆ TextHorizontalScale() [1/2]

virtual float TextHorizontalScale | ( |  | ) |
| virtual

Returns
  The current horizontal scale.

## ◆ TextHorizontalScale() [2/2]

virtual void TextHorizontalScale | ( | float | value | ) |
| virtual

Scales the text horizontally by the given value. Text is still clamped by the bounds of the text box

Parameters

  value | the horizontal scale

## ◆ TextVerticalScale() [1/2]

virtual float TextVerticalScale | ( |  | ) |
| virtual

Returns
  The current vertical scale.

## ◆ TextVerticalScale() [2/2]

virtual void TextVerticalScale | ( | float | value | ) |
| virtual

Scales the text vertically by the given value. Text is still clamped by the bounds of the text box

Parameters

  value | the vertical scale

## ◆ VaString()

virtual void VaString | ( | const char * | format,
|  |  | ...
| ) |  |
| virtual

Print a string into this text object. Replaces the entire string.

Parameters

  format | printf style varargs formatting string.

## ◆ VerticalAlignment() [1/3]

virtual VerticalAlignment_t VerticalAlignment | ( |  | ) |
| virtual

Get the vertical alignment for this text object

Returns
  The vertical alignment type.

## ◆ VerticalAlignment() [2/3]

virtual void VerticalAlignment | ( | VerticalAlignment_t | verticalAlignment | ) |
| virtual

Set the vertical alignment for this text object.

Parameters

  verticalAlignment | The vertical alignment type.

## ◆ VerticalAlignment() [3/3]

virtual void VerticalAlignment | ( | VerticalAlignmentCTL_t | verticalAlignment | ) |
| inline virtual

Set the vertical alignment for this text object.

Parameters

  verticalAlignment | The vertical alignment type.

## Member Data Documentation

## ◆ _altHeight

float _altHeight
| protected

Height used to render the text

## ◆ _altWidth

float _altWidth
| protected

Width used to render the text

## ◆ _characters

ScopedPtr<GlsQuadListVCT_2D> _characters
| protected

The list of quads to draw for the characters.

## ◆ _geometryRefreshDraw

bool _geometryRefreshDraw
| protected

True if _geometryRefresh was true in PreDraw. This is just so we can rebuild the quads in Draw().

## ◆ _glsPangoWrapper

ScopedPtr<GlsPangoWrapper> _glsPangoWrapper
| protected

Pointer to the internal data needed for Pango.

## ◆ _shadows

ScopedPtr<GlsQuadListVCT_2D> _shadows
| protected

The list of quads to draw for the shadows.

## ◆ _textHorizontalScale

float _textHorizontalScale
| protected

the horizontal scale

## ◆ _textVerticalScale

float _textVerticalScale
| protected

the vertical scale

## ◆ INTERNAL_BORDER

const unsigned int INTERNAL_BORDER = 1
| static

The internal border between the layout edges and the glyph edges. This will keep the glyph edges from appearing cut-off when linear texture filtering is applied.

The documentation for this class was generated from the following file:

- gls_ctl_text_box.h