Open CASCADE Technology 7.8.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. | |
virtual | ~OpenGl_Font () |
Destroy object. | |
virtual void | Release (OpenGl_Context *theCtx) override |
Destroy object - will release GPU memory if any. | |
virtual Standard_Size | EstimatedDataSize () const override |
Returns estimated GPU memory usage. | |
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. | |
bool | Init (const Handle< OpenGl_Context > &theCtx) |
Initialize GL resources. FreeType font instance should be already initialized! | |
float | Ascender () const |
float | Descender () const |
bool | RenderGlyph (const Handle< OpenGl_Context > &theCtx, const Standard_Utf32Char theUChar, Tile &theGlyph) |
Render glyph to texture if not already. | |
const Handle< OpenGl_Texture > & | Texture () const |
Public Member Functions inherited from OpenGl_Resource | |
OpenGl_Resource () | |
Empty constructor. | |
virtual | ~OpenGl_Resource () |
Destructor. Inheritors should call Clean (NULL) within it. | |
virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const |
Dumps the content of me into the stream. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
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. | |
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. | |
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. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Member Functions | |
bool | renderGlyph (const Handle< OpenGl_Context > &theCtx, const Standard_Utf32Char theChar) |
Render new glyph to the texture. | |
bool | createTexture (const Handle< OpenGl_Context > &theCtx) |
Allocate new texture. | |
Protected Attributes | |
TCollection_AsciiString | myKey |
key of shared resource | |
Handle< Font_FTFont > | myFont |
FreeType font instance. | |
Standard_ShortReal | myAscender |
ascender provided my FT font | |
Standard_ShortReal | myDescender |
descender provided my FT font | |
Standard_Integer | myTileSizeY |
tile height | |
Standard_Integer | myLastTileId |
id of last tile | |
RectI | myLastTilePx |
Standard_Integer | myTextureFormat |
texture format | |
NCollection_Vector< Handle< OpenGl_Texture > > | myTextures |
array of textures | |
NCollection_Vector< Tile > | myTiles |
array of loaded tiles | |
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. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
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 |
|
overridevirtual |
Returns estimated GPU memory usage.
Implements OpenGl_Resource.
|
inline |
bool OpenGl_Font::Init | ( | const Handle< OpenGl_Context > & | theCtx | ) |
Initialize GL resources. FreeType font instance should be already initialized!
|
inline |
|
overridevirtual |
Destroy object - will release GPU memory if any.
Implements OpenGl_Resource.
|
protected |
Render new glyph to the texture.
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 |
|
inline |
|
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 |
texture format
|
protected |
array of textures
|
protected |
array of loaded tiles
|
protected |
tile height