YSTest: YSLib::UI::BufferedTextArea类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 成员函数 | Public 属性 | 所有成员列表
YSLib::UI::BufferedTextArea类 参考

缓冲文本区域。 更多...

`#include <TextArea.h>`

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

## Public 成员函数

| BufferedTextArea (const Drawing::Rect &={}, HBrush=MakeBlankBrush(), Drawing::Color=Drawing::ColorSpace::Black)
| 构造：使用指定边界、背景画刷、文本颜色和默认字型缓存。 更多...
| BufferedTextArea (const Drawing::Rect &, Drawing::FontCache &, HBrush=MakeBlankBrush(), Drawing::Color=Drawing::ColorSpace::Black)
| 构造：使用指定边界、字型缓存、背景画刷和文本颜色。 更多...
void | Refresh (PaintEventArgs &&) override
| 刷新：按指定参数绘制界面并更新状态。 更多...
Public 成员函数 继承自 YSLib::UI::Widget
| Widget (const Rect &={})
| Widget (const Rect &, HBrush)
template<typename _tView , typename _tRenderer , typename _tController >
| Widget (_tView &&pView_=make_unique< View >(), _tRenderer &&pRenderer_=make_unique< Renderer >(), _tController &&pController_={})
| 构造：使用视图指针、渲染器指针和控制器指针，无背景。 更多...
| Widget (const Widget &)
| 复制构造：除容器指针为空外深复制。 更多...
| DefDelMoveCtor (Widget) virtual ~Widget()
| since build 428 更多...
| DefGetter (ImplI(IWidget), WidgetRange, Children, WidgetRange()) static HBrush MakeBlankBrush()
| 取空白画刷。 更多...
| DefGetter (const ImplI(IWidget), AController &, Controller, Deref(controller_ptr)) DefGetterMem(const ynothrow
| GetView ()) DefGetter(const ImplI(IWidget)
Renderer | Deref (renderer_ptr)) DefGetter(const ImplI(IWidget)
Renderer AView | Deref (view_ptr)) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefGetterMem(const ynothrow
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) DefSetterMem(
Renderer AView | GetView ()) void SetRenderer(unique_ptr< Renderer >)
| 设置渲染器为指定指针指向的对象，同时更新渲染器状态。 更多...
void | SetView (unique_ptr< AView >)
| 设置视图为指定指针指向的对象。 更多...
Public 成员函数 继承自 YSLib::Drawing::TextRegion
| TextRegion ()
| 无参数构造。 更多...
template<typename... _tParams>
| TextRegion (_tParams &&... args)
| 构造：使用指定参数确定文本状态。 更多...
| DefDeCopyCtor (TextRegion) DefDeMoveCtor(TextRegion) ~TextRegion() override
| 复制构造：默认实现。 更多...
TextRegion & | operator= (const TextState &ts)
| 从文本状态中恢复状态。 更多...
| DefDeCopyAssignment (TextRegion) DefDeMoveAssignment(TextRegion) void operator()(char32_t)
| 复制赋值：默认实现。 更多...
| ImplS (GTextRendererBase) DefGetter(const ynothrow
const TextState *this | ImplS (GTextRendererBase) DefGetter(ynothrow
const TextState *this TextState *this | ImplS (GTextRendererBase) DefGetterBase(const ynothrow override
void | ClearLine (size_t l, SDst n)
| 清除缓冲区第 l 行起始的 n 行像素。 更多...
void | ClearTextLine (size_t)
| 清除缓冲区中的指定行号的文本行。 更多...
void | Scroll (ptrdiff_t n)
| 缓冲区特效：整体移动 n 像素。 更多...
void | Scroll (ptrdiff_t n, SDst h)
| 缓冲区特效：整体移动 n 像素。 更多...
Public 成员函数 继承自 YSLib::Drawing::GTextRendererBase< TextRegion >
| DeclSEntry (const TextState &GetTextState() const) DeclSEntry(TextState &GetTextState()) DeclSEntry(Graphics GetContext() const) DefGetter(const
| < 取文本状态。 更多...
| FetchResizedLineN (static_cast< const TextRegion * >(this) ->GetTextState(), static_cast< const TextRegion * >(this) ->GetContext().GetHeight())) DefGetter(const
| 取按当前行高和行距（行间距数小于行数 1 ）所能显示的最大行数。 更多...
Public 成员函数 继承自 YSLib::Drawing::TextState
| TextState (const Drawing::Font &={}, const Padding &=DefaultMargin)
| 构造：使用指定字体和边距。 更多...
| TextState (FontCache &, const Padding &=DefaultMargin)
| 构造：使用指定字体缓存和边距。 更多...
void | ResetPen (const Point &, const Padding &={})
| 按指定显示区域左上角位置和附加边距重新设置笔位置。 更多...
Public 成员函数 继承自 YSLib::Drawing::CompactPixmapEx
| DefDeCtor (CompactPixmapEx) CompactPixmapEx(ConstBitmapPtr
| 构造：使用指定位图指针和大小。 更多...
| CompactPixmapEx (const CompactPixmapEx &)
| DefDeMoveCtor (CompactPixmapEx) PDefHOp(CompactPixmapEx &
| 复制赋值：使用复制和交换。 更多...
const CompactPixmapEx &buf | ImplRet (ystdex::copy_and_swap(*this, buf)) DefDeMoveAssignment(CompactPixmapEx) DefGetter(const ynothrow
| 取 Alpha 缓冲区的指针。 更多...
const CompactPixmapEx &buf AlphaType pBufferAlpha | get ()) DefGetter(const ynothrow
| 取 Alpha 缓冲区占用空间。 更多...
const CompactPixmapEx &buf AlphaType pBufferAlpha sizeof(AlphaType) *size_t(GetAreaOf(GetSize()))) using CompactPixmap void | SetSize (const Size &) override
| 重新设置缓冲区大小。 更多...
void | ClearImage () const override
| 清除缓冲区。 更多...
| DefClone (const override, CompactPixmapEx) PDefH(void
| 交换。 更多...
Public 成员函数 继承自 YSLib::Drawing::CompactPixmap
| DefDeCtor (CompactPixmap) CompactPixmap(ConstBitmapPtr
| 无参数构造：默认实现。 更多...
| CompactPixmap (unique_ptr< Pixel[]>, const Size &) ynothrow
| 构造：使用指定位图指针和大小。 更多...
| CompactPixmap (const CompactPixmap &)
| DefDeMoveCtor (CompactPixmap) PDefHOp(CompactPixmap &
| 复制赋值：使用复制和交换。 更多...
| DefGetter (const ynothrow ImplI(IImage), Graphics, Context, Graphics(GetBufferPtr(), GetSize())) void SetContent(ConstBitmapPtr
| 设置内容。 更多...
| PDefH (void, SetSize, SDst w, SDst h) ImplExpr(SetSize(
void | SetSize (const Size &) override
| 重新设置缓冲区大小。 更多...
void | SetSizeSwap ()
| 交换宽和高；同时清除缓冲区。 更多...
| DefClone (const ImplI(IImage), CompactPixmap) friend PDefH(void
| 交换。 更多...

## Public 属性

Drawing::Rotation | Rotation
| 屏幕指向。 更多...
Public 属性 继承自 YSLib::UI::Widget
HBrush | Background
| 背景。 更多...
| SDst
| Height
Renderer | Renderer
Renderer AView | View
Renderer AView | SDst
Renderer AView | Width
Renderer AView | SPos
Renderer AView | X
Renderer AView | Y
Renderer AView | Height
Public 属性 继承自 YSLib::Drawing::TextRegion
const TextState | TextState
const TextState *this TextState | TextState
const TextState *this TextState *this | Graphics
const TextState *this TextState *this | Context
Public 属性 继承自 YSLib::Drawing::GTextRendererBase< TextRegion >
| TextLineN
| TextLineNEx
Public 属性 继承自 YSLib::Drawing::TextState
Padding | Margin
| 边距：文本区域到显示区域的距离。 更多...
Point | Pen {}
| 笔坐标。 更多...
std::uint8_t | LineGap = 0
| 行距。 更多...
PDefHOp(TextState &,=, const PenStyle &ps) ImplRet(PenStyle void | ResetPen ()
| 赋值：笔样式。 更多...
Drawing::Font | Font
Drawing::Color | Color
Public 属性 继承自 YSLib::Drawing::CompactPixmapEx
| SDst
const CompactPixmapEx &buf AlphaType | BufferAlphaPtr
const CompactPixmapEx &buf AlphaType pBufferAlpha | size_t
const CompactPixmapEx &buf AlphaType pBufferAlpha | SizeOfBufferAlpha
| swap
CompactPixmapEx & | x
Public 属性 继承自 YSLib::Drawing::CompactPixmap
| SDst
| swap
CompactPixmap & | x

## 额外继承的成员函数

Protected 成员函数 继承自 YSLib::Drawing::TextRegion
void | InitializeFont ()
| 初始化字体。 更多...
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
| 笔颜色。 更多...
Protected 属性 继承自 YSLib::Drawing::CompactPixmapEx
unique_ptr< AlphaType[]> | pBufferAlpha
| Alpha 缓冲区指针。 更多...
相关函数 继承自 YSLib::UI::Widget
template<class _tRenderer >
_tRenderer & | WrapRenderer (Widget &wgt, unique_ptr< _tRenderer > p_renderer)
| 包装渲染器：设置渲染器并返回被设置的渲染器引用。 更多...
相关函数 继承自 YSLib::Drawing::TextState
#define | PDefH(_t, _n, ...)
| 取当前指定文本状态的字体设置对应的行高。 更多...

## 详细描述

缓冲文本区域。

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

## 构造及析构函数说明

## ◆ BufferedTextArea() [1/2]

YSLib::UI::BufferedTextArea::BufferedTextArea | ( | const Drawing::Rect & | = `{}`,
|  | HBrush | = `MakeBlankBrush()`,
|  | Drawing::Color | = `Drawing::ColorSpace::Black`
| ) |  |

explicit

构造：使用指定边界、背景画刷、文本颜色和默认字型缓存。

自从
  build 484

## ◆ BufferedTextArea() [2/2]

YSLib::UI::BufferedTextArea::BufferedTextArea | ( | const Drawing::Rect & | r,
|  | Drawing::FontCache & | fc,
|  | HBrush | b = `MakeBlankBrush()`,
|  | Drawing::Color | c = `Drawing::ColorSpace::Black`
| ) |  |

构造：使用指定边界、字型缓存、背景画刷和文本颜色。

自从
  build 484

在文件 TextArea.cpp 第 62 行定义.

引用了 CHRLib::c, YSLib::Drawing::PenStyle::Color, YSLib::Drawing::GetHeight() , 以及 YSLib::Drawing::CompactPixmapEx::SetSize().

函数调用图:

## 成员函数说明

## ◆ Refresh()

void YSLib::UI::BufferedTextArea::Refresh | ( | PaintEventArgs && | e | ) |

overridevirtual

刷新：按指定参数绘制界面并更新状态。

自从
  build 294

重载 YSLib::UI::Widget .

在文件 TextArea.cpp 第 72 行定义.

引用了 YSLib::Drawing::BlitTo(), YSLib::Drawing::bounds, YSLib::UI::e , 以及 YSLib::Drawing::g.

函数调用图:

## 类成员变量说明

## ◆ Rotation

Drawing::Rotation YSLib::UI::BufferedTextArea::Rotation

屏幕指向。

在文件 TextArea.h 第 81 行定义.

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

- TextArea.h
- TextArea.cpp