YSTest: YSLib::Drawing::TextState类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | 相关函数 | 所有成员列表
YSLib::Drawing::TextState类 参考

文本状态。 更多...

`#include <TextBase.h>`

类 YSLib::Drawing::TextState 继承关系图:
[图例]
YSLib::Drawing::TextState 的协作图:
[图例]

## Public 成员函数

| TextState (const Drawing::Font &={}, const Padding &=DefaultMargin)
| 构造：使用指定字体和边距。 更多...
| TextState (FontCache &, const Padding &=DefaultMargin)
| 构造：使用指定字体缓存和边距。 更多...
void | ResetPen (const Point &, const Padding &={})
| 按指定显示区域左上角位置和附加边距重新设置笔位置。 更多...

## Public 属性

Padding | Margin
| 边距：文本区域到显示区域的距离。 更多...
Point | Pen {}
| 笔坐标。 更多...
std::uint8_t | LineGap = 0
| 行距。 更多...
PDefHOp(TextState &,=, const PenStyle &ps) ImplRet(PenStyle void | ResetPen ()
| 赋值：笔样式。 更多...
Drawing::Font | Font
Drawing::Color | Color

## 相关函数

(请注意: 这些不是成员函数.)
#define | PDefH(_t, _n, ...)
| 取当前指定文本状态的字体设置对应的行高。 更多...

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::Drawing::PenStyle
| PenStyle (const Drawing::Font &fnt={}, Drawing::Color c=Drawing::ColorSpace::White)
| 构造：使用指定字体家族、字体大小和颜色。 更多...
Protected 属性 继承自 YSLib::Drawing::PenStyle
Drawing::Font | Font
| 字体。 更多...
Drawing::Color | Color
| 笔颜色。 更多...

## 详细描述

文本状态。

包含笔样式、显示区域边界、字体缓存和行距。 文本区域指文本状态描述的平面区域。 文本区域位置坐标是文本区域左上角为原点的屏幕坐标系。 笔位置以文本区域位置坐标表示。 显示区域为文本区域内部实际显示文本光栅化结果的区域。 边距描述显示区域和文本区域的位置关系。 文本状态不包含文本区域和显示区域的大小，应由外部图形接口上下文或缓冲区状态确定。

自从
  build 145

在文件 TextBase.h 第 86 行定义.

## 构造及析构函数说明

## ◆ TextState() [1/2]

YSLib::Drawing::TextState::TextState | ( | const Drawing::Font & | font = `{}`,
|  | const Padding & | m = `DefaultMargin`
| ) |  |

explicit

构造：使用指定字体和边距。

自从
  build 515

在文件 TextBase.cpp 第 43 行定义.

## ◆ TextState() [2/2]

YSLib::Drawing::TextState::TextState | ( | FontCache & | fc,
|  | const Padding & | m = `DefaultMargin`
| ) |  |

explicit

构造：使用指定字体缓存和边距。

自从
  build 515

在文件 TextBase.cpp 第 47 行定义.

## 成员函数说明

## ◆ ResetPen()

void YSLib::Drawing::TextState::ResetPen | ( | const Point & | ,
|  | const Padding & | = `{}`
| ) |  |

按指定显示区域左上角位置和附加边距重新设置笔位置。

自从
  build 372

通过已有的区域左上角坐标和附加边距的左和上分量约束新和笔位置。

## 友元及相关函数文档

## ◆ PDefH

#define PDefH | ( |  | SDst,
|  |  | GetTextLineHeightOf,
|  |  | const TextState &ts
| ) |  |

related

值:
_t \
_n(__VA_ARGS__)

取当前指定文本状态的字体设置对应的行高。

自从
  build 231

取当前指定文本状态的字体设置对应的行高与行距之和。

自从
  build 231

## 类成员变量说明

## ◆ Color

Drawing::Color YSLib::Drawing::PenStyle::Color

自从
  build 371

在文件 TextBase.h 第 58 行定义.

被这些函数引用 YSLib::Drawing::DrawClippedText(), YSLib::UI::HexView::HexView() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

## ◆ Font

Drawing::Font YSLib::Drawing::PenStyle::Font

自从
  build 371

在文件 TextBase.h 第 57 行定义.

被这些函数引用 YSLib::DS::UI::DualScreenReader::Execute(), YSLib::Drawing::MovePen(), YSLib::Drawing::PutCharBase() , 以及 YSLib::DS::UI::DualScreenReader::SetFontSize().

## ◆ LineGap

std::uint8_t YSLib::Drawing::TextState::LineGap = 0

行距。

在文件 TextBase.h 第 99 行定义.

被这些函数引用 YSLib::DS::UI::DualScreenReader::Execute(), YSLib::Drawing::FetchResizedBottomMargin(), YSLib::Drawing::FetchResizedLineN(), YSLib::UI::HexViewArea::Refresh() , 以及 YSLib::DS::UI::DualScreenReader::SetLineGap().

## ◆ Margin

Padding YSLib::Drawing::TextState::Margin

边距：文本区域到显示区域的距离。

在文件 TextBase.h 第 93 行定义.

被这些函数引用 YSLib::DS::UI::DualScreenReader::AdjustMargins(), YSLib::Drawing::TextRegion::ClearTextLine(), YSLib::Drawing::DrawClippedText(), YSLib::Drawing::FetchResizedBottomMargin(), YSLib::Drawing::FetchResizedLineN(), YSLib::Drawing::ImplDeDtor(), YSLib::UI::HexViewArea::Refresh() , 以及 YSLib::Drawing::TextRegion::Scroll().

## ◆ Pen

Point YSLib::Drawing::TextState::Pen {}

笔坐标。

自从
  build 371

在文件 TextBase.h 第 98 行定义.

被这些函数引用 YSLib::Drawing::FetchStringWidth(), YSLib::Drawing::MovePen(), YSLib::Drawing::PutCharBase(), YSLib::Drawing::PutLine(), YSLib::Drawing::PutString(), YSLib::UI::HexViewArea::Refresh(), YSLib::DS::UI::DualScreenReader::ScrollByPixel() , 以及 YSLib::Drawing::SetCurrentTextLineNOf().

## ◆ ResetPen

void YSLib::Drawing::TextState::ResetPen

赋值：笔样式。

赋值：边距。

取当前状态下继续在行内打印指定字符占据的边界。

注解
  不考虑换行。

自从
  build 641

打印换行。

复位笔：按字体大小设置笔位置为默认位置。

注解
  默认笔位置在由边距约束的显示区域左上角。

在文件 TextBase.h 第 145 行定义.

被这些函数引用 YSLib::Drawing::DrawClippedText(), YSLib::Drawing::TextRegion::InitializeFont(), YSLib::UI::HexViewArea::Refresh() , 以及 YSLib::DS::UI::DualScreenReader::Reset().

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

- TextBase.h
- TextBase.cpp