Open CASCADE Technology
6.9.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) |
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 | AdvanceX (const Standard_Utf32Char theUChar, const Standard_Utf32Char theUCharNext) |
Compute advance to the next character with kerning applied when applicable. Assuming text rendered horizontally. More... | |
float | Ascender () const |
float | Descender () const |
float | LineSpacing () const |
void | RenderGlyph (const Handle< OpenGl_Context > &theCtx, const Standard_Utf32Char theUChar, const Standard_Utf32Char theUCharNext, Tile &theGlyph, OpenGl_Vec2 &thePen) |
Compute glyph rectangle at specified pen position (on baseline) and render it 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 Handle_Standard_Type & | DynamicType () const |
Returns a type information object about this object. More... | |
Standard_Boolean | IsInstance (const 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 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... | |
virtual Handle_Standard_Transient | This () const |
Returns a Handle which references this object. Must never be called to objects created in stack. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. 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 |
Texture font.
OpenGl_Font::OpenGl_Font | ( | const Handle< Font_FTFont > & | theFont, |
const TCollection_AsciiString & | theKey = "" |
||
) |
Main constructor.
|
virtual |
Destroy object.
|
inline |
Compute advance to the next character with kerning applied when applicable. Assuming text rendered horizontally.
|
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 |
|
virtual |
Destroy object - will release GPU memory if any.
Implements OpenGl_Resource.
void OpenGl_Font::RenderGlyph | ( | const Handle< OpenGl_Context > & | theCtx, |
const Standard_Utf32Char | theUChar, | ||
const Standard_Utf32Char | theUCharNext, | ||
Tile & | theGlyph, | ||
OpenGl_Vec2 & | thePen | ||
) |
Compute glyph rectangle at specified pen position (on baseline) and render it to texture if not already.
theCtx | active context |
theUChar | unicode symbol to render |
theUCharNext | next symbol to compute advance with kerning when available |
theGlyph | computed glyph position rectangle, texture ID and UV coordinates |
thePen | pen position on baseline to place new glyph |
|
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