以下是 ID2D1Factory2 接口的简要定义:
DECLARE_INTERFACE_(ID2D1Factory2, ID2D1Factory1)
{
STDMETHOD(CreateDevice)(
_In_ IDXGIDevice *dxgiDevice,
_Outptr_ ID2D1Device1 **d2dDevice1
) PURE;
STDMETHOD(CreateStrokeStyle)(
_In_ CONST D2D1_STROKE_STYLE_PROPERTIES1 *strokeStyleProperties,
_In_reads_opt_(dashesCount) CONST FLOAT *dashes,
UINT32 dashesCount,
_Outptr_ ID2D1StrokeStyle1 **strokeStyle
) PURE;
STDMETHOD(CreatePathGeometry)(
_Outptr_ ID2D1PathGeometry1 **pathGeometry
) PURE;
STDMETHOD(CreateDrawingStateBlock)(
_In_opt_ CONST D2D1_DRAWING_STATE_DESCRIPTION1 *drawingStateDescription,
_In_opt_ IDWriteRenderingParams *textRenderingParams,
_Outptr_ ID2D1DrawingStateBlock1 **drawingStateBlock
) PURE;
using ID2D1Factory1::CreateWicBitmapRenderTarget;
STDMETHOD(CreateWicBitmapRenderTarget)(
_In_ IWICBitmap *target,
_In_opt_ CONST D2D1_RENDER_TARGET_PROPERTIES1 *renderTargetProperties,
_Outptr_ ID2D1RenderTarget **renderTarget
) PURE;
STDMETHOD(CreateHwndRenderTarget)(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES1 *renderTargetProperties,
_In_ CONST D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties,
_Outptr_ ID2D1HwndRenderTarget **hwndRenderTarget
) PURE;
STDMETHOD(CreateDxgiSurfaceRenderTarget)(
_In_ IDXGISurface *dxgiSurface,
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES1 *renderTargetProperties,
_Outptr_ ID2D1RenderTarget **renderTarget
) PURE;
STDMETHOD(CreateDCRenderTarget)(
_In_ CONST D2D1_RENDER_TARGET_PROPERTIES1 *renderTargetProperties,
_Outptr_ ID2D1DCRenderTarget **dcRenderTarget
) PURE;
STDMETHOD(CreateDeviceContext)(
D2D1_DEVICE_CONTEXT_OPTIONS options,
_Outptr_ ID2D1DeviceContext1 **deviceContext1
) PURE;
STDMETHOD(CreatePrintControl)(
_In_ IWICImagingFactory * wicFactory,
_In_ IPrintDocumentPackageTarget * target,
_Outptr_ IPrintControl ** printControl
) PURE;
};
这个接口是 ID2D1Factory1 的扩展,增加了一些新的方法。主要的新方法包括:
- CreateDevice: 创建一个 Direct2D 设备对象。可以传递一个与 Direct3D 设备关联的 IDXGIDevice 接口。
- CreateStrokeStyle: 创建一个描边样式对象。这个方法允许创建具有更多属性的描边样式,与 ID2D1StrokeStyle 不同之处在于支持更多的描边特性。
- CreatePathGeometry: 创建一个路径几何图形对象。
- CreateDrawingStateBlock: 创建一个绘制状态块对象,用于保存和恢复绘制状态。
- CreateWicBitmapRenderTarget: 创建一个与 WIC (Windows Imaging Component) 位图相关联的渲染目标。
- CreateHwndRenderTarget: 创建一个与 HWND 相关联的渲染目标。
- CreateDxgiSurfaceRenderTarget: 创建一个与 DXGI 表面相关联的渲染目标。
- CreateDCRenderTarget: 创建一个与设备上下文相关联的渲染目标。
- CreateDeviceContext: 创建一个 Direct2D 设备上下文。
- CreatePrintControl: 创建一个与打印相关的控制对象。
这些方法提供了创建各种 Direct2D 对象的途径,包括设备、描边样式、路径几何图形、绘制状态块以及多种类型的渲染目标。
转载请注明出处:http://www.zyzy.cn/article/detail/25329/Win32 API/D2d1_2.h/ID2D1Factory2