Compartilhar via


Método ID2D1EffectImpl::Initialize (d2d1effectauthor.h)

O efeito pode usar esse método para realizar tarefas de inicialização única. Se esse método não for necessário, o método poderá retornar apenas S_OK.

Sintaxe

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

Parâmetros

[in] effectContext

Tipo: ID2D1EffectContext*

Uma interface de contexto interna que cria e retorna tipos centrados no autor do efeito.

[in] transformGraph

Tipo: ID2D1TransformGraph*

O efeito pode preencher o grafo de transformação com uma topologia e pode atualizá-lo mais tarde.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Se falhar, retornará um código de erro HRESULT .

Comentários

Isso move o custo de criação de recursos para a chamada CreateEffect , em vez de durante a renderização.

Se a implementação falhar nessa chamada, a chamada ID2D1DeviceContext::CreateEffect correspondente também falhará.

O exemplo a seguir mostra um efeito que implementa um método initialize.

Exemplos

O exemplo aqui mostra um efeito que implementa um método 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;
};

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 e Atualização de Plataforma para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2012 e Atualização de Plataforma para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1effectauthor.h
Biblioteca D2D1.lib

Confira também

ID2D1DeviceContext

ID2D1EffectImpl