Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

ID2D1TransformGraph interface (d2d1effectauthor.h)

Represents a graph of transform nodes.

Inheritance

The ID2D1TransformGraph interface inherits from the IUnknown interface. ID2D1TransformGraph also has these types of members:

Methods

The ID2D1TransformGraph interface has these methods.

 
ID2D1TransformGraph::AddNode

Adds the provided node to the transform graph.
ID2D1TransformGraph::Clear

Clears the transform nodes and all connections from the transform graph.
ID2D1TransformGraph::ConnectNode

Connects two nodes inside the transform graph.
ID2D1TransformGraph::ConnectToEffectInput

Connects a transform node inside the graph to the corresponding effect input of the encapsulating effect.
ID2D1TransformGraph::GetInputCount

Returns the number of inputs to the transform graph.
ID2D1TransformGraph::RemoveNode

Removes the provided node from the transform graph.
ID2D1TransformGraph::SetOutputNode

Sets the output node for the transform graph.
ID2D1TransformGraph::SetPassthroughGraph

Uses the specified input as the effect output.
ID2D1TransformGraph::SetSingleTransformNode

Sets a single transform node as being equivalent to the whole graph.

Remarks

This interface allows a graph of transform nodes to be specified. This interface is passed to ID2D1EffectImpl::Initialize to allow an effect implementation to specify a graph of transforms or a single transform.

Examples

This example shows how many of the methods on the ID2D1TransformGraph can be used.


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

Requirements

Requirement Value
Minimum supported client Windows 8 and Platform Update for Windows 7 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | UWP apps]
Target Platform Windows
Header d2d1effectauthor.h

See also

ID2D1EffectImpl


Feedback

Was this page helpful?

Additional resources