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:982
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:610
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