YSTest  PreAlpha_b400_20130424
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::Drawing::FontCache类 参考

字体缓存。 更多...

#include <Font.h>

类 YSLib::Drawing::FontCache 继承关系图:
YSLib::Drawing::FontCache 的协作图:

Public 类型

typedef set< Typeface
*, ystdex::deref_comp< const
Typeface > > 
FaceSet
 字型组类型。
 
typedef map< FamilyName,
FontFamily * > 
FamilyMap
 字型家族组索引类型。
 

Public 成员函数

 FontCache (size_t=DefaultGlyphCacheSize)
 构造:分配指定大小的字形缓存空间。
 
 ~FontCache ()
 析构:释放空间。
 
const FaceSetGetFaces () const ynothrow
 取字型组。
 
const FamilyMapGetFamilyIndices () const ynothrow
 取字型家族组索引。
 
const FontFamilyGetFontFamilyPtr (const FamilyName &) const
 取指定名称的字型家族指针。
 
const TypefaceGetDefaultTypefacePtr () const ythrow(LoggedEvent)
 取默认字型指针。
 
const TypefaceGetTypefacePtr (const FamilyName &, const StyleName &) const
 取指定名称的字型指针。
 
void ClearCache ()
 清除缓存。
 
size_t LoadTypefaces (const FontPath &)
 从字体文件组中载入字型信息。
 
void InitializeDefaultTypeface ()
 初始化默认字型。
 
void ResetGlyphCache ()
 

静态 Public 属性

static yconstexpr size_t DefaultGlyphCacheSize = 128U << 10
 字形缓冲区大小。
 

Protected 属性

FaceSet sFaces
 字型组。
 
FamilyMap mFamilies
 字型家族组索引。
 
TypefacepDefaultFace
 默认字型指针。
 

Private 成员函数

::FT_Face GetNativeFace (Typeface *) const
 取当前本机类型字型。
 
void operator+= (FontFamily &)
 向字型家族组添加字型对象。
 
void operator+= (Typeface &)
 向字型组添加字型对象。
 
bool operator-= (FontFamily &)
 从字型家族组中移除指定字型对象。
 
bool operator-= (Typeface &)
 从字型组中移除指定字型对象。
 
void ClearContainers ()
 清除容器。
 
void LoadTypeface (const FontPath &, size_t) ynothrow
 从指定路径的字体文件中载入指定索引指定的字型信息。
 
- Private 成员函数 继承自 ystdex::noncopyable
 noncopyable (const noncopyable &)=delete
 禁止复制构造。
 
noncopyableoperator= (const noncopyable &)=delete
 禁止赋值复制。
 
 noncopyable ()=default
 protected 构造:默认实现。
 
 ~noncopyable ()=default
 protected 析构:默认实现。
 

Private 属性

::FT_Library library
 库实例。
 
::FTC_Manager manager
 内存管理器实例。
 
::FTC_CMapCache cmapCache
 
::FTC_SBitCache sbitCache
 

友元

class Typeface
 
class Font
 友元类:访问 scaler 等对象。
 

详细描述

字体缓存。

警告
非虚析构。
自从
build 209

在文件 Font.h278 行定义.

成员类型定义说明

字型组类型。

在文件 Font.h290 行定义.

字型家族组索引类型。

在文件 Font.h291 行定义.

构造及析构函数说明

FontCache::FontCache ( size_t  cache_size = DefaultGlyphCacheSize)
explicit

构造:分配指定大小的字形缓存空间。

自从
build 316

在文件 Font.cpp193 行定义.

参考 cmapCache,library,manager,sbitCache,ystdex::sfmt(),simpleFaceRequester() , 以及 YB_LIKELY.

函数调用图:

FontCache::~FontCache ( )

析构:释放空间。

在文件 Font.cpp213 行定义.

参考 ClearContainers(),library , 以及 manager.

函数调用图:

成员函数说明

void FontCache::ClearCache ( )

清除缓存。

在文件 Font.cpp278 行定义.

参考 ClearContainers() , 以及 manager.

函数调用图:

void FontCache::ClearContainers ( )
private

清除容器。

在文件 Font.cpp285 行定义.

参考 delete_obj,delete_second_mem,mFamilies , 以及 sFaces.

参考自 ClearCache() , 以及 ~FontCache().

这是这个函数的调用关系图:

const Typeface * FontCache::GetDefaultTypefacePtr ( ) const

取默认字型指针。

异常
LoggedEvent记录异常事件。
注解
仅抛出以上异常。

在文件 Font.cpp229 行定义.

参考 FetchDefaultFontCache() , 以及 pDefaultFace.

函数调用图:

const FaceSet& YSLib::Drawing::FontCache::GetFaces ( ) const
inline

取字型组。

自从
build 281

在文件 Font.h329 行定义.

const FamilyMap& YSLib::Drawing::FontCache::GetFamilyIndices ( ) const
inline

取字型家族组索引。

在文件 Font.h330 行定义.

const FontFamily * FontCache::GetFontFamilyPtr ( const FamilyName family_name) const

取指定名称的字型家族指针。

在文件 Font.cpp221 行定义.

参考 mFamilies.

参考自 GetTypefacePtr().

这是这个函数的调用关系图:

FT_Face FontCache::GetNativeFace ( Typeface pFace) const
private

取当前本机类型字型。

自从
build 280

在文件 Font.cpp246 行定义.

参考 manager , 以及 YB_LIKELY.

const Typeface * FontCache::GetTypefacePtr ( const FamilyName family_name,
const StyleName style_name 
) const

取指定名称的字型指针。

在文件 Font.cpp236 行定义.

参考 GetFontFamilyPtr(),YSLib::Drawing::FontFamily::GetTypefacePtr() , 以及 YB_UNLIKELY.

函数调用图:

void FontCache::InitializeDefaultTypeface ( )

初始化默认字型。

在文件 Font.cpp330 行定义.

参考 pDefaultFace,sFaces , 以及 YB_LIKELY.

void FontCache::LoadTypeface ( const FontPath path,
size_t  idx 
)
private

从指定路径的字体文件中载入指定索引指定的字型信息。

自从
build 316

在文件 Font.cpp294 行定义.

参考 ynew.

参考自 LoadTypefaces().

这是这个函数的调用关系图:

size_t FontCache::LoadTypefaces ( const FontPath path)

从字体文件组中载入字型信息。

返回
成功载入的字型数。
自从
build 316

在文件 Font.cpp305 行定义.

参考 ystdex::fexists(),YSLib::IO::GetFileNameOf(),library , 以及 LoadTypeface().

函数调用图:

void YSLib::Drawing::FontCache::operator+= ( FontFamily )
private

向字型家族组添加字型对象。

自从
build 277
void YSLib::Drawing::FontCache::operator+= ( Typeface )
private

向字型组添加字型对象。

自从
build 277
bool YSLib::Drawing::FontCache::operator-= ( FontFamily )
private

从字型家族组中移除指定字型对象。

自从
build 277
bool YSLib::Drawing::FontCache::operator-= ( Typeface )
private

从字型组中移除指定字型对象。

自从
build 277
void YSLib::Drawing::FontCache::ResetGlyphCache ( )
inline

在文件 Font.h428 行定义.

友元及相关函数文档

friend class Font
friend

友元类:访问 scaler 等对象。

自从
build 280

在文件 Font.h286 行定义.

friend class Typeface
friend

在文件 Font.h281 行定义.

类成员变量说明

::FTC_CMapCache YSLib::Drawing::FontCache::cmapCache
private

在文件 Font.h303 行定义.

参考自 FontCache().

yconstexpr size_t YSLib::Drawing::FontCache::DefaultGlyphCacheSize = 128U << 10
static

字形缓冲区大小。

注解
单位为字节。
自从
build 277

在文件 Font.h298 行定义.

::FT_Library YSLib::Drawing::FontCache::library
private

库实例。

在文件 Font.h301 行定义.

参考自 FontCache(),LoadTypefaces() , 以及 ~FontCache().

::FTC_Manager YSLib::Drawing::FontCache::manager
private

内存管理器实例。

在文件 Font.h302 行定义.

参考自 ClearCache(),FontCache(),GetNativeFace(),YSLib::Drawing::Typeface::Typeface() , 以及 ~FontCache().

FamilyMap YSLib::Drawing::FontCache::mFamilies
protected

字型家族组索引。

在文件 Font.h308 行定义.

参考自 ClearContainers(),GetFontFamilyPtr() , 以及 YSLib::Drawing::Typeface::Typeface().

Typeface* YSLib::Drawing::FontCache::pDefaultFace
protected

默认字型指针。

在文件 Font.h310 行定义.

参考自 GetDefaultTypefacePtr() , 以及 InitializeDefaultTypeface().

::FTC_SBitCache YSLib::Drawing::FontCache::sbitCache
private

在文件 Font.h304 行定义.

参考自 FontCache().

FaceSet YSLib::Drawing::FontCache::sFaces
protected

字型组。

在文件 Font.h307 行定义.

参考自 ClearContainers(),InitializeDefaultTypeface() , 以及 YSLib::Drawing::Typeface::Typeface().


该类的文档由以下文件生成: