ID2D1EffectImpl::P repareForRender-Methode (d2d1effectauthor.h)

Bereitet einen Effekt für den Renderingprozess vor.

Syntax

HRESULT PrepareForRender(
  D2D1_CHANGE_TYPE changeType
);

Parameter

changeType

Typ: D2D1_CHANGE_TYPE

Gibt den Typ der Änderung an, die der Effekt erwarten sollte.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, gibt sie S_OK zurück. Wenn ein Fehler auftritt, wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Diese Methode wird vom Renderer aufgerufen, wenn sich der Effekt in einem gezeichneten Effektdiagramm befindet.

Die -Methode wird aufgerufen:

  • Wenn der Effekt initialisiert, aber noch nicht gezeichnet wurde.
  • Wenn seit dem letzten Draw-Aufruf eine Effekteigenschaft festgelegt wurde.
  • Wenn sich der Kontextzustand geändert hat, seit der Effekt zuletzt gezeichnet wurde.
Die -Methode wird andernfalls nicht aufgerufen. Die vom Effekt erstellten Transformationen werden aufgerufen, um ihre Eingabe- und Ausgaberechtecke für jeden Zeichnungsaufruf zu verarbeiten.

Die meisten Auswirkungen verzögern das Erstellen von Ressourcen oder das Angeben einer Topologie, bis dieser Aufruf erfolgt. Sie speichern ihre Eigenschaften und ordnen sie einer konkreten Reihe von Renderingtechniken zu, wenn sie zuerst gezeichnet werden.

Beispiele

Ein Effekt wartet normalerweise, bis er gerendert wird, bevor er seinen aktuellen Zustand einrast und ihn auf alle transformationen anwendet, die er gekapselt hat.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d2d1effectauthor.h
Bibliothek D2D1.lib

Weitere Informationen

ID2D1DeviceContext

ID2D1EffectImpl