Partager via


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.
Sinon, la méthode n’est pas appelée. Les transformations créées par l’effet seront appelées pour gérer leurs rectangles d’entrée et de sortie pour chaque appel de dessin.

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

Voir aussi

ID2D1DeviceContext

ID2D1EffectImpl