| GL Studio C++ Runtime API

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

`#include <gls_text_box.h>`

Inheritance diagram for GlsTextBox:

## Classes
struct | RowInfo
class | UnderlineStrikeThruHelper

## Public Types
enum | ResizeMode_t { RESIZE_MODE_FIXED , RESIZE_MODE_AUTO_WIDTH , RESIZE_MODE_AUTO_HEIGHT }
| The ResizeMode_t enumeration. Describes the resize behavior of this text object.
enum | Align_t { ALIGN_CENTER , ALIGN_TOP , ALIGN_BOTTOM }
| Different text justifications.
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
| GlsTextBox ()
| GlsTextBox (const GlsTextBox &that, const bool generateNames)
virtual | ~GlsTextBox ()
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual void | Calculate (double time) 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 | Draw () DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices) DISTI_METHOD_OVERRIDE
virtual void | Initialize ()
| Sets the initial state of this object.
void | Rebuild ()
| Rebuilds this text box layout. This may be an expensive call, so it should only be called when a property changes.
virtual unsigned int | MaxLinesToDraw ()
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar) DISTI_METHOD_OVERRIDE
void | VerticalAlignment (Align_t justification)
virtual Align_t | VerticalAlignment () const
void | Clear ()
void | ClearChars ()
void | SetString (const char *s)
void | VaString (const char *format,...)
void | TabSpacing (float)
float | TabSpacing ()
bool | LeftToRight ()
void | LeftToRight (bool leftToRight)
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 ()
float | GetCharWidth (const unsigned short c) const
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
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

## Protected Member Functions
void | DrawText ()
void | PopulateQuadStorage ()
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
char * | FormatVarArgList (const char *format, va_list args)
void | EnablePerCharAttribs ()
| Enable per character attribute drawing for this grid.
void | RecalcCellSize ()
void | RecalcVertices ()
virtual void | CalculateRowData ()
void | GetNextRowInfo (const unsigned int strIndex, unsigned int &rowLength, float &rowPixelWidth, unsigned int &nextRowStartIndex) const
float | GetMaxLineLengthForResizeMode () const
void | SetVerticesToTextBounds ()
| Helper function that adjusts the vertices to contain the text based on the resize behavior.
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
GlsQuadListVC_3D | _backgrounds
| Quads used to render the backgrounds. This is rendered behind the other quads associated with this text box.
GlsQuadListVCT_2D | _shadows
| Quads used to render the shadows behind the text.
GlsQuadListVC_3D | _shadowLines
| Quads used to render the shadows for lines such as underlines and strikethroughs.
GlsQuadListVCT_2D | _characters
| Quads used to render the characters in the foreground.
GlsQuadListVC_3D | _lines
| Quads used to render lines such as underlines and strikethroughs.
bool | _perCharAttribs
Align_t | _verticalAlignment
| Justification setting (TOP, CENTER, BOTTOM).
float | _tabSpacing
| Space multiplier for tabs.
unsigned int | _lineCount
| Number of rows of characters in the text grid (number of lines).
bool | _lineCountChanged
| If true, the line count has changed, and row information needs to be rebuilt.
RowInfo * | _rowInfo
float | _cellWidthRatio
| Holds cell width / max char width ratio used for horizontal advance.
float | _maxLineLengthPixels
| Calculated maximimum line width in "pixels" (logical units).
float | _maxTextHeightPixels
| Calculated maximimum height in "pixels" (logical units).
unsigned int | _maxLinesToDraw
| Calculated maximum number of lines that can fit.
bool | _leftToRight
| true to render characters from left to right else, false for right to left.
ResizeMode_t | _resizeMode
| The current automatic resize behavior.
float | _resizeMaxWidth
| The calculated maximum width in logical units based on the current resize behavior.
float | _resizeMaxHeight
| The calculated maximim height in logical units based on the current resize behavior.
UTF16String | _unicodeText
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 | GlsTextBoxEditor

## 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)
Static Public Attributes inherited from GlsText
static const Char_t | EOL
| Carriage return (end of line) character.
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 GlsTextBox

## Constructor & Destructor Documentation

## ◆ GlsTextBox() [1/2]

GlsTextBox | ( |  | ) |

Class Constructor.

## ◆ GlsTextBox() [2/2]

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

Copy constructor

Parameters

  that | The object to copy from.
  generateNames | Whether or not to generate an instance name for this object.

## ◆ ~GlsTextBox()

virtual ~GlsTextBox | ( |  | ) |
| virtual

Class Constructor.

## Member Function Documentation

## ◆ Calculate()

virtual void Calculate | ( | double | time | ) |
| virtual

Provides a mechanism for performing regular calculations, seperate from drawing. In a standalone applicaton Calculate is recursively called by the main loop before the objects are drawn.

Parameters

  time | The elaspsed time in seconds since program start

Reimplemented from DisplayObject.

## ◆ CalculateRowData()

virtual void CalculateRowData | ( |  | ) |
| protected virtual

Populate the _rowInfo array based on the current display string

Precondition
  none

Postcondition
  _rowInfo array is populated based on the current display string

## ◆ Clear()

void Clear | ( |  | ) |
| inline

Clears all of the characters and resets the attributes of all characters (TextDisplay compatability method)

Deprecated:
  use Erase instead

## ◆ ClearChars()

void ClearChars | ( |  | ) |
| inline

Clears all of the characters. Does NOT reset the attributes of the characters (TextDisplay compatability method)

Deprecated:

## ◆ 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()

void DrawText | ( |  | ) |
| protected

Helper function that performs the underlying text draw.

Note
  Not normally called by users.

## ◆ FormatVarArgList()

char * FormatVarArgList | ( | const char * | format,
|  | va_list | args
| ) |  |
| protected

Allocate a text buffer of the appropriate size for this grid and output snprintf style format into the buffer.

Parameters

  format | snprintf style format spec
  args | Arguments for sprintf style formatting.

Returns
  A formatted textbuffer ( must be deleted by caller ).

## ◆ GetCharWidth()

float GetCharWidth | ( | const unsigned short | c | ) | const

Get the width for the given character taking into account cell sizing, character spacing, uppercasing and tab characters width being expanded

Parameters

  c | character in question

Returns
  width for given character

Precondition
  none

Postcondition
  none

## ◆ GetMaxLineLengthForResizeMode()

float GetMaxLineLengthForResizeMode | ( |  | ) | const
| protected

Helper function that returns the maximum line length (text box width) in logical units.

Returns
  Infinity if no limit, otherwise the limit in logical units.

## ◆ GetNextRowInfo()

void GetNextRowInfo | ( | const unsigned int | strIndex,
|  | unsigned int & | rowLength,
|  | float & | rowPixelWidth,
|  | unsigned int & | nextRowStartIndex
| ) |  | const
| protected

Get the row info for the row starting at the given string index

Parameters

  strIndex | starting index into string
  rowLength | [out] gets number of characters in row
  rowPixelWidth | [out] gets pixel width of row
  nextRowStartIndex | [out] gets starting string index for next row else GLSUINT32_MAX if there is no string data for the next row

Precondition
  strIndex < _str.GetLength()

Postcondition
  rowLength has the number of characters in the row, rowPixelWidth has the pixel width of the row, nextRowStartIndex has the starting string index for the next row else GLSUINT32_MAX if there is no string data for the next row

## ◆ LeftToRight() [1/2]

bool LeftToRight | ( |  | ) |

Determine if the text direction is set to left->right or right->left

Returns
  true if if the text direction is set to left->right else false for right->left

## ◆ LeftToRight() [2/2]

void LeftToRight | ( | bool | leftToRight | ) |

Set the text direction

Parameters

  leftToRight | true for left->right else false for right->left

## ◆ 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.

## ◆ MaxLinesToDraw()

virtual unsigned int MaxLinesToDraw | ( |  | ) |
| virtual

We need to know the Max number of lines/rows possible to display, we may run out of characters to print/display before we hit the max number of lines though.

Returns
  A value between Zero and INT_MAX, representing the max lines/rows to draw

Precondition
  The TextBox object has been initialized

Postcondition
  The value of max lines returned to the caller

## ◆ 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()

void PopulateQuadStorage | ( |  | ) |
| protected

Constructs primitives and renders each character. This function considers the text box's position, justification, character size, and decorations (such as strikethroughs and shadows).

## ◆ 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.

## ◆ RecalcCellSize()

void RecalcCellSize | ( |  | ) |
| protected

Helper function to calculate cell sizes based on the scale of the object if control cell size is enabled.

Note
  Not normally called by users.

## ◆ RecalcVertices()

void RecalcVertices | ( |  | ) |
| protected

Helper function to readjust vertices back to the local origin being aligned with vertex 0.

Note
  Not normally called by users.

## ◆ 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() [1/2]

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.

## ◆ Scale() [2/2]

virtual void Scale | ( | float | px,
|  | float | py,
|  | float | pz,
|  | Vertex * | anchor,
|  | int | handleBar = `0`
| ) |  |
| 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.

## ◆ 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.

## ◆ SetString()

void SetString | ( | const char * | s | ) |
| inline

SetColor() meaning has changed, now use TextColor Print a string into this text object starting at index 0 and proceeding Left to right Wraps at newline characters. Does not change the color or any other modes. Replaces the entire string. (TextDisplay compatability method)

Parameters

  s | The string to print

Deprecated:
  use String instead

## ◆ 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.

## ◆ TabSpacing() [1/2]

float TabSpacing | ( |  | ) |

Returns the current tab space multiplier

Returns
  the current tab space multiplier

## ◆ TabSpacing() [2/2]

void TabSpacing | ( | float |  | ) |

Sets tab space multiplier, 1.0 == same as specified in font

## ◆ VaString()

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

Print a string into this text object to right. Wraps at newline characters. Does not change the color or any other modes. Replaces the entire string.

Parameters

  format | printf style varargs formatting string.

## ◆ VerticalAlignment() [1/2]

virtual Align_t VerticalAlignment | ( |  | ) | const
| inline virtual

Get the vertical justification for this text object

Returns
  vertical justification

## ◆ VerticalAlignment() [2/2]

void VerticalAlignment | ( | Align_t | justification | ) |

Set the vertical justification for this text object

Parameters

  justification | The justification mode (TOP, BOTTOM, CENTER)

## Member Data Documentation

## ◆ _perCharAttribs

bool _perCharAttribs
| protected

true -> grid will draw characters using "per character attributes" else false -> all characters will be drawn using the first character's attribute NOTE: This defaults to false and automatically enables to true if the user calls a method that requires per character attributes

## ◆ _rowInfo

RowInfo* _rowInfo
| protected

array ( _rows number of elements ) of RowInfo

## ◆ _unicodeText

UTF16String _unicodeText
| protected

unicode version of _text from base class, updated by CalculateRowData

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

- gls_text_box.h