[PATCH 3/5] include: Add defines for ID2D1DeviceContext2.
Ziqing Hui
zhui at codeweavers.com
Tue Mar 29 22:57:47 CDT 2022
Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
include/d2d1_3.idl | 90 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl
index d1030d19d9e..c64f353b60c 100644
--- a/include/d2d1_3.idl
+++ b/include/d2d1_3.idl
@@ -53,6 +53,21 @@ typedef enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS;
+typedef enum D2D1_IMAGE_SOURCE_LOADING_OPTIONS
+{
+ D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE = 0x0,
+ D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE = 0x1,
+ D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND = 0x2,
+ D2D1_IMAGE_SOURCE_LOADING_OPTIONS_FORCE_DWORD = 0xffffffff
+} D2D1_IMAGE_SOURCE_LOADING_OPTIONS;
+
+typedef enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
+{
+ D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE = 0x0,
+ D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION = 0x1,
+ D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_FORCE_DWORD = 0xffffffff
+} D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS;
+
typedef struct D2D1_INK_POINT
{
float x;
@@ -67,6 +82,12 @@ typedef struct D2D1_INK_BEZIER_SEGMENT
D2D1_INK_POINT point3;
} D2D1_INK_BEZIER_SEGMENT;
+typedef struct D2D1_INK_STYLE_PROPERTIES
+{
+ D2D1_INK_NIB_SHAPE nibShape;
+ D2D1_MATRIX_3X2_F nibTransform;
+} D2D1_INK_STYLE_PROPERTIES;
+
typedef struct D2D1_GRADIENT_MESH_PATCH
{
D2D1_POINT_2F point00;
@@ -228,3 +249,72 @@ interface ID2D1TransformedImageSource : ID2D1Image
[out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out
);
};
+
+[
+ object,
+ uuid(53dd9855-a3b0-4d5b-82e1-26e25c5e5797),
+ local,
+]
+interface ID2D1LookupTable3D : ID2D1Resource
+{
+}
+
+[
+ object,
+ uuid(394ea6a3-0c34-4321-950b-6ca20f0be6c7),
+ local,
+]
+interface ID2D1DeviceContext2 : ID2D1DeviceContext1
+{
+ HRESULT CreateInk(
+ [in] const D2D1_INK_POINT *start_point,
+ [out] ID2D1Ink **ink
+ );
+ HRESULT CreateInkStyle(
+ [in, optional] const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,
+ [out] ID2D1InkStyle **ink_style
+ );
+ HRESULT CreateGradientMesh(
+ [in] const D2D1_GRADIENT_MESH_PATCH *patches,
+ [in] UINT32 patches_count,
+ [out] ID2D1GradientMesh **gradient_mesh
+ );
+ HRESULT CreateImageSourceFromWic(
+ [in] IWICBitmapSource *wic_bitmap_source,
+ [in] D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,
+ [in] D2D1_ALPHA_MODE alpha_mode,
+ [out] ID2D1ImageSourceFromWic **image_source
+ );
+ HRESULT CreateLookupTable3D(
+ [in] D2D1_BUFFER_PRECISION precision,
+ [in] const UINT32 *extents,
+ [in] const BYTE *data,
+ [in] UINT32 data_count,
+ [in] const UINT32 *strides,
+ [out] ID2D1LookupTable3D **lookup_table
+ );
+ HRESULT CreateImageSourceFromDxgi(
+ [in] IDXGISurface **surfaces,
+ [in] UINT32 surface_count,
+ [in] DXGI_COLOR_SPACE_TYPE color_space,
+ [in] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
+ [out] ID2D1ImageSource **image_source
+ );
+ HRESULT GetGradientMeshWorldBounds(
+ [in] ID2D1GradientMesh *gradient_mesh,
+ [out] D2D1_RECT_F *bounds
+ );
+ void DrawInk(
+ [in] ID2D1Ink *ink,
+ [in] ID2D1Brush *brush,
+ [in, optional] ID2D1InkStyle *ink_style
+ );
+ void DrawGradientMesh(
+ [in] ID2D1GradientMesh *gradient_mesh
+ );
+ void DrawGdiMetafile(
+ [in] ID2D1GdiMetafile *gdi_metafile,
+ [in, optional] const D2D1_RECT_F *dst_rect,
+ [in, optional] const D2D1_RECT_F *src_rect
+ );
+}
--
2.25.1
More information about the wine-devel
mailing list