From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- include/d2d1_3.idl | 111 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+)
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl index 9ca42e661e1..8e53f630ea4 100644 --- a/include/d2d1_3.idl +++ b/include/d2d1_3.idl @@ -505,6 +505,9 @@ interface ID2D1DeviceContext4 : ID2D1DeviceContext3 ); }
+interface ID2D1DeviceContext5; +interface ID2D1DeviceContext6; + [ object, uuid(a44472e1-8dfb-4e60-8492-6e2861c9ca8b), @@ -524,6 +527,62 @@ interface ID2D1Device2 : ID2D1Device1 ); }
+[ + object, + uuid(852f2087-802c-4037-ab60-ff2e7ee6fc01), + local, +] +interface ID2D1Device3 : ID2D1Device2 +{ + HRESULT CreateDeviceContext( + [in] D2D1_DEVICE_CONTEXT_OPTIONS options, + [out] ID2D1DeviceContext3 **context + ); +} + +[ + object, + uuid(d7bdb159-5683-4a46-bc9c-72dc720b858b), + local, +] +interface ID2D1Device4 : ID2D1Device3 +{ + HRESULT CreateDeviceContext( + [in] D2D1_DEVICE_CONTEXT_OPTIONS options, + [out] ID2D1DeviceContext4 **context + ); + void SetMaximumColorGlyphCacheMemory( + UINT64 size + ); + UINT64 GetMaximumColorGlyphCacheMemory(void); +} + +[ + object, + uuid(d55ba0a4-6405-4694-aef5-08ee1a4358b4), + local, +] +interface ID2D1Device5 : ID2D1Device4 +{ + HRESULT CreateDeviceContext( + [in] D2D1_DEVICE_CONTEXT_OPTIONS options, + [out] ID2D1DeviceContext5 **context + ); +} + +[ + object, + uuid(7bfef914-2d75-4bad-be87-e18ddb077b6d), + local, +] +interface ID2D1Device6 : ID2D1Device5 +{ + HRESULT CreateDeviceContext( + [in] D2D1_DEVICE_CONTEXT_OPTIONS options, + [out] ID2D1DeviceContext6 **context + ); +} + [ object, uuid(0869759f-4f00-413f-b03e-2bda45404d0f), @@ -537,6 +596,58 @@ interface ID2D1Factory3 : ID2D1Factory2 ); }
+[ + object, + uuid(bd4ec2d2-0662-4bee-ba8e-6f29f032e096), + local, +] +interface ID2D1Factory4 : ID2D1Factory3 +{ + HRESULT CreateDevice( + [in] IDXGIDevice *dxgi_device, + [out] ID2D1Device3 **d2d_device + ); +} + +[ + object, + uuid(c4349994-838e-4b0f-8cab-44997d9eeacc), + local, +] +interface ID2D1Factory5 : ID2D1Factory4 +{ + HRESULT CreateDevice( + [in] IDXGIDevice *dxgi_device, + [out] ID2D1Device4 **d2d_device + ); +} + +[ + object, + uuid(f9976f46-f642-44c1-97ca-da32ea2a2635), + local, +] +interface ID2D1Factory6 : ID2D1Factory5 +{ + HRESULT CreateDevice( + [in] IDXGIDevice *dxgi_device, + [out] ID2D1Device5 **d2d_device + ); +} + +[ + object, + uuid(bdc2bdd3-b96c-4de6-bdf7-99d4745454de), + local, +] +interface ID2D1Factory7 : ID2D1Factory6 +{ + HRESULT CreateDevice( + [in] IDXGIDevice *dxgi_device, + [out] ID2D1Device6 **d2d_device + ); +} + [ object, uuid(3bab440e-417e-47df-a2e2-bc0be6a00916),
Nikolay Sivov wine@gitlab.winehq.org wrote:
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl index 9ca42e661e1..8e53f630ea4 100644 --- a/include/d2d1_3.idl +++ b/include/d2d1_3.idl @@ -505,6 +505,9 @@ interface ID2D1DeviceContext4 : ID2D1DeviceContext3 ); }
+interface ID2D1DeviceContext5; +interface ID2D1DeviceContext6;
It doesn't make sence to add it in this patch just to remove in the next one.
From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- include/d2d1_3.idl | 83 ++++++++++++++++++++++++++++++++++++++++- include/d2d1effects.idl | 31 +++++++++++++++ 2 files changed, 112 insertions(+), 2 deletions(-)
diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl index 8e53f630ea4..a4868889012 100644 --- a/include/d2d1_3.idl +++ b/include/d2d1_3.idl @@ -85,6 +85,22 @@ typedef enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_FORCE_DWORD = 0xffffffff } D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION;
+typedef enum D2D1_GAMMA1 +{ + D2D1_GAMMA1_G22 = D2D1_GAMMA_2_2, + D2D1_GAMMA1_G10 = D2D1_GAMMA_1_0, + D2D1_GAMMA1_G2084 = 2, + D2D1_GAMMA1_FORCE_DWORD = 0xffffffff +} D2D1_GAMMA1; + +typedef enum D2D1_COLOR_CONTEXT_TYPE +{ + D2D1_COLOR_CONTEXT_TYPE_ICC = 0x0, + D2D1_COLOR_CONTEXT_TYPE_SIMPLE = 0x1, + D2D1_COLOR_CONTEXT_TYPE_DXGI = 0x2, + D2D1_COLOR_CONTEXT_TYPE_FORCE_DWORD = 0xffffffff +} D2D1_COLOR_CONTEXT_TYPE; + typedef struct D2D1_INK_POINT { float x; @@ -142,6 +158,15 @@ typedef struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options; } D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES;
+typedef struct D2D1_SIMPLE_COLOR_PROFILE +{ + D2D1_POINT_2F redPrimary; + D2D1_POINT_2F greenPrimary; + D2D1_POINT_2F bluePrimary; + D2D1_POINT_2F whitePointXZ; + D2D1_GAMMA1 gamma; +} D2D1_SIMPLE_COLOR_PROFILE; + [ object, uuid(bae8b344-23fc-4071-8cb5-d05d6f073848), @@ -505,8 +530,62 @@ interface ID2D1DeviceContext4 : ID2D1DeviceContext3 ); }
-interface ID2D1DeviceContext5; -interface ID2D1DeviceContext6; +interface ID2D1SvgDocument; + +[ + object, + uuid(1ab42875-c57f-4be9-bd85-9cd78d6f55ee), + local, +] +interface ID2D1ColorContext1 : ID2D1ColorContext +{ + D2D1_COLOR_CONTEXT_TYPE GetColorContextType(void); + DXGI_COLOR_SPACE_TYPE GetDXGIColorSpace(void); + HRESULT GetSimpleColorProfile( + [out] D2D1_SIMPLE_COLOR_PROFILE *simple_profile + ); +} + +[ + object, + uuid(7836d248-68cc-4df6-b9e8-de991bf62eb7), + local, +] +interface ID2D1DeviceContext5 : ID2D1DeviceContext4 +{ + HRESULT CreateSvgDocument( + [in] IStream *input_xml_stream, + [in] D2D1_SIZE_F viewport_size, + [out] ID2D1SvgDocument **svg_document + ); + void DrawSvgDocument( + [in] ID2D1SvgDocument *svg_document + ); + HRESULT CreateColorContextFromDxgiColorSpace( + [in] DXGI_COLOR_SPACE_TYPE color_space, + [out] ID2D1ColorContext1 **color_context + ); + HRESULT CreateColorContextFromSimpleColorProfile( + [in] const D2D1_SIMPLE_COLOR_PROFILE *simple_profile, + [out] ID2D1ColorContext1 **color_context + ); +} + +[ + object, + uuid(985f7e37-4ed0-4a19-98a3-15b0edfde306), + local, +] +interface ID2D1DeviceContext6 : ID2D1DeviceContext5 +{ + void BlendImage( + [in] ID2D1Image *image, + [in] D2D1_BLEND_MODE blend_mode, + [in] const D2D1_POINT_2F *target_offset, + [in] const D2D1_RECT_F *image_rect, + [in] D2D1_INTERPOLATION_MODE interpolation_mode + ); +}
[ object, diff --git a/include/d2d1effects.idl b/include/d2d1effects.idl index 00bf323ecba..32277027f88 100644 --- a/include/d2d1effects.idl +++ b/include/d2d1effects.idl @@ -120,3 +120,34 @@ typedef enum D2D1_CROP_PROP D2D1_CROP_PROP_BORDER_MODE = 0x1, D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff } D2D1_CROP_PROP; + +typedef enum D2D1_BLEND_MODE +{ + D2D1_BLEND_MODE_MULTIPLY = 0x0, + D2D1_BLEND_MODE_SCREEN = 0x1, + D2D1_BLEND_MODE_DARKEN = 0x2, + D2D1_BLEND_MODE_LIGHTEN = 0x3, + D2D1_BLEND_MODE_DISSOLVE = 0x4, + D2D1_BLEND_MODE_COLOR_BURN = 0x5, + D2D1_BLEND_MODE_LINEAR_BURN = 0x6, + D2D1_BLEND_MODE_DARKER_COLOR = 0x7, + D2D1_BLEND_MODE_LIGHTER_COLOR = 0x8, + D2D1_BLEND_MODE_COLOR_DODGE = 0x9, + D2D1_BLEND_MODE_LINEAR_DODGE = 0xa, + D2D1_BLEND_MODE_OVERLAY = 0xb, + D2D1_BLEND_MODE_SOFT_LIGHT = 0xc, + D2D1_BLEND_MODE_HARD_LIGHT = 0xd, + D2D1_BLEND_MODE_VIVID_LIGHT = 0xe, + D2D1_BLEND_MODE_LINEAR_LIGHT = 0xf, + D2D1_BLEND_MODE_PIN_LIGHT = 0x10, + D2D1_BLEND_MODE_HARD_MIX = 0x11, + D2D1_BLEND_MODE_DIFFERENCE = 0x12, + D2D1_BLEND_MODE_EXCLUSION = 0x13, + D2D1_BLEND_MODE_HUE = 0x14, + D2D1_BLEND_MODE_SATURATION = 0x15, + D2D1_BLEND_MODE_COLOR = 0x16, + D2D1_BLEND_MODE_LUMINOSITY = 0x17, + D2D1_BLEND_MODE_SUBTRACT = 0x18, + D2D1_BLEND_MODE_DIVISION = 0x19, + D2D1_BLEND_MODE_FORCE_DWORD = 0xffffffff +} D2D1_BLEND_MODE;
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=143934
Your paranoid android.
=== debian11b (64 bit WoW report) ===
secur32: schannel.c:538: Test failed: cert_cnt = 2