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 &) |
验证并按需绘制。 更多... | |
![]() | |
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 |