YSTest: YSLib::UI::MLabel类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 所有成员列表
YSLib::UI::MLabel类 参考
UI » User Interface Brushes | UI » User Interface Models

标签模块。 更多...

`#include <Label.h>`

类 YSLib::UI::MLabel 继承关系图:
[图例]
YSLib::UI::MLabel 的协作图:
[图例]

## Public 成员函数

| MLabel (const Drawing::Font &={}, Color=Drawing::ColorSpace::Black, TextAlignment=TextAlignment::Left)
| 构造：使用指定字体、文本颜色和文本对齐样式。 更多...
void | operator() (PaintEventArgs &&) const
| 描画：使用发送者的大小并调用 DrawText 绘制文本。 更多...
YB_ATTR_nodiscard YB_PURE Point | GetAlignedPenOffset (const Size &) const
| 按参数指定的边界大小和当前状态计算笔的偏移位置。 更多...
| DefGetter (const ynothrow, SDst, ItemHeight, Font.GetHeight()+GetVerticalOf(Margin)) void DrawText(const Size &
| 绘制文本。 更多...

## 静态 Public 成员函数

static void | DefaultUpdateClippedText (const PaintContext &, Drawing::TextState &, const String &, bool)
| 绘制剪切文本：使用指定的绘制上下文和文本状态。 更多...

## Public 属性

Drawing::GBrushUpdater< Drawing::TextState &, const String &, bool > | UpdateClippedText {DefaultUpdateClippedText}
| 当前使用的剪切文本更新器。 更多...
Color | ForeColor {Drawing::ColorSpace::Black}
| 默认前景色。 更多...
Drawing::Font | Font
| 字体。 更多...
Drawing::Padding | Margin {Drawing::DefaultMargin}
| 文本和容器的间距。 更多...
TextAlignment | HorizontalAlignment
| 文本水平和竖直对齐属性。 更多...
TextAlignment | VerticalAlignment = TextAlignment::Center
bool | AutoWrapLine = {}
| 启用自动换行。 更多...
String | Text {}
| 标签文本。 更多...
const PaintContext & | const

## 详细描述

标签模块。

警告
  非虚析构。

在文件 Label.h 第 61 行定义.

## 构造及析构函数说明

## ◆ MLabel()

YSLib::UI::MLabel::MLabel | ( | const Drawing::Font & | fnt = `{}`,
|  | Color | c = `Drawing::ColorSpace::Black`,
|  | TextAlignment | a = `TextAlignment::Left`
| ) |  |

explicit

构造：使用指定字体、文本颜色和文本对齐样式。

自从
  build 485

在文件 Label.cpp 第 41 行定义.

## 成员函数说明

## ◆ DefaultUpdateClippedText()

void YSLib::UI::MLabel::DefaultUpdateClippedText | ( | const PaintContext & | pc,
|  | Drawing::TextState & | ts,
|  | const String & | text,
|  | bool | auto_wrap_line
| ) |  |

static

绘制剪切文本：使用指定的绘制上下文和文本状态。

自从
  build 525

在文件 Label.cpp 第 116 行定义.

引用了 YSLib::Drawing::DrawClippedText() , 以及 YSLib::Drawing::ts.

被这些函数引用 YSLib::UI::TextBox::UpdateTextBoxClippedText().

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

## ◆ DefGetter()

YSLib::UI::MLabel::DefGetter | ( | const | ynothrow,
|  | SDst | ,
|  | ItemHeight | ,
|  | Font. | GetHeight)+GetVerticalOf(Margin
| ) |  | const &

绘制文本。

自从
  build 526

参见
  AlignPen
  DrawClipText

自从
  build 525

## ◆ GetAlignedPenOffset()

Point YSLib::UI::MLabel::GetAlignedPenOffset | ( | const Size & | s | ) | const

按参数指定的边界大小和当前状态计算笔的偏移位置。

自从
  build 515

在文件 Label.cpp 第 52 行定义.

引用了 AutoWrapLine, YSLib::UI::Center, YSLib::UI::Down, YSLib::Drawing::FetchStringWidth(), YSLib::Drawing::Font::GetHeight(), YSLib::Drawing::GetHorizontalOf, YSLib::Drawing::GetVerticalOf, HorizontalAlignment, YSLib::UI::Left, Margin, YSLib::UI::Right, CHRLib::s, YSLib::UI::SPos, Text, YSLib::UI::Up, VerticalAlignment, YSLib::Drawing::GBinaryGroup< _type >::X , 以及 YSLib::Drawing::GBinaryGroup< _type >::Y.

被这些函数引用 YSLib::UI::TextBox::GetPenOffset().

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

## ◆ operator()()

void YSLib::UI::MLabel::operator() | ( | PaintEventArgs && | e | ) | const

描画：使用发送者的大小并调用 DrawText 绘制文本。

自从
  build 525

在文件 Label.cpp 第 46 行定义.

引用了 YSLib::Drawing::DrawText(), YSLib::UI::e , 以及 YSLib::UI::GetSizeOf.

函数调用图:

## 类成员变量说明

## ◆ AutoWrapLine

bool YSLib::UI::MLabel::AutoWrapLine = {}

启用自动换行。

自从
  build 309

在文件 Label.h 第 91 行定义.

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

## ◆ const

const PaintContext& YSLib::UI::MLabel::const

在文件 Label.h 第 128 行定义.

## ◆ Font

Drawing::Font YSLib::UI::MLabel::Font

字体。

在文件 Label.h 第 78 行定义.

被这些函数引用 YSLib::UI::ResizeForContent().

## ◆ ForeColor

Color YSLib::UI::MLabel::ForeColor {Drawing::ColorSpace::Black}

默认前景色。

自从
  build 525

在文件 Label.h 第 77 行定义.

被这些函数引用 YSLib::UI::Menu::Menu(), YSLib::UI::TextBox::PaintDefaultCaret(), YSLib::UI::TextList::TextList(), YSLib::UI::TreeList::TreeList() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

## ◆ HorizontalAlignment

TextAlignment YSLib::UI::MLabel::HorizontalAlignment

文本水平和竖直对齐属性。

注解
  只在停用自动换行且可完整显示时有效。

自从
  build 208

在文件 Label.h 第 85 行定义.

被这些函数引用 GetAlignedPenOffset().

## ◆ Margin

Drawing::Padding YSLib::UI::MLabel::Margin {Drawing::DefaultMargin}

文本和容器的间距。

在文件 Label.h 第 79 行定义.

被这些函数引用 YSLib::UI::CheckButton::CheckButton(), GetAlignedPenOffset(), YSLib::UI::TextBox::GetCaretPosition(), YSLib::UI::TreeList::GetIndentBox(), YSLib::UI::TextBox::GetPenOffset(), YSLib::UI::Menu::Menu(), YSLib::UI::MTextList::MTextList(), YSLib::UI::RadioButton::RadioButton(), YSLib::UI::ResizeForContent() , 以及 YSLib::UI::TreeList::TreeList().

## ◆ Text

String YSLib::UI::MLabel::Text {}

标签文本。

在文件 Label.h 第 94 行定义.

被这些函数引用 GetAlignedPenOffset(), YSLib::UI::TextBox::GetCaretLocation(), YSLib::UI::TextBox::GetCaretPosition(), YSLib::UI::MTextList::MTextList(), YSLib::UI::TextBox::Refresh(), YSLib::UI::TextBox::SelectAll(), YSLib::UI::TextBox::TextBox() , 以及 YSLib::UI::TextBox::UpdateTextBoxClippedText().

## ◆ UpdateClippedText

Drawing::GBrushUpdater<Drawing::TextState&, const String&, bool> YSLib::UI::MLabel::UpdateClippedText {DefaultUpdateClippedText}

当前使用的剪切文本更新器。

注解
  第三模板参数表示是否自动换行。
  被 DrawText 调用。

自从
  build 525

在文件 Label.h 第 71 行定义.

被这些函数引用 YSLib::UI::TextBox::TextBox().

## ◆ VerticalAlignment

TextAlignment YSLib::UI::MLabel::VerticalAlignment = TextAlignment::Center

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

被这些函数引用 GetAlignedPenOffset().

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

- Label.h
- Label.cpp