From 48020f4846cca1a02f4e1dc037e2cc2068df5e9c Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath Date: Fri, 15 May 2020 18:52:41 +0530 Subject: [PATCH] include: Add missing structures in dcommon.idl. Signed-off-by: Biswapriyo Nath Signed-off-by: Alexandre Julliard --- 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 1f455897f63..07d2e26a143 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 acecb2058a5..3c8431ce8f4 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 9c5e653f56e..c32de310353 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 e3175146a64..501d94ae3ee 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 7c0ee91099e..87c87324f3d 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 b231081647b..a160a890216 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 53281bd487a..43c82eb8a76 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;