ID2D1EffectImpl::P repareForRender 方法 (d2d1effectauthor.h)
为呈现过程准备效果。
语法
HRESULT PrepareForRender(
D2D1_CHANGE_TYPE changeType
);
参数
changeType
指示效果应预期的更改类型。
返回值
类型:HRESULT
如果方法成功,则返回 S_OK。 如果失败,它将返回 HRESULT 错误代码。
言论
当效果位于绘制的效果图中时,呈现器将调用此方法。
将调用该方法:
- 如果效果已初始化,但之前尚未绘制。
- 如果自上次绘制调用以来已设置效果属性。
- 如果自上次绘制效果后上下文状态已更改。
大多数效果都会延迟创建任何资源或指定拓扑,直到进行此调用。 它们存储其属性,并在首次绘制时将它们映射到一组具体的呈现技术。
例子
效果通常等待呈现,然后对齐其当前状态并将其应用于已封装的任何转换。
class CMyTransform : public ID2D1DrawTransform
{
public:
// Transform methods omitted.
HRESULT PrepareForRender(FLOAT radius);
};
class CEffectImplementation : public ID2D1EffectImpl
{
public:
void SetRadius(FLOAT radius) { _radius = radius; }
IFACEMETHODIMP PrepareForRender(D2D1_CHANGE_TYPE /*type*/)
{
// Send the radius to the transform and ask it to render.
return _pMyTransform->PrepareForRender(_radius);
}
private:
CMyTransform *_pMyTransform;
FLOAT _radius;
};
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用] |
支持的最低服务器 | 适用于 Windows Server 2008 R2 的 Windows Server 2012 和平台更新 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | d2d1effectauthor.h |
库 | D2D1.lib |