在 Win32 API 的 D2d1_3.h 头文件中,ID2D1CommandSink2 接口是 Direct2D 中的命令接收器接口的扩展版本。以下是 ID2D1CommandSink2 接口的定义:
interface ID2D1CommandSink2 : public ID2D1CommandSink1
{
public:
    STDMETHOD(SetPrimitiveBlend1)(
        D2D1_PRIMITIVE_BLEND primitiveBlend
        ) PURE;

    STDMETHOD(DrawSpriteBatch)(
        _In_ ID2D1SpriteBatch* spriteBatch,
        UINT32 startIndex,
        UINT32 spriteCount,
        _In_ ID2D1Bitmap* bitmap,
        D2D1_BITMAP_INTERPOLATION_MODE interpolationMode,
        D2D1_SPRITE_OPTIONS spriteOptions
        ) PURE;

    STDMETHOD(SetPrimitiveBlend)(
        D2D1_PRIMITIVE_BLEND primitiveBlend
        ) PURE;

    STDMETHOD(DrawInk)(
        _In_ ID2D1Ink* ink,
        _In_ ID2D1Brush* brush,
        _In_opt_ ID2D1InkStyle* inkStyle
        ) PURE;
};

这个接口继承自 ID2D1CommandSink1 接口,增加了一些额外的方法,用于支持新的功能。以下是其中几个新方法:

  •  SetPrimitiveBlend1: 设置渲染目标的原语混合模式。

  •  DrawSpriteBatch: 在命令流中添加绘制 SpriteBatch 的命令。

  •  SetPrimitiveBlend: 设置渲染目标的原语混合模式。

  •  DrawInk: 在命令流中添加绘制 Ink 对象的命令。


这些方法提供了对 Direct2D 的新功能的支持。如有需要,建议查阅 Microsoft 的官方文档以获取详细的使用说明和示例代码。


转载请注明出处:http://www.zyzy.cn/article/detail/25345/Win32 API/D2d1_3.h/ID2D1CommandSink2