[PATCH 1/3] include: Add defines for ID2D1Transform.

Ziqing Hui zhui at codeweavers.com
Tue Apr 26 23:24:38 CDT 2022


Signed-off-by: Ziqing Hui <zhui at codeweavers.com>
---
 include/d2d1effectauthor.idl | 162 +++++++++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)

diff --git a/include/d2d1effectauthor.idl b/include/d2d1effectauthor.idl
index cec7de8c311..6838492c498 100644
--- a/include/d2d1effectauthor.idl
+++ b/include/d2d1effectauthor.idl
@@ -258,3 +258,165 @@ interface ID2D1TransformGraph : IUnknown
         [in] UINT32 index
     );
 }
+
+[
+    object,
+    uuid(ef1a287d-342a-4f76-8fdb-da0d6ea9f92b),
+    local,
+]
+interface ID2D1Transform : ID2D1TransformNode
+{
+    HRESULT MapOutputRectToInputRects(
+        [in] const D2D1_RECT_L *output_rect,
+        [out] D2D1_RECT_L *input_rects,
+        [in] UINT32 input_rects_count
+    );
+    HRESULT MapInputRectsToOutputRect(
+        [in] const D2D1_RECT_L *input_rects,
+        [in] const D2D1_RECT_L *input_opaque_rects,
+        [in] UINT32 input_rect_count,
+        [out] D2D1_RECT_L *output_rect,
+        [out] D2D1_RECT_L *output_opaque_rect
+    );
+    HRESULT MapInvalidRect(
+        [in] UINT32 index,
+        [in] D2D1_RECT_L input_rect,
+        [out] D2D1_RECT_L *output_rect
+    );
+}
+
+[
+    object,
+    uuid(36bfdcb6-9739-435d-a30d-a653beff6a6f),
+    local,
+]
+interface ID2D1DrawTransform : ID2D1Transform
+{
+    HRESULT SetDrawInfo(
+        [in] ID2D1DrawInfo *info
+    );
+}
+
+[
+    object,
+    uuid(0d85573c-01e3-4f7d-bfd9-0d60608bf3c3),
+    local,
+]
+interface ID2D1ComputeTransform : ID2D1Transform
+{
+    HRESULT SetComputeInfo(
+        [in] ID2D1ComputeInfo *info
+    );
+    HRESULT CalculateThreadgroups(
+        [in] const D2D1_RECT_L *output_rect,
+        [out] UINT32 *dimension_x,
+        [out] UINT32 *dimension_y,
+        [out] UINT32 *dimension_z
+    );
+}
+
+[
+    object,
+    uuid(0359dc30-95e6-4568-9055-27720d130e93),
+    local,
+]
+interface ID2D1AnalysisTransform : IUnknown
+{
+    HRESULT ProcessAnalysisResults(
+        [in] const BYTE *data,
+        [in] UINT32 size
+    );
+}
+
+[
+    object,
+    uuid(db1800dd-0c34-4cf9-be90-31cc0a5653e1),
+    local,
+]
+interface ID2D1SourceTransform : ID2D1Transform
+{
+    HRESULT SetRenderInfo(
+        [in] ID2D1RenderInfo *info
+    );
+    HRESULT Draw(
+        [in] ID2D1Bitmap1 *target,
+        [in] const D2D1_RECT_L *draw_rect,
+        [in] D2D1_POINT_2U target_origin
+    );
+}
+
+[
+    object,
+    uuid(1a799d8a-69f7-4e4c-9fed-437ccc6684cc),
+    local,
+]
+interface ID2D1ConcreteTransform : ID2D1TransformNode
+{
+    HRESULT SetOutputBuffer(
+        [in] D2D1_BUFFER_PRECISION precision,
+        [in] D2D1_CHANNEL_DEPTH depth
+    );
+    void SetCached(
+        [in] BOOL is_cached
+    );
+}
+
+[
+    object,
+    uuid(63ac0b32-ba44-450f-8806-7f4ca1ff2f1b),
+    local,
+]
+interface ID2D1BlendTransform : ID2D1ConcreteTransform
+{
+    void SetDescription(
+        [in] const D2D1_BLEND_DESCRIPTION *description
+    );
+    void GetDescription(
+        [out] D2D1_BLEND_DESCRIPTION *description
+    );
+}
+
+[
+    object,
+    uuid(4998735c-3a19-473c-9781-656847e3a347),
+    local,
+]
+interface ID2D1BorderTransform : ID2D1ConcreteTransform
+{
+    void SetExtendModeX(
+        [in] D2D1_EXTEND_MODE mode
+    );
+    void SetExtendModeY(
+        [in] D2D1_EXTEND_MODE mode
+    );
+    D2D1_EXTEND_MODE GetExtendModeX();
+    D2D1_EXTEND_MODE GetExtendModeY();
+}
+
+[
+    object,
+    uuid(3fe6adea-7643-4f53-bd14-a0ce63f24042),
+    local,
+]
+interface ID2D1OffsetTransform : ID2D1TransformNode
+{
+    void SetOffset(
+        [in] D2D1_POINT_2L offset
+    );
+    D2D1_POINT_2L GetOffset();
+}
+
+[
+    object,
+    uuid(90f732e2-5092-4606-a819-8651970baccd),
+    local,
+]
+interface ID2D1BoundsAdjustmentTransform : ID2D1TransformNode
+{
+    void SetOutputBounds(
+        [in] const D2D1_RECT_L *bounds
+    );
+    void GetOutputBounds(
+        [out] D2D1_RECT_L *bounds
+    );
+}
-- 
2.25.1




More information about the wine-devel mailing list