Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The effect can use this method to do one time initialization tasks. If this method is not needed, the method can just return S_OK.
Syntax
HRESULT Initialize(
[in] ID2D1EffectContext *effectContext,
[in] ID2D1TransformGraph *transformGraph
);
Parameters
[in] effectContext
Type: ID2D1EffectContext*
An internal context interface that creates and returns effect author–centric types.
[in] transformGraph
Type: ID2D1TransformGraph*
The effect can populate the transform graph with a topology and can update it later.
Return value
Type: HRESULT
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Remarks
This moves resource creation cost to the CreateEffect call, rather than during rendering.
If the implementation fails this call, the corresponding ID2D1DeviceContext::CreateEffect call also fails.
The following example shows an effect implementing an initialize method.
Examples
The example here shows an effect implementing an initialize method.
class CEffectImplementation : public ID2D1EffectImpl
{
public:
virtual ~CEffectImplementation()
{
if (_pContextInternal != NULL)
{
_pContextInternal->Release();
}
}
IFACEMETHODIMP Initialize(__in ID2D1DeviceContextInternal *pContextInternal, __in ID2D1TransformGraph *pTransformGraph)
{
HRESULT hr = S_OK;
_pContextInternal = pContextInternal;
_pContextInternal->AddRef();
_pTransformGraph = pTransformGraph;
_pTransformGraph>AddRef();
// Populate the transform graph.
return S_OK;
}
private:
ID2D1EffectContext *_pContextInternal;
ID2D1TransformGraph *_pTransformGraph;
};
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 and Platform Update for Windows 7 [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | d2d1effectauthor.h |
Library | D2D1.lib |