|
YSTest
PreAlpha_b500_20140530
The YSLib Test Project
|
带缓冲的部件渲染器。 更多...
#include <yrender.h>


Public 成员函数 | |
| BufferedRenderer (bool={}, unique_ptr< Drawing::IImage >={}) | |
| 构造:指定是否忽略上层缓冲区背景。 更多... | |
| BufferedRenderer (const BufferedRenderer &) | |
| DefDeMoveCtor (BufferedRenderer) bool RequiresRefresh() const | |
| 判断是否需要刷新。 更多... | |
| DefGetter (const ynothrow, Drawing::IImage &, ImageBuffer,*pImageBuffer) DefGetter(const ynothrow | |
| 取无效区域。 更多... | |
| const Rect rInvalidated | DefGetterMem (const ynothrow, const Graphics &, Context, GetImageBuffer()) void SetSize(const Size &) override |
| 取图形接口上下文。 更多... | |
| void | SetImageBuffer (unique_ptr< Drawing::IImage >) |
| DefClone (const override, BufferedRenderer) Rect CommitInvalidation(const Rect &) override | |
| 提交无效区域,使之合并至现有无效区域中。 更多... | |
| Rect | Paint (IWidget &wgt, PaintEventArgs &&) override |
| 按参数绘制。 更多... | |
| void | UpdateTo (const PaintContext &) const |
| 更新至指定图形设备上下文的指定点。 更多... | |
| Rect | Validate (IWidget &wgt, IWidget &sender, const PaintContext &) |
| 验证并按需绘制。 更多... | |
Public 成员函数 继承自 YSLib::UI::Renderer | |
| DefDeCtor (Renderer) DefDeCopyCtor(Renderer) DefDeMoveCtor(Renderer) virtual DefDeDtor(Renderer) virtual void SetSize(const Size &) | |
| 设置缓冲区大小。 更多... | |
| virtual | DefClone (const, Renderer) virtual Rect CommitInvalidation(const Rect &r) |
| 提交无效区域。 更多... | |
Public 属性 | |
| bool | IgnoreBackground |
| 指定验证时忽略上层缓冲区背景。 更多... | |
| const Rect | InvalidatedArea |
Protected 属性 | |
| Rect | rInvalidated |
| 无效区域:包含所有新绘制请求的区域(不一定是最小的)。 更多... | |
| unique_ptr< Drawing::IImage > | pImageBuffer |
| 显示图像缓冲区指针。 更多... | |
带缓冲的部件渲染器。
缓冲渲染策略:保存部件渲染状态和有效的图形接口上下文。
| YSLib::UI::BufferedRenderer::BufferedRenderer | ( | bool | b = {}, |
| unique_ptr< Drawing::IImage > | p = {} |
||
| ) |
| YSLib::UI::BufferedRenderer::BufferedRenderer | ( | const BufferedRenderer & | r | ) |
在文件 yrender.cpp 第 54 行定义.
|
override |
提交无效区域,使之合并至现有无效区域中。
| YSLib::UI::BufferedRenderer::DefDeMoveCtor | ( | BufferedRenderer | ) | const |
判断是否需要刷新。
| YSLib::UI::BufferedRenderer::DefGetter | ( | const ynothrow | , |
| Drawing::IImage & | , | ||
| ImageBuffer | , | ||
| * | pImageBuffer | ||
| ) | const |
取无效区域。
|
override |
取图形接口上下文。
设置缓冲区大小。
|
overridevirtual |
按参数绘制。
&e.GetSender().GetRenderer() == this 。 重载 YSLib::UI::Renderer .
在文件 yrender.cpp 第 86 行定义.
参考 YSLib::Drawing::r, UpdateTo(), Validate() , 以及 YAssert.

| void YSLib::UI::BufferedRenderer::SetImageBuffer | ( | unique_ptr< Drawing::IImage > | p | ) |
| void YSLib::UI::BufferedRenderer::UpdateTo | ( | const PaintContext & | pc | ) | const |
更新至指定图形设备上下文的指定点。
在文件 yrender.cpp 第 97 行定义.
参考 YSLib::Drawing::CopyTo(), YSLib::Drawing::g , 以及 YSLib::Drawing::r.
参考自 Paint().


| Rect YSLib::UI::BufferedRenderer::Validate | ( | IWidget & | wgt, |
| IWidget & | sender, | ||
| const PaintContext & | pc | ||
| ) |
验证并按需绘制。
验证 sender 的指定图形设备上下文的关联的缓冲区, 若存在无效区域则调用 wgt 的 Paint 事件绘制。
在文件 yrender.cpp 第 107 行定义.
参考 YSLib::Drawing::CopyTo(), YSLib::Drawing::g, YSLib::UI::GetLocationOf, IgnoreBackground, YSLib::UI::Invalidate(), platform_ex::Windows::l, rInvalidated , 以及 YSLib::UI::wgt.
参考自 Paint().


| bool YSLib::UI::BufferedRenderer::IgnoreBackground |
|
protected |
|
mutableprotected |