ID2D1EffectImpl ::P repareForRender, méthode (d2d1effectauthor.h)
Prépare un effet pour le processus de rendu.
Syntaxe
HRESULT PrepareForRender(
D2D1_CHANGE_TYPE changeType
);
Paramètres
changeType
Type : D2D1_CHANGE_TYPE
Indique le type de modification que l’effet doit attendre.
Valeur retournée
Type : HRESULT
Si la méthode réussit, elle retourne S_OK. En cas d’échec, il retourne un code d’erreur HRESULT .
Remarques
Cette méthode est appelée par le convertisseur lorsque l’effet se trouve dans un graphique d’effet qui est dessiné.
La méthode sera appelée :
- Si l’effet a été initialisé mais n’a pas été dessiné précédemment.
- Si une propriété d’effet a été définie depuis le dernier appel de dessin.
- Si l’état du contexte a changé depuis le dernier dessin de l’effet.
La plupart des effets reportent la création de ressources ou la spécification d’une topologie jusqu’à ce que cet appel soit effectué. Ils stockent leurs propriétés et les mappent à un ensemble concret de techniques de rendu lors de la première dessin.
Exemples
Un effet attend normalement qu’il soit rendu avant d’aligner son état actuel et de l’appliquer à toutes les transformations qu’il a encapsulées.
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;
};
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1effectauthor.h |
Bibliothèque | D2D1.lib |