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

Ziqing Hui zhui at codeweavers.com
Tue Mar 29 22:57:46 CDT 2022


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

D2D1_PATCH_EDGE_MODE are moved to make all enums together.

 include/d2d1_3.idl | 60 +++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 52 insertions(+), 8 deletions(-)

diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl
index 643212e1a27..d1030d19d9e 100644
--- a/include/d2d1_3.idl
+++ b/include/d2d1_3.idl
@@ -25,6 +25,34 @@ typedef enum D2D1_INK_NIB_SHAPE
     D2D1_INK_NIB_SHAPE_FORCE_DWORD = 0xffffffff
 } D2D1_INK_NIB_SHAPE;
 
+typedef enum D2D1_PATCH_EDGE_MODE
+{
+    D2D1_PATCH_EDGE_MODE_ALIASED = 0x0,
+    D2D1_PATCH_EDGE_MODE_ANTIALIASED = 0x1,
+    D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 0x2,
+    D2D1_PATCH_EDGE_MODE_FORCE_DWORD = 0xffffffff
+} D2D1_PATCH_EDGE_MODE;
+
+typedef enum D2D1_ORIENTATION
+{
+    D2D1_ORIENTATION_DEFAULT = 0x1,
+    D2D1_ORIENTATION_FLIP_HORIZONTAL = 0x2,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE180 = 0x3,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 0x4,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 0x5,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE270 = 0x6,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 0x7,
+    D2D1_ORIENTATION_ROTATE_CLOCKWISE90 = 0x8,
+    D2D1_ORIENTATION_FORCE_DWORD = 0xffffffff
+} D2D1_ORIENTATION;
+
+typedef enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS
+{
+    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0x0,
+    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 0x1,
+    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_FORCE_DWORD = 0xffffffff
+} D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS;
+
 typedef struct D2D1_INK_POINT
 {
     float x;
@@ -39,14 +67,6 @@ typedef struct D2D1_INK_BEZIER_SEGMENT
     D2D1_INK_POINT point3;
 } D2D1_INK_BEZIER_SEGMENT;
 
-typedef enum D2D1_PATCH_EDGE_MODE
-{
-    D2D1_PATCH_EDGE_MODE_ALIASED = 0x0,
-    D2D1_PATCH_EDGE_MODE_ANTIALIASED = 0x1,
-    D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 0x2,
-    D2D1_PATCH_EDGE_MODE_FORCE_DWORD = 0xffffffff
-} D2D1_PATCH_EDGE_MODE;
-
 typedef struct D2D1_GRADIENT_MESH_PATCH
 {
     D2D1_POINT_2F point00;
@@ -75,6 +95,15 @@ typedef struct D2D1_GRADIENT_MESH_PATCH
     D2D1_PATCH_EDGE_MODE rightEdgeMode;
 } D2D1_GRADIENT_MESH_PATCH;
 
+typedef struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES
+{
+    D2D1_ORIENTATION orientation;
+    float scaleX;
+    float scaleY;
+    D2D1_INTERPOLATION_MODE interpolationMode;
+    D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options;
+} D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES;
+
 [
     object,
     uuid(bae8b344-23fc-4071-8cb5-d05d6f073848),
@@ -184,3 +213,18 @@ interface ID2D1ImageSourceFromWic : ID2D1ImageSource
         [out] IWICBitmapSource **source
     );
 };
+
+[
+    object,
+    uuid(7f1f79e5-2796-416c-8f55-700f911445e5),
+    local,
+]
+interface ID2D1TransformedImageSource : ID2D1Image
+{
+    void GetSource(
+        [out] ID2D1ImageSource **source
+    );
+    void GetProperties(
+        [out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out
+    );
+};
-- 
2.25.1




More information about the wine-devel mailing list