[PATCH 1/3] include: Add defines for D2D1YCbCr effect.

Ziqing Hui zhui at codeweavers.com
Sat Apr 2 21:37:41 CDT 2022


Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
 include/Makefile.in       |  1 +
 include/d2d1_2.idl        |  1 +
 include/d2d1effects_1.idl | 50 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 include/d2d1effects_1.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index 40d6c00fb7b..c69194ef127 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -104,6 +104,7 @@ SOURCES = \
 	d2d1_2.idl \
 	d2d1_3.idl \
 	d2d1effects.idl \
+	d2d1effects_1.idl \
 	d2dbasetypes.h \
 	d2derr.h \
 	d3d.h \
diff --git a/include/d2d1_2.idl b/include/d2d1_2.idl
index 39e285dc221..1fc9111151c 100644
--- a/include/d2d1_2.idl
+++ b/include/d2d1_2.idl
@@ -17,6 +17,7 @@
  */
 
 import "d2d1_1.idl";
+import "d2d1effects_1.idl";
 
 typedef enum D2D1_RENDERING_PRIORITY
 {
diff --git a/include/d2d1effects_1.idl b/include/d2d1effects_1.idl
new file mode 100644
index 00000000000..03616b770e6
--- /dev/null
+++ b/include/d2d1effects_1.idl
@@ -0,0 +1,50 @@
+/*
+ * 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 "d2d1effects.idl";
+
+cpp_quote("DEFINE_GUID(CLSID_D2D1YCbCr, 0x99503cc1,0x66c7,0x45c9,0xa8,0x75,0x8a,0xd8,0xa7,0x91,0x44,0x01);")
+
+typedef enum D2D1_YCBCR_PROP
+{
+    D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0x0,
+    D2D1_YCBCR_PROP_TRANSFORM_MATRIX   = 0x1,
+    D2D1_YCBCR_PROP_INTERPOLATION_MODE = 0x2,
+    D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff
+} D2D1_YCBCR_PROP;
+
+typedef enum D2D1_YCBCR_CHROMA_SUBSAMPLING
+{
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0x0,
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_420  = 0x1,
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_422  = 0x2,
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_444  = 0x3,
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_440  = 0x4,
+    D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff
+} D2D1_YCBCR_CHROMA_SUBSAMPLING;
+
+typedef enum D2D1_YCBCR_INTERPOLATION_MODE
+{
+    D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR    = 0x0,
+    D2D1_YCBCR_INTERPOLATION_MODE_LINEAR              = 0x1,
+    D2D1_YCBCR_INTERPOLATION_MODE_CUBIC               = 0x2,
+    D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3,
+    D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC         = 0x4,
+    D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC  = 0x5,
+    D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
+} D2D1_YCBCR_INTERPOLATION_MODE;
-- 
2.25.1




More information about the wine-devel mailing list