1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

include: Add newer D2D command sink interface definitions.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
Nikolay Sivov 2022-08-03 23:35:54 +03:00 committed by Alexandre Julliard
parent d493fab3e8
commit bb83067bd7
2 changed files with 74 additions and 0 deletions

View File

@ -89,3 +89,15 @@ interface ID2D1Factory2 : ID2D1Factory1
[out] ID2D1Device1 **device
);
}
[
object,
uuid(9eb767fd-4269-4467-b8c2-eb30cb305743),
local,
]
interface ID2D1CommandSink1 : ID2D1CommandSink
{
HRESULT SetPrimitiveBlend1(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
}

View File

@ -19,6 +19,8 @@
import "d2d1_2.idl";
import "d2d1effects_2.idl";
interface ID2D1SpriteBatch;
typedef enum D2D1_INK_NIB_SHAPE
{
D2D1_INK_NIB_SHAPE_ROUND = 0x0,
@ -69,6 +71,13 @@ typedef enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS;
typedef enum D2D1_SPRITE_OPTIONS
{
D2D1_SPRITE_OPTIONS_NONE = 0x0,
D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 0x1,
D2D1_SPRITE_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_SPRITE_OPTIONS;
typedef struct D2D1_INK_POINT
{
float x;
@ -356,3 +365,56 @@ interface ID2D1Factory3 : ID2D1Factory2
[out] ID2D1Device2 **d2d_device
);
}
[
object,
uuid(3bab440e-417e-47df-a2e2-bc0be6a00916),
local,
]
interface ID2D1CommandSink2 : ID2D1CommandSink1
{
HRESULT DrawInk(
[in] ID2D1Ink *ink,
[in] ID2D1Brush *brush,
[in] ID2D1InkStyle *ink_style
);
HRESULT DrawGradientMesh(
[in] ID2D1GradientMesh *gradient_mesh
);
HRESULT DrawGdiMetafile(
[in] ID2D1GdiMetafile *gdi_metafile,
[in] const D2D1_RECT_F *dest_rect,
[in] const D2D1_RECT_F *src_rect
);
}
[
object,
uuid(18079135-4cf3-4868-bc8e-06067e6d242d),
local,
]
interface ID2D1CommandSink3 : ID2D1CommandSink2
{
HRESULT DrawSpriteBatch(
[in] ID2D1SpriteBatch *sprite_batch,
[in] UINT32 start_index,
[in] UINT32 sprite_count,
[in] ID2D1Bitmap *bitmap,
[in] D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,
[in] D2D1_SPRITE_OPTIONS sprite_options
);
}
[
object,
uuid(c78a6519-40d6-4218-b2de-beeeb744bb3e),
local,
]
interface ID2D1CommandSink4 : ID2D1CommandSink3
{
HRESULT SetPrimitiveBlend2(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
}