include: Add defines for ID2D1DrawInfo.

Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ziqing Hui 2022-04-26 10:40:36 +08:00 committed by Alexandre Julliard
parent 3b64dfd8e6
commit 04de217c26
1 changed files with 93 additions and 0 deletions

View File

@ -40,12 +40,73 @@ typedef enum D2D1_CHANNEL_DEPTH
D2D1_CHANNEL_DEPTH_FORCE_DWORD = 0xffffffff
} D2D1_CHANNEL_DEPTH;
typedef enum D2D1_PIXEL_OPTIONS
{
D2D1_PIXEL_OPTIONS_NONE = 0x0,
D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING = 0x1,
D2D1_PIXEL_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_PIXEL_OPTIONS;
typedef enum D2D1_VERTEX_OPTIONS
{
D2D1_VERTEX_OPTIONS_NONE = 0x0,
D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR = 0x1,
D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER = 0x2,
D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP = 0x4,
D2D1_VERTEX_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_VERTEX_OPTIONS;
typedef enum D2D1_BLEND_OPERATION
{
D2D1_BLEND_OPERATION_ADD = 0x1,
D2D1_BLEND_OPERATION_SUBTRACT = 0x2,
D2D1_BLEND_OPERATION_REV_SUBTRACT = 0x3,
D2D1_BLEND_OPERATION_MIN = 0x4,
D2D1_BLEND_OPERATION_MAX = 0x5,
D2D1_BLEND_OPERATION_FORCE_DWORD = 0xffffffff
} D2D1_BLEND_OPERATION;
typedef enum D2D1_BLEND
{
D2D1_BLEND_ZERO = 1,
D2D1_BLEND_ONE = 2,
D2D1_BLEND_SRC_COLOR = 3,
D2D1_BLEND_INV_SRC_COLOR = 4,
D2D1_BLEND_SRC_ALPHA = 5,
D2D1_BLEND_INV_SRC_ALPHA = 6,
D2D1_BLEND_DEST_ALPHA = 7,
D2D1_BLEND_INV_DEST_ALPHA = 8,
D2D1_BLEND_DEST_COLOR = 9,
D2D1_BLEND_INV_DEST_COLOR = 10,
D2D1_BLEND_SRC_ALPHA_SAT = 11,
D2D1_BLEND_BLEND_FACTOR = 14,
D2D1_BLEND_INV_BLEND_FACTOR = 15,
D2D1_BLEND_FORCE_DWORD = 0xffffffff
} D2D1_BLEND;
typedef struct D2D1_INPUT_DESCRIPTION
{
D2D1_FILTER filter;
UINT32 levelOfDetailCount;
} D2D1_INPUT_DESCRIPTION;
typedef struct D2D1_VERTEX_RANGE
{
UINT32 startVertex;
UINT32 vertexCount;
} D2D1_VERTEX_RANGE;
typedef struct D2D1_BLEND_DESCRIPTION
{
D2D1_BLEND sourceBlend;
D2D1_BLEND destinationBlend;
D2D1_BLEND_OPERATION blendOperation;
D2D1_BLEND sourceBlendAlpha;
D2D1_BLEND destinationBlendAlpha;
D2D1_BLEND_OPERATION blendOperationAlpha;
float blendFactor[4];
} D2D1_BLEND_DESCRIPTION;
[
object,
uuid(9b8b1336-00a5-4668-92b7-ced5d8bf9b7b),
@ -99,3 +160,35 @@ interface ID2D1RenderInfo : IUnknown
[in] UINT32 count
);
}
[
object,
uuid(693ce632-7f2f-45de-93fe-18d88b37aa21),
local,
]
interface ID2D1DrawInfo : ID2D1RenderInfo
{
HRESULT SetPixelShaderConstantBuffer(
[in] const BYTE *buffer,
[in] UINT32 size
);
HRESULT SetResourceTexture(
[in] UINT32 index,
[in] ID2D1ResourceTexture *texture
);
HRESULT SetVertexShaderConstantBuffer(
[in] const BYTE *buffer,
[in] UINT32 size
);
HRESULT SetPixelShader(
[in] REFGUID id,
[in] D2D1_PIXEL_OPTIONS options
);
HRESULT SetVertexProcessing(
[in, optional] ID2D1VertexBuffer *buffer,
[in] D2D1_VERTEX_OPTIONS options,
[in, optional] const D2D1_BLEND_DESCRIPTION *description,
[in, optional] const D2D1_VERTEX_RANGE *range,
[in, optional] const GUID *shader
);
}