ID2D1EffectImpl::P repareForRender 方法 (d2d1effectauthor.h)
为呈现过程准备效果。
语法
HRESULT PrepareForRender(
D2D1_CHANGE_TYPE changeType
);
参数
changeType
类型: D2D1_CHANGE_TYPE
指示效果应预期的更改类型。
返回值
类型: 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 应用] |
目标平台 | Windows |
标头 | d2d1effectauthor.h |
Library | D2D1.lib |