Compartilhar via


Método ID2D1EffectImpl::P repareForRender (d2d1effectauthor.h)

Prepara um efeito para o processo de renderização.

Sintaxe

HRESULT PrepareForRender(
  D2D1_CHANGE_TYPE changeType
);

Parâmetros

changeType

Tipo: D2D1_CHANGE_TYPE

Indica o tipo de alteração que o efeito deve esperar.

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

Esse método é chamado pelo renderizador quando o efeito está dentro de um grafo de efeito que é desenhado.

O método será chamado:

  • Se o efeito tiver sido inicializado, mas não tiver sido desenhado anteriormente.
  • Se uma propriedade de efeito tiver sido definida desde a última chamada de desenho.
  • Se o estado de contexto foi alterado desde que o efeito foi desenhado pela última vez.
O método não será chamado de outra forma. As transformações criadas pelo efeito serão chamadas para lidar com seus retângulos de entrada e saída para cada chamada de desenho.

A maioria dos efeitos adia a criação de recursos ou a especificação de uma topologia até que essa chamada seja feita. Eles armazenam suas propriedades e as mapeiam para um conjunto concreto de técnicas de renderização quando desenhadas pela primeira vez.

Exemplos

Um efeito normalmente aguarda até que seja renderizado antes de ajustar seu estado atual e aplicá-lo a quaisquer transformações encapsuladas.

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

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