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.
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 |