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 attendu par l’effet.

Valeur de retour

Type : HRESULT

Si la méthode réussit, elle retourne S_OK. En cas d’échec, il retourne un HRESULT code d’erreur.

Remarques

Cette méthode est appelée par le renderer lorsque l’effet se trouve dans un graphique d’effet dessiné.

La méthode est 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 méthode n’est pas appelée autrement. 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 du premier 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;
};

Exigences

Exigence Valeur
client minimum pris en charge Windows 8 et Mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2012 et Mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête d2d1effectauthor.h
bibliothèque D2D1.lib

Voir aussi

ID2D1DeviceContext

ID2D1EffectImpl