Metodo ID2D1EffectImpl::Initialize (d2d1effectauthor.h)

L'effetto può usare questo metodo per eseguire una sola volta le attività di inizializzazione. Se questo metodo non è necessario, il metodo può restituire solo S_OK.

Sintassi

HRESULT Initialize(
  [in] ID2D1EffectContext  *effectContext,
  [in] ID2D1TransformGraph *transformGraph
);

Parametri

[in] effectContext

Tipo: ID2D1EffectContext*

Interfaccia di contesto interna che crea e restituisce tipi incentrati sugli effetti.

[in] transformGraph

Tipo: ID2D1TransformGraph*

L'effetto può popolare il grafico di trasformazione con una topologia e può aggiornarlo in un secondo momento.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, restituisce S_OK. Se ha esito negativo, restituisce un codice di errore HRESULT .

Commenti

In questo modo il costo di creazione delle risorse viene spostato sulla chiamata CreateEffect anziché durante il rendering.

Se l'implementazione non riesce, anche la chiamata ID2D1DeviceContext::CreateEffect corrispondente ha esito negativo.

Nell'esempio seguente viene illustrato un effetto che implementa un metodo initialize.

Esempio

L'esempio seguente mostra un effetto che implementa un metodo initialize.

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;
};

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e aggiornamento della piattaforma per Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 e aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1effectauthor.h
Libreria D2D1.lib

Vedi anche

ID2D1DeviceContext

ID2D1EffectImpl