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;
 
  154     DISTI_DEPRECATED( 
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
 
  158     typedef GlsFontBase::Char_t Char_t;
 
  161     static GLS_EXPORT 
const Char_t EOL;
 
  194         GLS_EXPORT CharAttr_t( 
const CharAttr_t& r );
 
  197         GLS_EXPORT 
void Clear();
 
  200         GLS_EXPORT CharAttr_t& operator=( 
const CharAttr_t& r );
 
  210         typedef unsigned short char_type;
 
  211         typedef int            int_type;
 
  212         typedef std::streampos pos_type;
 
  213         typedef std::streamoff off_type;
 
  214         typedef std::mbstate_t state_type;
 
  216         static void assign( char_type& c1, 
const char_type& c2 )
 
  221         static bool eq( 
const char_type& c1, 
const char_type& c2 )
 
  226         static bool lt( 
const char_type& c1, 
const char_type& c2 )
 
  231         static int compare( 
const char_type* s1, 
const char_type* s2, 
size_t n )
 
  241                     return ( *s1 - *( s2 - 1 ) );
 
  251         static size_t length( 
const char_type* s )
 
  261         static const char_type* find( 
const char_type* s, 
size_t n, 
const char_type& a )
 
  274         static char_type* move( char_type* s1, 
const char_type* s2, 
size_t n )
 
  276             return static_cast<char_type*
>( memmove( s1, s2, n * 
sizeof( char_type ) ) );
 
  279         static char_type* copy( char_type* s1, 
const char_type* s2, 
size_t n )
 
  281             return static_cast<char_type*
>( memcpy( s1, s2, n * 
sizeof( char_type ) ) );
 
  284         static char_type* assign( char_type* s, 
size_t n, char_type a )
 
  286             for( 
size_t idx = 0u; idx < n; ++idx )
 
  293         static char_type to_char_type( 
const int_type& c )
 
  295             return static_cast<char_type
>( c );
 
  298         static int_type to_int_type( 
const char_type& c )
 
  300             return static_cast<int_type
>( c );
 
  303         static bool eq_int_type( 
const int_type& c1, 
const int_type& c2 )
 
  308         static int_type eof()
 
  310             return static_cast<int_type
>( EOF );
 
  313         static int_type not_eof( 
const int_type& c )
 
  315             return ( c == eof() ) ? 0 : c;
 
  319     typedef std::basic_string<unsigned short, CharTraitsUnsignedShort> UnicodeString;
 
  323     typedef std::wstring UnicodeString;
 
  329     GLS_EXPORT 
GlsText( 
const GlsText& that, 
const bool generateNames );
 
  343     GLS_EXPORT 
void Baseline( 
const float& baselineShift );
 
  361     GLS_EXPORT 
void Border( 
const float& units );
 
  391     GLS_EXPORT 
void CellWidth( 
float width );
 
  402     GLS_EXPORT 
void Char( Char_t code );
 
  425     GLS_EXPORT 
void CharScaling( 
const float& newScale );
 
  436     GLS_EXPORT 
void CharSpacing( 
const float& horizontalSpacing );
 
  477     GLS_EXPORT 
void Erase();
 
  482     GLS_EXPORT 
void FauxBold( 
const bool& bold );
 
  513     GLS_EXPORT 
void Halo( 
bool halo );
 
  523     GLS_EXPORT 
void HaloColor( 
const GlsColor& color );
 
  525     GlsColor HaloColor()
 const 
  539     GLS_EXPORT 
void Inverse( 
const bool& inverse );
 
  582 #if !defined( GCC_2_95 ) 
  588     virtual GLS_EXPORT 
void Rotate( 
const Vector& orig, 
float angle, 
const Vector& axis );
 
  591     virtual GLS_EXPORT 
void SetValue( 
int spec, va_list& args );
 
  603     GLS_EXPORT 
void Shadow( 
bool shadow );
 
  613     GLS_EXPORT 
void ShadowColor( 
const GlsColor& color );
 
  615     GlsColor ShadowColor()
 const 
  635     GLS_EXPORT 
void ShadowOffset( 
const Vector& offset );
 
  645     GLS_EXPORT 
void StrikeThru( 
const bool& strike );
 
  654     GLS_EXPORT 
void String( 
const std::string& s );
 
  661         String( std::string( s ) );
 
  686     GLS_EXPORT 
void Underline( 
const bool& underline );
 
  695     GLS_EXPORT 
void Uppercase( 
bool uppercase );
 
  696     bool            Uppercase()
 const 
  704     GLS_EXPORT 
void WrapText( 
bool wrap );
 
  743             , shadowOffsetX( 0.0f )
 
  744             , shadowOffsetY( 0.0f )
 
  749             const float     segmentX1,
 
  750             const float     segmentX2,
 
  751             const float     segmentY,
 
  752             const float     segmentThickness,
 
  753             const float     segmentShadowOffsetX,
 
  754             const float     segmentShadowOffsetY,
 
  759             , thickness( segmentThickness )
 
  760             , shadowOffsetX( segmentShadowOffsetX )
 
  761             , shadowOffsetY( segmentShadowOffsetY )
 
  762             , color( segmentColor )
 
  768     typedef std::vector<CharAttr_t> CharAttrCont_t;
 
  770     static GLS_EXPORT 
const Vector XAXIS;
 
  771     static GLS_EXPORT 
const Vector YAXIS;
 
  773     static GLS_EXPORT 
Vertex INITIAL_VERTICES[ NUM_VERTICES ];
 
  784     Vertex _currentVertices[ NUM_VERTICES ];
 
  869         glBegin( GL_POLYGON );
 
  870         glVertex2f( x1, y1 );
 
  871         glVertex2f( x1, y2 );
 
  872         glVertex2f( x2, y2 );
 
  873         glVertex2f( x2, y1 );
 
  894     GLS_EXPORT 
char* 
FormatVarArgList( 
const int initialBufferLength, 
const char* format, va_list args );
 
  900     GLS_EXPORT 
void RecalcDirectionVectors();
 
  907     virtual GLS_EXPORT 
void OnCellDimensionChanged()
 
  912     void operator=( const 
GlsText& ) DISTI_SPECIAL_MEM_FUN_DELETE;
 
  918 inline std::istream& operator>>(
 
  926         j = disti::GlsText::LEFT;
 
  928     else if( str == 
"CENTER" )
 
  930         j = disti::GlsText::CENTER;
 
  932     else if( str == 
"RIGHT" )
 
  934         j = disti::GlsText::RIGHT;
 
  944     case disti::GlsText::LEFT:
 
  947     case disti::GlsText::CENTER:
 
  950     case disti::GlsText::RIGHT:
 
  967     DISTI_DEPRECATED( 
"This identifier is forbidden by the C++ standard. Use BaseClass instead." )
 
  987         _charAttr = _text->CharAttr( 0 );
 
  988         return BaseClass::WriteValue( outstr );
 
  995         _charAttr = _text->CharAttr( 0 );
 
  997         BaseClass::ReadValue( instr );
 
  999         _text->Baseline( _charAttr.baselineShift );
 
 1000         _text->BgColor( _charAttr.bgColor );
 
 1001         _text->CharSpacing( _charAttr.spacing );
 
 1002         _text->TextColor( _charAttr.fgColor );
 
 1003         _text->FauxBold( _charAttr.fauxBold );
 
 1004         _text->Inverse( _charAttr.inverse );
 
 1005         _text->CharScaling( _charAttr.scale );
 
 1006         _text->StrikeThru( _charAttr.strikeThru );
 
 1007         _text->Underline( _charAttr.underline );
 
The DistiUnhideGlobalsDummyClass class. 
virtual void Rotate(const Vector &orig, float angle, const Vector &axis)
Vector _vX
Definition: gls_text.h:843
void ShadowOffset(const Vector &offset)
virtual void SetValue(int spec, va_list &args)
bool _uppercase
Definition: gls_text.h:840
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute. 
Definition: gls_cpp_lang_support.h:436
virtual bool OkToWrite() const 
Definition: gls_text.h:980
bool ConstrainCellRatio() const 
Definition: gls_text.h:451
#define GLS_UNICODE_FONT_NAME_PREFIX
Definition: gls_font_man.h:50
Definition: dynamic_array.h:66
virtual std::istream & ReadValue(std::istream &instr)
Definition: gls_text.h:990
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:795
Attributes for each character position in the grid. 
Definition: gls_text.h:177
Justify_t _justify
Definition: gls_text.h:810
virtual bool RequiresFontFile() const 
Definition: gls_text.h:720
float LineSpacing() const 
Definition: gls_text.h:563
virtual void GetCppInterfaceDescriptionFree(InterfaceListType *array)
Definition: gls_text.h:964
void ShadowDistance(const float &dist)
Definition: gls_text.h:625
The disti::GLPolygon class. Implements Polygons. 
float _cellHeight
Definition: gls_text.h:787
Definition: gls_text.h:151
std::string _text
Definition: gls_text.h:837
CharAttrCont_t _chars
Definition: gls_text.h:782
The Color class: Implements a 4 component RGBA color. 
Justify_t
Different text justifications. 
Definition: gls_text.h:169
float _lineSpacing
Definition: gls_text.h:813
Definition: gls_glo_file.h:988
Definition: gls_unicode_font_base.h:65
std::ostream & operator<<(std::ostream &outstr, const AttributeName &name)
Defines the stream out operator. 
Justify_t Justify() const 
Definition: gls_text.h:551
virtual InterfaceListType * GetCppInterfaceDescription(InterfaceListType *addToThisList=NULL)
ScopedPtr< RuntimeGlyphGenerationText > _runtimeGlyphGenerationText
Definition: gls_text.h:903
GlsRuntimeFontBase * GetGlsRuntimeFontBase(const GlsFontBase *font)
Definition: gls_text.h:114
float CellWidth() const 
Definition: gls_text.h:394
bool LockCellSize() const 
Definition: gls_text.h:577
The disti::GlsFontMan class. 
VertexNoColor Vector
Definition: gls_font_base.h:66
bool _lockCellSize
Definition: gls_text.h:820
bool _controlCellSize
Definition: gls_text.h:798
float _border
Definition: gls_text.h:779
bool ControlCellSize() const 
Definition: gls_text.h:465
CharAttr_t CharAttribs() const 
Definition: gls_text.h:410
GlsColor _haloColor
Definition: gls_text.h:807
Definition: gls_runtime_font_base.h:66
static void DrawScalableLine(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Definition: gls_text.h:862
Definition: gls_text.h:208
bool WrapText() const 
Definition: gls_text.h:707
Definition: gls_color.h:53
virtual void Rotate(float angle, int axis=Z_AXIS)
GlsFontBase * Font() const 
Definition: gls_text.h:490
Vector _vZ
Definition: gls_text.h:849
float _cellWidth
Definition: gls_text.h:790
virtual std::ostream & WriteValue(std::ostream &outstr)
Definition: gls_text.h:985
CharAttr_t CharAttr(unsigned int index) const 
Definition: gls_text.h:416
Vector _vY
Definition: gls_text.h:846
GlsFontBase * _font
Definition: gls_text.h:801
Definition: gls_metadata_attributes.h:619
The disti::GlsUnicodeFontBase class and related classes. 
std::string String() const 
Definition: gls_text.h:669
void SetRebuild()
Definition: gls_text.h:713
A smart pointer with unique ownership – poor man's std::unique_ptr. 
virtual void CopyProperties(DisplayObject *src)
bool _wrapText
Definition: gls_text.h:852
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:834
Macros and helper code to determine what subset of C++11/14/17 is available. 
Definition: disti_metadata.h:85
bool _needToRebuild
Definition: gls_text.h:825
Definition: bmpimage.h:46
void String(const char *s)
Definition: gls_text.h:659
float Border() const 
Definition: gls_text.h:365
Definition: gls_text.h:727
The disti::GlsRuntimeFontBase class and related classes. 
float CellHeight() const 
Definition: gls_text.h:380
virtual void SetAvailableAttributes(unsigned int value)
GlsColor _shadowColor
Definition: gls_text.h:831
Definition: gls_font_base.h:85
#define GLS_RUNTIME_FONT_NAME_PREFIX
Definition: gls_font_man.h:53