Guiliani  Version 2.5 revision 7293 (documentation build 13)
CFntWrapFreeType Class Reference

this class wraps FreeType2 More...

#include <FntWrapFreeType.h>

Inheritance diagram for CFntWrapFreeType:

Static Public Member Functions

static eC_Bool CreateInstance (const eC_UInt &uiCacheSize, const eC_UInt &uiMaxNumFaces=10, const eC_UInt &uiMaxNumSizeObjects=10)
 
- Static Public Member Functions inherited from CFntWrap
static void DeleteInstance ()
 

Protected Member Functions

 CFntWrapFreeType ()
 Default constructor.
 
 CFntWrapFreeType (const eC_UInt &uiCacheSize, const eC_UInt &uiMaxNumFaces, const eC_UInt &uiMaxNumSizeObjects)
 
virtual ~CFntWrapFreeType (void)
 Destructor.
 
virtual eC_Int GetAscender () const
 
virtual eC_Int GetDescender () const
 
virtual void GetGlyphMetrics (const eC_Char cChar, GlyphMetrics_t &kMetrics)
 
virtual eC_Int GetInternalLeading () const
 
virtual void LoadFont (const FontResource_t &eFontID)
 
virtual void RequiredSpace (const eC_String *const pkText, eC_Value &vWidth, eC_Value &vHeight)
 
virtual void SetFont (const FontResource_t &eID)
 
virtual eC_Bool SetNOFFonts (const eC_UInt uiNOFFonts)
 
virtual void Text (const eC_Value &vX1, const eC_Value &vY1, const eC_String *const lpString)
 
virtual void UnloadFont (const FontResource_t &eFontID)
 
- Protected Member Functions inherited from CFntWrap
 CFntWrap ()
 Constructor.
 
virtual ~CFntWrap ()
 Destructor.
 

Protected Attributes

eC_Bool m_bUseCache
 if caching is used
 
FT_Library m_pkFreeTypeLibrary
 handle to freetype-library
 
eC_UInt m_uiCacheSize
 size of cache for font
 
eC_UInt m_uiMaxNumFaces
 maximum number of faces
 
eC_UInt m_uiMaxNumSizeObjects
 maximum size of one object
 
- Protected Attributes inherited from CFntWrap
FontResource_t m_eCurFont
 Current font id.
 
CGUICommonEnums::Rotation_t m_eRotation
 Rotation.
 
eC_UInt m_uiNOFFonts
 Total number of fonts.
 
eC_Value m_vSpacing
 Font spacing, i.e the space between letters.
 

Additional Inherited Members

- Public Types inherited from CFntWrap
enum  GUIFont_t { FNT_NORMAL = 0 , FNT_ITALIC = 1 , FNT_UNDERLINED = 2 , FNT_BOLD = 4 }
 
enum  TextOperation_t { RENDER_TEXT , GET_REQUIRED_SPACE }
 
- Public Member Functions inherited from CFntWrap
void ChangeFont (const FontResource_t &eFontID, const eC_String &pcPath, const eC_UInt uiFontSize, const GUIFont_t &eFontStyle)
 
virtual void FittingNumChars (const eC_String *const pkText, eC_Value vWidthMax, eC_UInt &uiNumChars, const eC_Bool &bStartAtEnd=false)
 
virtual eC_Int GetAscender () const
 
virtual eC_Int GetDescender () const
 
virtual void GetGlyphMetrics (const eC_Char cChar, GlyphMetrics_t &kMetrics)
 
virtual eC_Int GetInternalLeading () const
 
virtual eC_UInt GetNOFFonts ()
 
CGUICommonEnums::Rotation_t GetRotation () const
 
virtual eC_Value GetTextXPosAdjustment (const CGUIText::HorAligned_t eHorAlignment)
 
virtual eC_Value GetTextYPosAdjustment (const CGUIText::VerAligned_t eVerAlignment)
 
virtual void LoadFont (const FontResource_t &eFontID)
 
virtual void RequiredSpace (const eC_String *const pkText, eC_Value &vWidth, eC_Value &vHeight)=0
 
virtual void SetFont (const FontResource_t &eID)
 
virtual void SetFontSpacing (const eC_Float &fSpacing)
 
virtual eC_Bool SetNOFFonts (const eC_UInt uiNOFFonts)
 
void SetRotation (const CGUICommonEnums::Rotation_t &eRotation)
 
virtual void Text (const eC_Value &vX1, const eC_Value &vY1, const eC_String *const lpString)=0
 
virtual void UnloadFont (const FontResource_t &eFontID)
 

Detailed Description

this class wraps FreeType2

Constructor & Destructor Documentation

◆ CFntWrapFreeType()

CFntWrapFreeType::CFntWrapFreeType ( const eC_UInt &  uiCacheSize,
const eC_UInt &  uiMaxNumFaces,
const eC_UInt &  uiMaxNumSizeObjects 
)
protected

Constructor.

Parameters
uiCacheSizeThe maximum size of the FreeType cache in byte.
uiMaxNumFacesMaximum number of opened font face objects managed by the FreeType cache.
uiMaxNumSizeObjectsMaximum number of opened size objects managed by the FreeType cache.

Member Function Documentation

◆ CreateInstance()

static eC_Bool CFntWrapFreeType::CreateInstance ( const eC_UInt &  uiCacheSize,
const eC_UInt &  uiMaxNumFaces = 10,
const eC_UInt &  uiMaxNumSizeObjects = 10 
)
static

Create a FntWrap-FreeType object. It should be created in implementation after creation of GfxWrap.

Parameters
uiCacheSizeThe max size of the freetype cache in bytes.
uiMaxNumFacesMaximum number of opened font face objects managed by the FreeType cache.
uiMaxNumSizeObjectsMaximum number of opened size objects managed by the FreeType cache.
Returns
True, if it is successfully created, False otherwise.

◆ GetAscender()

virtual eC_Int CFntWrapFreeType::GetAscender ( ) const
inlineprotectedvirtual

Return the ascender for the font

Returns
ascender

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ GetDescender()

virtual eC_Int CFntWrapFreeType::GetDescender ( ) const
inlineprotectedvirtual

Return the descender for the font

Returns
descender

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ GetGlyphMetrics()

virtual void CFntWrapFreeType::GetGlyphMetrics ( const eC_Char  cChar,
GlyphMetrics_t kMetrics 
)
protectedvirtual

Return the glyph-metrics of specified character

Parameters
cCharcharacter
kMetricsmetrics of the glyph

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ GetInternalLeading()

virtual eC_Int CFntWrapFreeType::GetInternalLeading ( ) const
inlineprotectedvirtual

Return internal leading of font

Returns
internal leading

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ LoadFont()

virtual void CFntWrapFreeType::LoadFont ( const FontResource_t eFontID)
protectedvirtual

Loads a font identified by eFontID into an array of fonts at position eFontID. If the font already exists, it's not loaded again. Should only be called by a FntWrapper.

Parameters
eFontIDid (and hence index) of the font. False else.

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ RequiredSpace()

virtual void CFntWrapFreeType::RequiredSpace ( const eC_String *const  pkText,
eC_Value &  vWidth,
eC_Value &  vHeight 
)
protectedvirtual

Calculates the required space in x- and y-direction of a given text with the currently active font.

Parameters
pkTextThe text.
vWidthReference to width of the font in pixels.
vHeightReference to height of the font in pixels.

Implements CFntWrap.

◆ SetFont()

virtual void CFntWrapFreeType::SetFont ( const FontResource_t eID)
protectedvirtual

Sets a new font for the application.

Parameters
eIDid (and hence index) of the font.

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE.

◆ SetNOFFonts()

virtual eC_Bool CFntWrapFreeType::SetNOFFonts ( const eC_UInt  uiNOFFonts)
protectedvirtual

Sets the total number of fonts. This is called internally by the ResourceManager when dynamically allocated font resources require the total number of fonts to be raised. Derived classes will have to override this method and resize their internal font-storage structures according to the new number of fonts which will have to be stored.

Parameters
uiNOFFontsThe number of fonts
Returns
True if internal storage has been successfully adapted to support the requested number of fonts. False otherwise.

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.

◆ Text()

virtual void CFntWrapFreeType::Text ( const eC_Value &  vX1,
const eC_Value &  vY1,
const eC_String *const  lpString 
)
protectedvirtual

Print the text to screen.

Parameters
vX1Absolute x position of the top-left corner of the bounding rectangle.
vY1Absolute y position of the top-left corner of the bounding rectangle.
lpStringThe string to be printed.

Implements CFntWrap.

◆ UnloadFont()

virtual void CFntWrapFreeType::UnloadFont ( const FontResource_t eFontID)
protectedvirtual

Removes the font from the font list. Should only be called by a FntWrapper.

Parameters
eFontIDId of font to be removed.

Reimplemented from CFntWrap.

Reimplemented in CFntWrapFreeTypeDAVE, and CFntWrapFreeTypeGL.


The documentation for this class was generated from the following file: