63 #    define GLS_TEXT_SET_GEOMETRY_REFRESH GeometryRefresh(); 
   65 #    define GLS_TEXT_SET_GEOMETRY_REFRESH 
   68 #define SET_ALL_CHARS( attribute, value )                                          \ 
   70         for( CharAttrCont_t::iterator i = _chars.begin(); i != _chars.end(); ++i ) \ 
   72             i->attribute = value;                                                  \ 
   74         GLS_TEXT_SET_GEOMETRY_REFRESH                                              \ 
   84 class GlsGloFileAttribute;
 
   88 class RuntimeGlyphGenerationText;
 
   93     GLS_TEXT_BORDER = GLS_LAST_INITIALIZER + 1,
 
   96     GLS_TEXT_CONSTRAIN_CELL_RATIO,
 
   97     GLS_TEXT_CONTROL_CELL_SIZE,
 
  100     GLS_TEXT_LINESPACING,
 
  101     GLS_TEXT_LOCK_CELL_SIZE,
 
  107     GLS_LAST_TEXT_INITIALIZER = GLS_TEXT_WRAP
 
  108 } GlsTextInitializers_t;
 
  156     typedef GlsFontBase::Char_t Char_t;
 
  159     static GLS_EXPORT 
const Char_t EOL;
 
  192         GLS_EXPORT CharAttr_t( 
const CharAttr_t& r );
 
  195         GLS_EXPORT 
void Clear();
 
  198         GLS_EXPORT CharAttr_t& operator=( 
const CharAttr_t& r );
 
  208         typedef unsigned short char_type;
 
  209         typedef int            int_type;
 
  210         typedef std::streampos pos_type;
 
  211         typedef std::streamoff off_type;
 
  212         typedef std::mbstate_t state_type;
 
  214         static void assign( char_type& c1, 
const char_type& c2 )
 
  219         static bool eq( 
const char_type& c1, 
const char_type& c2 )
 
  224         static bool lt( 
const char_type& c1, 
const char_type& c2 )
 
  229         static int compare( 
const char_type* s1, 
const char_type* s2, 
size_t n )
 
  239                     return ( *s1 - *( s2 - 1 ) );
 
  249         static size_t length( 
const char_type* s )
 
  259         static const char_type* find( 
const char_type* s, 
size_t n, 
const char_type& a )
 
  272         static char_type* move( char_type* s1, 
const char_type* s2, 
size_t n )
 
  274             return static_cast<char_type*
>( memmove( s1, s2, n * 
sizeof( char_type ) ) );
 
  277         static char_type* copy( char_type* s1, 
const char_type* s2, 
size_t n )
 
  279             return static_cast<char_type*
>( memcpy( s1, s2, n * 
sizeof( char_type ) ) );
 
  282         static char_type* assign( char_type* s, 
size_t n, char_type a )
 
  284             for( 
size_t idx = 0u; idx < n; ++idx )
 
  291         static char_type to_char_type( 
const int_type& c )
 
  293             return static_cast<char_type
>( c );
 
  296         static int_type to_int_type( 
const char_type& c )
 
  298             return static_cast<int_type
>( c );
 
  301         static bool eq_int_type( 
const int_type& c1, 
const int_type& c2 )
 
  306         static int_type eof()
 
  308             return static_cast<int_type
>( EOF );
 
  311         static int_type not_eof( 
const int_type& c )
 
  313             return ( c == eof() ) ? 0 : c;
 
  317     typedef std::basic_string<unsigned short, CharTraitsUnsignedShort> UnicodeString;
 
  321     typedef std::wstring UnicodeString;
 
  327     GLS_EXPORT 
GlsText( 
const GlsText& that, 
const bool generateNames );
 
  341     GLS_EXPORT 
void Baseline( 
const float& baselineShift );
 
  359     GLS_EXPORT 
void Border( 
const float& units );
 
  389     GLS_EXPORT 
void CellWidth( 
float width );
 
  400     GLS_EXPORT 
void Char( Char_t code );
 
  423     GLS_EXPORT 
void CharScaling( 
const float& newScale );
 
  434     GLS_EXPORT 
void CharSpacing( 
const float& horizontalSpacing );
 
  475     GLS_EXPORT 
void Erase();
 
  480     GLS_EXPORT 
void FauxBold( 
const bool& bold );
 
  511     GLS_EXPORT 
void Halo( 
bool halo );
 
  521     GLS_EXPORT 
void HaloColor( 
const GlsColor& color );
 
  523     GlsColor HaloColor()
 const 
  537     GLS_EXPORT 
void Inverse( 
const bool& inverse );
 
  580 #if !defined( GCC_2_95 ) 
  586     virtual GLS_EXPORT 
void Rotate( 
const Vector& orig, 
float angle, 
const Vector& axis );
 
  589     virtual GLS_EXPORT 
void SetValue( 
int spec, va_list& args );
 
  601     GLS_EXPORT 
void Shadow( 
bool shadow );
 
  611     GLS_EXPORT 
void ShadowColor( 
const GlsColor& color );
 
  613     GlsColor ShadowColor()
 const 
  633     GLS_EXPORT 
void ShadowOffset( 
const Vector& offset );
 
  643     GLS_EXPORT 
void StrikeThru( 
const bool& strike );
 
  652     GLS_EXPORT 
void String( 
const std::string& s );
 
  659         String( std::string( s ) );
 
  684     GLS_EXPORT 
void Underline( 
const bool& underline );
 
  693     GLS_EXPORT 
void Uppercase( 
bool uppercase );
 
  694     bool            Uppercase()
 const 
  702     GLS_EXPORT 
void WrapText( 
bool wrap );
 
  741             , shadowOffsetX( 0.0f )
 
  742             , shadowOffsetY( 0.0f )
 
  747             const float     segmentX1,
 
  748             const float     segmentX2,
 
  749             const float     segmentY,
 
  750             const float     segmentThickness,
 
  751             const float     segmentShadowOffsetX,
 
  752             const float     segmentShadowOffsetY,
 
  757             , thickness( segmentThickness )
 
  758             , shadowOffsetX( segmentShadowOffsetX )
 
  759             , shadowOffsetY( segmentShadowOffsetY )
 
  760             , color( segmentColor )
 
  766     typedef std::vector<CharAttr_t> CharAttrCont_t;
 
  768     static GLS_EXPORT 
const Vector XAXIS;
 
  769     static GLS_EXPORT 
const Vector YAXIS;
 
  771     static GLS_EXPORT 
Vertex INITIAL_VERTICES[ NUM_VERTICES ];
 
  782     Vertex _currentVertices[ NUM_VERTICES ];
 
  867         glBegin( GL_POLYGON );
 
  868         glVertex2f( x1, y1 );
 
  869         glVertex2f( x1, y2 );
 
  870         glVertex2f( x2, y2 );
 
  871         glVertex2f( x2, y1 );
 
  892     GLS_EXPORT 
char* 
FormatVarArgList( 
const int initialBufferLength, 
const char* format, va_list args );
 
  898     GLS_EXPORT 
void RecalcDirectionVectors();
 
  905     virtual GLS_EXPORT 
void OnCellDimensionChanged()
 
  910     void operator=( const 
GlsText& ) DISTI_SPECIAL_MEM_FUN_DELETE;
 
  916 inline std::istream& operator>>(
 
  924         j = disti::GlsText::LEFT;
 
  926     else if( str == 
"CENTER" )
 
  928         j = disti::GlsText::CENTER;
 
  930     else if( str == 
"RIGHT" )
 
  932         j = disti::GlsText::RIGHT;
 
  942     case disti::GlsText::LEFT:
 
  945     case disti::GlsText::CENTER:
 
  948     case disti::GlsText::RIGHT:
 
  983         _charAttr = _text->CharAttr( 0 );
 
  984         return _BaseClass::WriteValue( outstr );
 
  991         _charAttr = _text->CharAttr( 0 );
 
  993         _BaseClass::ReadValue( instr );
 
  995         _text->Baseline( _charAttr.baselineShift );
 
  996         _text->BgColor( _charAttr.bgColor );
 
  997         _text->CharSpacing( _charAttr.spacing );
 
  998         _text->TextColor( _charAttr.fgColor );
 
  999         _text->FauxBold( _charAttr.fauxBold );
 
 1000         _text->Inverse( _charAttr.inverse );
 
 1001         _text->CharScaling( _charAttr.scale );
 
 1002         _text->StrikeThru( _charAttr.strikeThru );
 
 1003         _text->Underline( _charAttr.underline );
 
The DistiUnhideGlobalsDummyClass class. 
virtual void Rotate(const Vector &orig, float angle, const Vector &axis)
Vector _vX
Definition: gls_text.h:841
void ShadowOffset(const Vector &offset)
virtual void SetValue(int spec, va_list &args)
bool _uppercase
Definition: gls_text.h:838
virtual bool OkToWrite() const 
Definition: gls_text.h:976
bool ConstrainCellRatio() const 
Definition: gls_text.h:449
#define GLS_UNICODE_FONT_NAME_PREFIX
Definition: gls_font_man.h:50
Definition: dynamic_array.h:62
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_text.h:986
char * FormatVarArgList(const int initialBufferLength, const char *format, va_list args)
The disti::GlsFontBase class and related classes. 
The Polygon class. Implements Polygons. 
Definition: glpolygon.h:55
bool _constrainRatio
Definition: gls_text.h:793
Attributes for each character position in the grid. 
Definition: gls_text.h:175
Justify_t _justify
Definition: gls_text.h:808
virtual bool RequiresFontFile() const 
Definition: gls_text.h:718
float LineSpacing() const 
Definition: gls_text.h:561
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
Definition: gls_text.h:962
void ShadowDistance(const float &dist)
Definition: gls_text.h:623
The disti::GLPolygon class. Implements Polygons. 
float _cellHeight
Definition: gls_text.h:785
Definition: gls_text.h:151
std::string _text
Definition: gls_text.h:835
CharAttrCont_t _chars
Definition: gls_text.h:780
The Color class: Implements a 4 component RGBA color. 
Justify_t
Different text justifications. 
Definition: gls_text.h:167
float _lineSpacing
Definition: gls_text.h:811
Definition: gls_glo_file.h:982
Definition: gls_unicode_font_base.h:65
Justify_t Justify() const 
Definition: gls_text.h:549
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
ScopedPtr< RuntimeGlyphGenerationText > _runtimeGlyphGenerationText
Definition: gls_text.h:901
void InvalidatePainter()
Definition: display.h:1717
GlsRuntimeFontBase * GetGlsRuntimeFontBase(const GlsFontBase *font)
Definition: gls_text.h:114
float CellWidth() const 
Definition: gls_text.h:392
bool LockCellSize() const 
Definition: gls_text.h:575
The disti::GlsFontMan class. 
VertexNoColor Vector
Definition: gls_font_base.h:66
bool _lockCellSize
Definition: gls_text.h:818
bool _controlCellSize
Definition: gls_text.h:796
float _border
Definition: gls_text.h:777
bool ControlCellSize() const 
Definition: gls_text.h:463
CharAttr_t CharAttribs() const 
Definition: gls_text.h:408
GlsColor _haloColor
Definition: gls_text.h:805
Definition: gls_runtime_font_base.h:66
static void DrawScalableLine(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Definition: gls_text.h:860
Definition: gls_text.h:206
bool WrapText() const 
Definition: gls_text.h:705
Definition: gls_color.h:53
virtual void Rotate(float angle, int axis=Z_AXIS)
GlsFontBase * Font() const 
Definition: gls_text.h:488
Vector _vZ
Definition: gls_text.h:847
float _cellWidth
Definition: gls_text.h:788
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_text.h:981
CharAttr_t CharAttr(unsigned int index) const 
Definition: gls_text.h:414
Vector _vY
Definition: gls_text.h:844
GlsFontBase * _font
Definition: gls_text.h:799
Definition: gls_metadata_attributes.h:595
The disti::GlsUnicodeFontBase class and related classes. 
std::string String() const 
Definition: gls_text.h:667
void SetRebuild()
Definition: gls_text.h:711
A smart pointer with unique ownership – poor man's std::unique_ptr. 
virtual void CopyProperties(DisplayObject *src)
bool _wrapText
Definition: gls_text.h:850
const GlsUnicodeFontBase * GetGlsUnicodeFontBase(const GlsFontBase *font)
Definition: gls_text.h:132
std::string Family() const 
Definition: gls_font_base.h:258
virtual void CopyGeometry(DisplayObject *src)
Vector _shadowOffset
Definition: gls_text.h:832
Macros and helper code to determine what subset of C++11/14/17 is available. 
Definition: disti_metadata.h:79
bool _needToRebuild
Definition: gls_text.h:823
Definition: bmpimage.h:46
void String(const char *s)
Definition: gls_text.h:657
float Border() const 
Definition: gls_text.h:363
Definition: gls_text.h:725
The disti::GlsRuntimeFontBase class and related classes. 
float CellHeight() const 
Definition: gls_text.h:378
virtual void SetAvailableAttributes(unsigned int value)
GlsColor _shadowColor
Definition: gls_text.h:829
Definition: gls_font_base.h:85
#define GLS_RUNTIME_FONT_NAME_PREFIX
Definition: gls_font_man.h:53