Nikolay Sivov : include: Add newer D2D command sink interface definitions.
Alexandre Julliard
julliard at winehq.org
Thu Aug 4 14:46:39 CDT 2022
Module: wine
Branch: master
Commit: bb83067bd797501f6ed308e18a0807cf28f2d5e0
URL: https://gitlab.winehq.org/wine/wine/-/commit/bb83067bd797501f6ed308e18a0807cf28f2d5e0
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Aug 3 23:35:54 2022 +0300
include: Add newer D2D command sink interface definitions.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
include/d2d1_2.idl | 12 +++++++++++
include/d2d1_3.idl | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+)
diff --git a/include/d2d1_2.idl b/include/d2d1_2.idl
index 1fc9111151c..982131667df 100644
--- a/include/d2d1_2.idl
+++ b/include/d2d1_2.idl
@@ -89,3 +89,15 @@ interface ID2D1Factory2 : ID2D1Factory1
[out] ID2D1Device1 **device
);
}
+
+[
+ object,
+ uuid(9eb767fd-4269-4467-b8c2-eb30cb305743),
+ local,
+]
+interface ID2D1CommandSink1 : ID2D1CommandSink
+{
+ HRESULT SetPrimitiveBlend1(
+ [in] D2D1_PRIMITIVE_BLEND primitive_blend
+ );
+}
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl
index 07dc98968f8..29bcc8df56d 100644
--- a/include/d2d1_3.idl
+++ b/include/d2d1_3.idl
@@ -19,6 +19,8 @@
import "d2d1_2.idl";
import "d2d1effects_2.idl";
+interface ID2D1SpriteBatch;
+
typedef enum D2D1_INK_NIB_SHAPE
{
D2D1_INK_NIB_SHAPE_ROUND = 0x0,
@@ -69,6 +71,13 @@ typedef enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS;
+typedef enum D2D1_SPRITE_OPTIONS
+{
+ D2D1_SPRITE_OPTIONS_NONE = 0x0,
+ D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 0x1,
+ D2D1_SPRITE_OPTIONS_FORCE_DWORD = 0xffffffff
+} D2D1_SPRITE_OPTIONS;
+
typedef struct D2D1_INK_POINT
{
float x;
@@ -356,3 +365,56 @@ interface ID2D1Factory3 : ID2D1Factory2
[out] ID2D1Device2 **d2d_device
);
}
+
+[
+ object,
+ uuid(3bab440e-417e-47df-a2e2-bc0be6a00916),
+ local,
+]
+interface ID2D1CommandSink2 : ID2D1CommandSink1
+{
+ HRESULT DrawInk(
+ [in] ID2D1Ink *ink,
+ [in] ID2D1Brush *brush,
+ [in] ID2D1InkStyle *ink_style
+ );
+
+ HRESULT DrawGradientMesh(
+ [in] ID2D1GradientMesh *gradient_mesh
+ );
+
+ HRESULT DrawGdiMetafile(
+ [in] ID2D1GdiMetafile *gdi_metafile,
+ [in] const D2D1_RECT_F *dest_rect,
+ [in] const D2D1_RECT_F *src_rect
+ );
+}
+
+[
+ object,
+ uuid(18079135-4cf3-4868-bc8e-06067e6d242d),
+ local,
+]
+interface ID2D1CommandSink3 : ID2D1CommandSink2
+{
+ HRESULT DrawSpriteBatch(
+ [in] ID2D1SpriteBatch *sprite_batch,
+ [in] UINT32 start_index,
+ [in] UINT32 sprite_count,
+ [in] ID2D1Bitmap *bitmap,
+ [in] D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,
+ [in] D2D1_SPRITE_OPTIONS sprite_options
+ );
+}
+
+[
+ object,
+ uuid(c78a6519-40d6-4218-b2de-beeeb744bb3e),
+ local,
+]
+interface ID2D1CommandSink4 : ID2D1CommandSink3
+{
+ HRESULT SetPrimitiveBlend2(
+ [in] D2D1_PRIMITIVE_BLEND primitive_blend
+ );
+}
More information about the wine-cvs
mailing list