Freigeben über


ID2D1TransformGraph-Schnittstelle (d2d1effectauthor.h)

Stellt einen Graphen von Transformationsknoten dar.

Vererbung

Die ID2D1TransformGraph-Schnittstelle erbt von der IUnknown-Schnittstelle . ID2D1TransformGraph verfügt auch über folgende Membertypen:

Methoden

Die ID2D1TransformGraph-Schnittstelle verfügt über diese Methoden.

 
ID2D1TransformGraph::AddNode

Fügt den bereitgestellten Knoten dem Transformationsdiagramm hinzu.
ID2D1TransformGraph::Clear

Löscht die Transformationsknoten und alle Verbindungen aus dem Transformationsdiagramm.
ID2D1TransformGraph::ConnectNode

Verbindet zwei Knoten innerhalb des Transformationsdiagramms.
ID2D1TransformGraph::ConnectToEffectInput

Verbindet einen Transformationsknoten innerhalb des Graphen mit der entsprechenden Effekteingabe des Kapseleffekts.
ID2D1TransformGraph::GetInputCount

Gibt die Anzahl der Eingaben für das Transformationsdiagramm zurück.
ID2D1TransformGraph::RemoveNode

Entfernt den bereitgestellten Knoten aus dem Transformationsdiagramm.
ID2D1TransformGraph::SetOutputNode

Legt den Ausgabeknoten für das Transformationsdiagramm fest.
ID2D1TransformGraph::SetPassthroughGraph

Verwendet die angegebene Eingabe als Effektausgabe.
ID2D1TransformGraph::SetSingleTransformNode

Legt einen einzelnen Transformationsknoten als Äquivalent zum gesamten Graphen fest.

Hinweise

Mit dieser Schnittstelle kann ein Diagramm von Transformationsknoten angegeben werden. Diese Schnittstelle wird an ID2D1EffectImpl::Initialize übergeben, damit eine Effektimplementierung einen Graphen von Transformationen oder eine einzelne Transformation angeben kann.

Beispiele

Dieses Beispiel zeigt, wie viele der Methoden für id2D1TransformGraph verwendet werden können.


class CMyEffect : public ID2D1EffectImpl
{
public:

    IFACEMETHODIMP SetGraph(
       __in ID2D1TransformGraph *pGraph
       )
    {
        HRESULT hr = S_OK;

        hr = pGraph->Clear();

        if (SUCEEDED(hr))
        {
            hr = pGraph->AddNode(_pTransform1);
        }
   
        if (SUCCEEDED(hr))
        {
            hr = pGraph->AddNode(_pTransform2);
        }
 
        if (SUCCEEDED(hr))
        {
            hr = pGraph->SetOutputNode(_pTransform2);
        }

        if (SUCCEEDED(hr))
        {
            hr = pGraph->ConnectNode(_pTransform1, _pTransform2, 0);
        }

        if (SUCCEEDED(hr))
        {
            hr = pGraph->ConnectToEffectInput(0, _pTransform1, 0);
        }

        return hr;
    }

private:

    class CMyTransform1 : public ID2D1DrawTransform
    {
        // <Snip> The transform implementation, one node input</Snip>
    };

    class CMyTransform2 : public ID2D1DrawTransform
    {
 	   // <Snip> A second transform implementation one node input</Snip>
    };

    CMyTransform1 *_pTransform1;
    CMyTransform2 *_pTransform2;
};

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

Weitere Informationen

ID2D1EffectImpl