Condividi tramite


Metodo ID2D1EffectImpl::P repareForRender (d2d1effectauthor.h)

Prepara un effetto per il processo di rendering.

Sintassi

HRESULT PrepareForRender(
  D2D1_CHANGE_TYPE changeType
);

Parametri

changeType

Tipo: D2D1_CHANGE_TYPE

Indica il tipo di modifica previsto dall'effetto.

Valore restituito

Tipo: HRESULT

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

Commenti

Questo metodo viene chiamato dal renderer quando l'effetto si trova all'interno di un grafico degli effetti disegnato.

Il metodo verrà chiamato:

  • Se l'effetto è stato inizializzato ma non è stato disegnato in precedenza.
  • Se è stata impostata una proprietà dell'effetto dall'ultima chiamata di disegno.
  • Se lo stato del contesto è cambiato dopo l'ultimo disegno dell'effetto.
Il metodo non verrà chiamato in altro modo. Le trasformazioni create dall'effetto verranno chiamate per gestire i rettangoli di input e output per ogni chiamata di disegno.

La maggior parte degli effetti posticipa la creazione di risorse o la specifica di una topologia fino a quando non viene effettuata questa chiamata. Archiviano le proprietà ed eseguono il mapping a un set concreto di tecniche di rendering al primo disegno.

Esempio

Un effetto attende normalmente finché non viene eseguito il rendering prima di bloccarne lo stato corrente e applicarlo a qualsiasi trasformazione incapsulata.

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

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