[PATCH 2/5] include: Add defines for ID2D1InkStyle.

Ziqing Hui zhui at codeweavers.com
Tue Mar 29 04:23:40 CDT 2022


Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---

Note: The final goal of the following IDL defines adding patches is to add ID2D1Factory3 define. 
ID2D1Factory3 depends on some other interfaces. So we add these interfaces first.


 dlls/d2d1/d2d1_private.h |  2 +-
 include/Makefile.in      |  1 +
 include/d2d1_3.idl       | 45 ++++++++++++++++++++++++++++++++++++++++
 libs/uuid/d2d.c          |  2 +-
 4 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 include/d2d1_3.idl

diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h
index aaf6d045c73..aa8e8569455 100644
--- a/dlls/d2d1/d2d1_private.h
+++ b/dlls/d2d1/d2d1_private.h
@@ -28,7 +28,7 @@
 #include <stdbool.h>
 #include <math.h>
 #define COBJMACROS
-#include "d2d1_2.h"
+#include "d2d1_3.h"
 #include "d3d11_1.h"
 #ifdef D2D1_INIT_GUID
 #include "initguid.h"
diff --git a/include/Makefile.in b/include/Makefile.in
index 9578c557af7..40d6c00fb7b 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -102,6 +102,7 @@ SOURCES = \
 	d2d1.idl \
 	d2d1_1.idl \
 	d2d1_2.idl \
+	d2d1_3.idl \
 	d2d1effects.idl \
 	d2dbasetypes.h \
 	d2derr.h \
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl
new file mode 100644
index 00000000000..3b27439f2d1
--- /dev/null
+++ b/include/d2d1_3.idl
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2022 Ziqing Hui for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "d2d1_2.idl";
+
+typedef enum D2D1_INK_NIB_SHAPE
+{
+    D2D1_INK_NIB_SHAPE_ROUND = 0x0,
+    D2D1_INK_NIB_SHAPE_SQUARE = 0x1,
+    D2D1_INK_NIB_SHAPE_FORCE_DWORD = 0xffffffff
+} D2D1_INK_NIB_SHAPE;
+
+[
+    object,
+    uuid(bae8b344-23fc-4071-8cb5-d05d6f073848),
+    local,
+]
+interface ID2D1InkStyle : ID2D1Resource
+{
+    void SetNibTransform(
+        [in] const D2D1_MATRIX_3X2_F *transform
+    );
+    void GetNibTransform(
+        [out] D2D1_MATRIX_3X2_F *transform
+    );
+    void SetNibShape(
+        [in] D2D1_INK_NIB_SHAPE shape
+    );
+    D2D1_INK_NIB_SHAPE GetNibShape();
+};
diff --git a/libs/uuid/d2d.c b/libs/uuid/d2d.c
index c74ebc9c495..801bcaeab92 100644
--- a/libs/uuid/d2d.c
+++ b/libs/uuid/d2d.c
@@ -18,4 +18,4 @@
 
 #include "d3d10_1.h"
 #include "initguid.h"
-#include "d2d1_2.h"
+#include "d2d1_3.h"
-- 
2.25.1




More information about the wine-devel mailing list