[PATCH v4 4/6] include: Add defines for ID2D1DrawInfo.
Ziqing Hui
zhui at codeweavers.com
Sun Apr 24 23:42:30 CDT 2022
Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
include/d2d1effectauthor.idl | 93 ++++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/include/d2d1effectauthor.idl b/include/d2d1effectauthor.idl
index b52f51074dd..d7576c9e9f9 100644
--- a/include/d2d1effectauthor.idl
+++ b/include/d2d1effectauthor.idl
@@ -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 = 0x1,
+ D2D1_BLEND_ONE = 0x2,
+ D2D1_BLEND_SRC_COLOR = 0x3,
+ D2D1_BLEND_INV_SRC_COLOR = 0x4,
+ D2D1_BLEND_SRC_ALPHA = 0x5,
+ D2D1_BLEND_INV_SRC_ALPHA = 0x6,
+ D2D1_BLEND_DEST_ALPHA = 0x7,
+ D2D1_BLEND_INV_DEST_ALPHA = 0x8,
+ D2D1_BLEND_DEST_COLOR = 0x9,
+ D2D1_BLEND_INV_DEST_COLOR = 0xa,
+ D2D1_BLEND_SRC_ALPHA_SAT = 0xb,
+ D2D1_BLEND_BLEND_FACTOR = 0xe,
+ D2D1_BLEND_INV_BLEND_FACTOR = 0xf,
+ 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
+ );
+};
--
2.25.1
More information about the wine-devel
mailing list