YSTest: YSLib::Drawing::FontCache类 参考

YSTest PreAlpha_b400_20130424 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | 静态 Public 属性 | Protected 属性 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
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 FaceSet & | GetFaces () const ynothrow
| 取字型组。
const FamilyMap & | GetFamilyIndices () const ynothrow
| 取字型家族组索引。
const FontFamily * | GetFontFamilyPtr (const FamilyName &) const
| 取指定名称的字型家族指针。
const Typeface * | GetDefaultTypefacePtr () const ythrow(LoggedEvent)
| 取默认字型指针。
const Typeface * | GetTypefacePtr (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
| 字型家族组索引。
Typeface * | pDefaultFace
| 默认字型指针。

## 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
| 禁止复制构造。
noncopyable & | operator= (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.h 第 278 行定义.

## 成员类型定义说明

typedef set<Typeface*, ystdex::deref_comp<const Typeface> > YSLib::Drawing::FontCache::FaceSet

字型组类型。

在文件 Font.h 第 290 行定义.

typedef map<FamilyName, FontFamily*> YSLib::Drawing::FontCache::FamilyMap

字型家族组索引类型。

在文件 Font.h 第 291 行定义.

## 构造及析构函数说明

FontCache::FontCache | ( | size_t | cache_size = `DefaultGlyphCacheSize` | ) |

explicit

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

自从
  build 316

在文件 Font.cpp 第 193 行定义.

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

函数调用图:

FontCache::~FontCache | ( |  | ) |

析构：释放空间。

在文件 Font.cpp 第 213 行定义.

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

函数调用图:

## 成员函数说明

void FontCache::ClearCache | ( |  | ) |

清除缓存。

在文件 Font.cpp 第 278 行定义.

参考 ClearContainers() , 以及 manager.

函数调用图:

void FontCache::ClearContainers | ( |  | ) |

private

清除容器。

在文件 Font.cpp 第 285 行定义.

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

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

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

const Typeface * FontCache::GetDefaultTypefacePtr | ( |  | ) | const

取默认字型指针。

异常

  LoggedEvent | 记录异常事件。

注解
  仅抛出以上异常。

在文件 Font.cpp 第 229 行定义.

参考 FetchDefaultFontCache() , 以及 pDefaultFace.

函数调用图:

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

inline

取字型组。

自从
  build 281

在文件 Font.h 第 329 行定义.

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

inline

取字型家族组索引。

在文件 Font.h 第 330 行定义.

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

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

在文件 Font.cpp 第 221 行定义.

参考 mFamilies.

参考自 GetTypefacePtr().

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

FT_Face FontCache::GetNativeFace | ( | Typeface * | pFace | ) | const

private

取当前本机类型字型。

自从
  build 280

在文件 Font.cpp 第 246 行定义.

参考 manager , 以及 YB_LIKELY.

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

取指定名称的字型指针。

在文件 Font.cpp 第 236 行定义.

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

函数调用图:

void FontCache::InitializeDefaultTypeface | ( |  | ) |

初始化默认字型。

在文件 Font.cpp 第 330 行定义.

参考 pDefaultFace,sFaces , 以及 YB_LIKELY.

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

private

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

自从
  build 316

在文件 Font.cpp 第 294 行定义.

参考 ynew.

参考自 LoadTypefaces().

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

size_t FontCache::LoadTypefaces | ( | const FontPath & | path | ) |

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

返回
  成功载入的字型数。

自从
  build 316

在文件 Font.cpp 第 305 行定义.

参考 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.h 第 428 行定义.

## 友元及相关函数文档

friend class Font

friend

友元类：访问 scaler 等对象。

自从
  build 280

在文件 Font.h 第 286 行定义.

friend class Typeface

friend

在文件 Font.h 第 281 行定义.

## 类成员变量说明

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

private

在文件 Font.h 第 303 行定义.

参考自 FontCache().

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

static

字形缓冲区大小。

注解
  单位为字节。

自从
  build 277

在文件 Font.h 第 298 行定义.

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

private

库实例。

在文件 Font.h 第 301 行定义.

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

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

private

内存管理器实例。

在文件 Font.h 第 302 行定义.

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

FamilyMap YSLib::Drawing::FontCache::mFamilies

protected

字型家族组索引。

在文件 Font.h 第 308 行定义.

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

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

protected

默认字型指针。

在文件 Font.h 第 310 行定义.

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

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

private

在文件 Font.h 第 304 行定义.

参考自 FontCache().

FaceSet YSLib::Drawing::FontCache::sFaces

protected

字型组。

在文件 Font.h 第 307 行定义.

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

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

- Font.h
- Font.cpp