YSTest
PreAlpha_b380_20130211
The YSLib Test Project
|
带缓冲的部件渲染器。 More...
#include <yrender.h>
Public Member Functions | |
BufferedRenderer (bool b=false) | |
构造:指定是否忽略上层缓冲区背景。 | |
BufferedRenderer (const BufferedRenderer &)=default | |
BufferedRenderer (BufferedRenderer &&)=default | |
virtual BufferedRenderer * | Clone () const |
bool | RequiresRefresh () const |
判断是否需要刷新。 | |
const Rect & | GetInvalidatedArea () const ynothrow |
取无效区域。 | |
const Graphics & | GetContext () const ynothrow |
取图形接口上下文。 | |
void | SetSize (const Size &) override |
设置缓冲区大小。 | |
Rect | CommitInvalidation (const Rect &) override |
提交无效区域,使之合并至现有无效区域中。 | |
Rect | Paint (IWidget &wgt, PaintEventArgs &&) override |
按参数绘制。 | |
void | UpdateTo (const PaintContext &) const |
更新至指定图形设备上下文的指定点。 | |
Rect | Validate (IWidget &wgt, IWidget &sender, const PaintContext &) |
验证并按需绘制。 | |
![]() | |
Renderer ()=default | |
Renderer (const Renderer &)=default | |
Renderer (Renderer &&)=default | |
virtual | ~Renderer () |
Public Attributes | |
Drawing::BitmapBuffer | Buffer |
显示缓冲区。 | |
bool | IgnoreBackground |
指定验证时忽略上层缓冲区背景。 | |
Protected Attributes | |
Rect | rInvalidated |
无效区域:包含所有新绘制请求的区域(不一定是最小的)。 | |
|
inline |
|
default |
|
default |
|
inlinevirtual |
Reimplemented from YSLib::Components::Renderer.
提交无效区域,使之合并至现有无效区域中。
Reimplemented from YSLib::Components::Renderer.
Definition at line 60 of file yrender.cpp.
|
inline |
|
inline |
|
overridevirtual |
按参数绘制。
&e.GetSender().GetRenderer() == this
。 Reimplemented from YSLib::Components::Renderer.
Definition at line 66 of file yrender.cpp.
References Validate(), and YAssert.
bool BufferedRenderer::RequiresRefresh | ( | ) | const |
|
overridevirtual |
设置缓冲区大小。
Reimplemented from YSLib::Components::Renderer.
Definition at line 53 of file yrender.cpp.
References YSLib::Drawing::Size::Height, and YSLib::Drawing::Size::Width.
void BufferedRenderer::UpdateTo | ( | const PaintContext & | pc | ) | const |
更新至指定图形设备上下文的指定点。
Definition at line 77 of file yrender.cpp.
References YSLib::Drawing::PaintContext::ClipArea, YSLib::Drawing::CopyTo(), YSLib::Drawing::Rect::GetPoint(), YSLib::Drawing::Rect::GetSize(), YSLib::Drawing::PaintContext::Location, and YSLib::Drawing::PaintContext::Target.
Rect BufferedRenderer::Validate | ( | IWidget & | wgt, |
IWidget & | sender, | ||
const PaintContext & | pc | ||
) |
验证并按需绘制。
验证 sender 的指定图形设备上下文的关联的缓冲区, 若存在无效区域则调用 wgt 的 Paint 事件绘制。
Definition at line 87 of file yrender.cpp.
References YSLib::Drawing::PaintContext::ClipArea, YSLib::Drawing::CopyTo(), YSLib::Components::FetchContainerPtr(), YSLib::Components::GetLocationOf(), YSLib::Drawing::Rect::GetPoint(), YSLib::Drawing::Rect::GetSize(), YSLib::Drawing::Graphics::GetSize(), YSLib::Components::Invalidate(), YSLib::Drawing::PaintContext::Location, and YSLib::Drawing::PaintContext::Target.
Drawing::BitmapBuffer YSLib::Components::BufferedRenderer::Buffer |
bool YSLib::Components::BufferedRenderer::IgnoreBackground |
|
mutableprotected |