public virtual int SetOutputNode(
            ID2D1TransformNode node
            )
        {
            var fp = GetFunctionPointer(7);

            if (m_SetOutputNodeFunc == null)
            {
                m_SetOutputNodeFunc = (SetOutputNodeFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(SetOutputNodeFunc));
            }

            return(m_SetOutputNodeFunc(m_ptr, node != null ? node.Ptr : IntPtr.Zero));
        }
        public virtual int CreateTransformNodeFromEffect(
            ID2D1Effect effect,
            out ID2D1TransformNode transformNode
            )
        {
            var fp = GetFunctionPointer(6);

            if (m_CreateTransformNodeFromEffectFunc == null)
            {
                m_CreateTransformNodeFromEffectFunc = (CreateTransformNodeFromEffectFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(CreateTransformNodeFromEffectFunc));
            }
            transformNode = new ID2D1TransformNode();
            return(m_CreateTransformNodeFromEffectFunc(m_ptr, effect != null ? effect.Ptr : IntPtr.Zero, out transformNode.PtrForNew));
        }
        public virtual int ConnectToEffectInput(
            uint toEffectInputIndex,
            ID2D1TransformNode node,
            uint toNodeInputIndex
            )
        {
            var fp = GetFunctionPointer(9);

            if (m_ConnectToEffectInputFunc == null)
            {
                m_ConnectToEffectInputFunc = (ConnectToEffectInputFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(ConnectToEffectInputFunc));
            }

            return(m_ConnectToEffectInputFunc(m_ptr, toEffectInputIndex, node != null ? node.Ptr : IntPtr.Zero, toNodeInputIndex));
        }
        public virtual int ConnectNode(
            ID2D1TransformNode fromNode,
            ID2D1TransformNode toNode,
            uint toNodeInputIndex
            )
        {
            var fp = GetFunctionPointer(8);

            if (m_ConnectNodeFunc == null)
            {
                m_ConnectNodeFunc = (ConnectNodeFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(ConnectNodeFunc));
            }

            return(m_ConnectNodeFunc(m_ptr, fromNode != null ? fromNode.Ptr : IntPtr.Zero, toNode != null ? toNode.Ptr : IntPtr.Zero, toNodeInputIndex));
        }