Open CASCADE Technology
7.2.0
|
Texture font. More...
#include <OpenGl_Font.hxx>
Data Structures | |
struct | RectI |
struct | Tile |
Simple structure stores tile rectangle. More... | |
Public Member Functions | |
OpenGl_Font (const Handle< Font_FTFont > &theFont, const TCollection_AsciiString &theKey="") | |
Main constructor. More... | |
virtual | ~OpenGl_Font () |
Destroy object. More... | |
virtual void | Release (OpenGl_Context *theCtx) override |
Destroy object - will release GPU memory if any. More... | |
const TCollection_AsciiString & | ResourceKey () const |
const Handle< Font_FTFont > & | FTFont () const |
bool | IsValid () const |
bool | WasInitialized () const |
Notice that this method doesn't return initialization success state. Use IsValid() instead. More... | |
bool | Init (const Handle< OpenGl_Context > &theCtx) |
Initialize GL resources. FreeType font instance should be already initialized! More... | |
float | Ascender () const |
float | Descender () const |
float | LineSpacing () const |
bool | RenderGlyph (const Handle< OpenGl_Context > &theCtx, const Standard_Utf32Char theUChar, Tile &theGlyph) |
Render glyph to texture if not already. More... | |
Public Member Functions inherited from OpenGl_Resource | |
OpenGl_Resource () | |
Empty constructor. More... | |
virtual | ~OpenGl_Resource () |
Destructor. Inheritors should call Clean (NULL) within it. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Protected Member Functions | |
bool | renderGlyph (const Handle< OpenGl_Context > &theCtx, const Standard_Utf32Char theChar) |
Render new glyph to the texture. More... | |
bool | createTexture (const Handle< OpenGl_Context > &theCtx) |
Allocate new texture. More... | |
Protected Attributes | |
TCollection_AsciiString | myKey |
key of shared resource More... | |
Handle< Font_FTFont > | myFont |
FreeType font instance. More... | |
Standard_ShortReal | myAscender |
ascender provided my FT font More... | |
Standard_ShortReal | myDescender |
descender provided my FT font More... | |
Standard_ShortReal | myLineSpacing |
line spacing provided my FT font More... | |
Standard_Integer | myTileSizeX |
tile width More... | |
Standard_Integer | myTileSizeY |
tile height More... | |
Standard_Integer | myLastTileId |
id of last tile More... | |
RectI | myLastTilePx |
Standard_Integer | myTextureFormat |
texture format More... | |
NCollection_Vector< Handle< OpenGl_Texture > > | myTextures |
array of textures More... | |
NCollection_Vector< Tile > | myTiles |
array of loaded tiles More... | |
NCollection_DataMap< Standard_Utf32Char, Standard_Integer > | myGlyphMap |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Texture font.
OpenGl_Font::OpenGl_Font | ( | const Handle< Font_FTFont > & | theFont, |
const TCollection_AsciiString & | theKey = "" |
||
) |
Main constructor.
|
virtual |
Destroy object.
|
inline |
|
protected |
Allocate new texture.
|
inline |
|
inline |
bool OpenGl_Font::Init | ( | const Handle< OpenGl_Context > & | theCtx | ) |
Initialize GL resources. FreeType font instance should be already initialized!
|
inline |
|
inline |
|
overridevirtual |
Destroy object - will release GPU memory if any.
Implements OpenGl_Resource.
bool OpenGl_Font::RenderGlyph | ( | const Handle< OpenGl_Context > & | theCtx, |
const Standard_Utf32Char | theUChar, | ||
Tile & | theGlyph | ||
) |
Render glyph to texture if not already.
theCtx | active context |
theUChar | unicode symbol to render |
theGlyph | computed glyph position rectangle, texture ID and UV coordinates |
|
protected |
Render new glyph to the texture.
|
inline |
|
inline |
Notice that this method doesn't return initialization success state. Use IsValid() instead.
|
protected |
ascender provided my FT font
|
protected |
descender provided my FT font
|
protected |
FreeType font instance.
|
protected |
|
protected |
key of shared resource
|
protected |
id of last tile
|
protected |
|
protected |
line spacing provided my FT font
|
protected |
texture format
|
protected |
array of textures
|
protected |
array of loaded tiles
|
protected |
tile width
|
protected |
tile height