Biswapriyo Nath : include: Add missing structures in dcommon.idl.

Alexandre Julliard julliard at winehq.org
Tue Jun 2 16:34:11 CDT 2020


Module: wine
Branch: master
Commit: 48020f4846cca1a02f4e1dc037e2cc2068df5e9c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=48020f4846cca1a02f4e1dc037e2cc2068df5e9c

Author: Biswapriyo Nath <nathbappai at gmail.com>
Date:   Fri May 15 19:10:41 2020 +0530

include: Add missing structures in dcommon.idl.

Signed-off-by: Biswapriyo Nath <nathbappai at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d2d1/brush.c       |  4 +--
 dlls/d2d1/device.c      |  4 +--
 dlls/d2d1/geometry.c    |  4 +--
 dlls/d2d1/state_block.c |  4 +--
 dlls/d2d1/tests/d2d1.c  | 64 +++++++++++++++++------------------
 include/d2dbasetypes.h  | 10 ------
 include/dcommon.idl     | 89 ++++++++++++++++++++++++++++++++++++++++++++++++-
 7 files changed, 128 insertions(+), 51 deletions(-)

diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
index 1f455897f6..07d2e26a14 100644
--- a/dlls/d2d1/brush.c
+++ b/dlls/d2d1/brush.c
@@ -237,11 +237,11 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
         enum d2d_brush_type type, const D2D1_BRUSH_PROPERTIES *desc, const struct ID2D1BrushVtbl *vtbl)
 {
     static const D2D1_MATRIX_3X2_F identity =
-    {
+    {{{
         1.0f, 0.0f,
         0.0f, 1.0f,
         0.0f, 0.0f,
-    };
+    }}};
 
     brush->ID2D1Brush_iface.lpVtbl = vtbl;
     brush->refcount = 1;
diff --git a/dlls/d2d1/device.c b/dlls/d2d1/device.c
index acecb2058a..3c8431ce8f 100644
--- a/dlls/d2d1/device.c
+++ b/dlls/d2d1/device.c
@@ -23,11 +23,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
 #define INITIAL_CLIP_STACK_SIZE 4
 
 static const D2D1_MATRIX_3X2_F identity =
-{
+{{{
     1.0f, 0.0f,
     0.0f, 1.0f,
     0.0f, 0.0f,
-};
+}}};
 
 struct d2d_draw_text_layout_ctx
 {
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
index 9c5e653f56..c32de31035 100644
--- a/dlls/d2d1/geometry.c
+++ b/dlls/d2d1/geometry.c
@@ -30,11 +30,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
 #define D2D_FP_EPS (1.0f / (1 << FLT_MANT_DIG))
 
 static const D2D1_MATRIX_3X2_F identity =
-{
+{{{
     1.0f, 0.0f,
     0.0f, 1.0f,
     0.0f, 0.0f,
-};
+}}};
 
 enum d2d_cdt_edge_next
 {
diff --git a/dlls/d2d1/state_block.c b/dlls/d2d1/state_block.c
index e3175146a6..501d94ae3e 100644
--- a/dlls/d2d1/state_block.c
+++ b/dlls/d2d1/state_block.c
@@ -165,11 +165,11 @@ void d2d_state_block_init(struct d2d_state_block *state_block, ID2D1Factory *fac
         const D2D1_DRAWING_STATE_DESCRIPTION1 *desc, IDWriteRenderingParams *text_rendering_params)
 {
     static const D2D1_MATRIX_3X2_F identity =
-    {
+    {{{
         1.0f, 0.0f,
         0.0f, 1.0f,
         0.0f, 0.0f,
-    };
+    }}};
 
     state_block->ID2D1DrawingStateBlock1_iface.lpVtbl = &d2d_state_block_vtbl;
     state_block->refcount = 1;
diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index 7c0ee91099..87c87324f3 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -1096,11 +1096,11 @@ static void test_clip(void)
     HRESULT hr;
     BOOL match;
     static const D2D1_MATRIX_3X2_F identity =
-    {
+    {{{
         1.0f, 0.0f,
         0.0f, 1.0f,
         0.0f, 0.0f,
-    };
+    }}};
 
     if (!(device = create_device()))
     {
@@ -1302,23 +1302,23 @@ static void test_state_block(void)
     HWND window;
     HRESULT hr;
     static const D2D1_MATRIX_3X2_F identity =
-    {
+    {{{
         1.0f, 0.0f,
         0.0f, 1.0f,
         0.0f, 0.0f,
-    };
+    }}};
     static const D2D1_MATRIX_3X2_F transform1 =
-    {
+    {{{
         1.0f, 2.0f,
         3.0f, 4.0f,
         5.0f, 6.0f,
-    };
+    }}};
     static const D2D1_MATRIX_3X2_F transform2 =
-    {
+    {{{
         7.0f,  8.0f,
         9.0f,  10.0f,
         11.0f, 12.0f,
-    };
+    }}};
 
     if (!(device = create_device()))
     {
@@ -8613,57 +8613,57 @@ static void test_invert_matrix(void)
     }
     invert_tests[] =
     {
-        { { 0 }, { 0 }, FALSE },
+        { {{{ 0 }}}, {{{ 0 }}}, FALSE },
         {
-            {
+            {{{
                1.0f, 2.0f,
                1.0f, 2.0f,
                4.0f, 8.0f
-            },
-            {
+            }}},
+            {{{
                1.0f, 2.0f,
                1.0f, 2.0f,
                4.0f, 8.0f
-            },
+            }}},
             FALSE
         },
         {
-            {
+            {{{
                2.0f, 0.0f,
                0.0f, 2.0f,
                4.0f, 8.0f
-            },
-            {
+            }}},
+            {{{
                0.5f, -0.0f,
               -0.0f,  0.5f,
               -2.0f, -4.0f
-            },
+            }}},
             TRUE
         },
         {
-            {
+            {{{
                2.0f, 1.0f,
                2.0f, 2.0f,
                4.0f, 8.0f
-            },
-            {
+            }}},
+            {{{
                1.0f, -0.5f,
               -1.0f,  1.0f,
                4.0f, -6.0f
-            },
+            }}},
             TRUE
         },
         {
-            {
+            {{{
                2.0f, 1.0f,
                3.0f, 1.0f,
                4.0f, 8.0f
-            },
-            {
+            }}},
+            {{{
               -1.0f,  1.0f,
                3.0f, -2.0f,
              -20.0f, 12.0f
-            },
+            }}},
             TRUE
         },
     };
@@ -8697,13 +8697,13 @@ static void test_skew_matrix(void)
     }
     skew_tests[] =
     {
-        { 0.0f, 0.0f, { 0.0f, 0.0f }, { 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f } },
-        { 45.0f, 0.0f, { 0.0f, 0.0f }, { 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f } },
-        { 0.0f, 0.0f, { 10.0f, -3.0f }, { 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f } },
-        { -45.0f, 45.0f, { 0.1f, 0.5f }, { 1.0f, 1.0f, -1.0f, 1.0f, 0.5f, -0.1f } },
-        { -45.0f, 45.0f, { 1.0f, 2.0f }, { 1.0f, 1.0f, -1.0f, 1.0f, 2.0f, -1.0f } },
-        { 45.0f, -45.0f, { 1.0f, 2.0f }, { 1.0f, -1.0f, 1.0f, 1.0f, -2.0f, 1.0f } },
-        { 30.0f, -60.0f, { 12.0f, -5.0f }, { 1.0f, -1.7320509f, 0.577350259f, 1.0f, 2.88675117f, 20.7846107f } },
+        { 0.0f, 0.0f, { 0.0f, 0.0f }, {{{ 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f }}} },
+        { 45.0f, 0.0f, { 0.0f, 0.0f }, {{{ 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f }}} },
+        { 0.0f, 0.0f, { 10.0f, -3.0f }, {{{ 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f }}} },
+        { -45.0f, 45.0f, { 0.1f, 0.5f }, {{{ 1.0f, 1.0f, -1.0f, 1.0f, 0.5f, -0.1f }}} },
+        { -45.0f, 45.0f, { 1.0f, 2.0f }, {{{ 1.0f, 1.0f, -1.0f, 1.0f, 2.0f, -1.0f }}} },
+        { 45.0f, -45.0f, { 1.0f, 2.0f }, {{{ 1.0f, -1.0f, 1.0f, 1.0f, -2.0f, 1.0f }}} },
+        { 30.0f, -60.0f, { 12.0f, -5.0f }, {{{ 1.0f, -1.7320509f, 0.577350259f, 1.0f, 2.88675117f, 20.7846107f }}} },
     };
     unsigned int i;
 
diff --git a/include/d2dbasetypes.h b/include/d2dbasetypes.h
index b231081647..a160a89021 100644
--- a/include/d2dbasetypes.h
+++ b/include/d2dbasetypes.h
@@ -29,16 +29,6 @@ typedef struct D3DCOLORVALUE
 
 typedef D3DCOLORVALUE D2D_COLOR_F;
 
-typedef struct D2D_MATRIX_3X2_F
-{
-    float _11;
-    float _12;
-    float _21;
-    float _22;
-    float _31;
-    float _32;
-} D2D_MATRIX_3X2_F;
-
 typedef struct D2D_RECT_F
 {
     float left;
diff --git a/include/dcommon.idl b/include/dcommon.idl
index 53281bd487..43c82eb8a7 100644
--- a/include/dcommon.idl
+++ b/include/dcommon.idl
@@ -23,6 +23,12 @@ typedef struct
 {
     long x, y;
 } POINT;
+
+typedef struct
+{
+    long left, top, right, bottom;
+} RECT;
+
 typedef unsigned int UINT32;
 cpp_quote("#endif")
 
@@ -52,7 +58,7 @@ typedef enum D2D1_ALPHA_MODE
     D2D1_ALPHA_MODE_PREMULTIPLIED = 1,
     D2D1_ALPHA_MODE_STRAIGHT = 2,
     D2D1_ALPHA_MODE_IGNORE = 3,
-    D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff,
+    D2D1_ALPHA_MODE_FORCE_DWORD = 0xffffffff
 } D2D1_ALPHA_MODE;
 
 typedef struct D2D1_PIXEL_FORMAT
@@ -69,12 +75,76 @@ typedef struct D2D_POINT_2F
 
 typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
 
+typedef struct D2D_VECTOR_2F
+{
+    float x;
+    float y;
+} D2D_VECTOR_2F;
+
+typedef struct D2D_VECTOR_3F
+{
+    float x;
+    float y;
+    float z;
+} D2D_VECTOR_3F;
+
+typedef struct D2D_VECTOR_4F
+{
+    float x;
+    float y;
+    float z;
+    float w;
+} D2D_VECTOR_4F;
+
+typedef RECT D2D_RECT_L, D2D1_RECT_L;
+
 typedef struct D2D_SIZE_U
 {
     UINT32 width;
     UINT32 height;
 } D2D_SIZE_U, D2D1_SIZE_U;
 
+typedef struct D2D_MATRIX_3X2_F
+{
+    union
+    {
+        struct
+        {
+            float m11;
+            float m12;
+            float m21;
+            float m22;
+            float dx;
+            float dy;
+        };
+
+        struct
+        {
+            float _11, _12;
+            float _21, _22;
+            float _31, _32;
+        };
+
+        float m[3][2];
+    };
+} D2D_MATRIX_3X2_F;
+
+typedef struct D2D_MATRIX_4X3_F
+{
+    union
+    {
+        struct
+        {
+            float _11, _12, _13;
+            float _21, _22, _23;
+            float _31, _32, _33;
+            float _41, _42, _43;
+        };
+
+        float m[4][3];
+    };
+} D2D_MATRIX_4X3_F;
+
 typedef struct D2D_MATRIX_4X4_F
 {
     union
@@ -90,3 +160,20 @@ typedef struct D2D_MATRIX_4X4_F
         float m[4][4];
     };
 } D2D_MATRIX_4X4_F;
+
+typedef struct D2D_MATRIX_5X4_F
+{
+    union
+    {
+        struct
+        {
+            float _11, _12, _13, _14;
+            float _21, _22, _23, _24;
+            float _31, _32, _33, _34;
+            float _41, _42, _43, _44;
+            float _51, _52, _53, _54;
+        };
+
+        float m[5][4];
+    };
+} D2D_MATRIX_5X4_F;




More information about the wine-cvs mailing list