[PATCH 3/3] include: Add ID2D1Effect definition.

Nikolay Sivov nsivov at codeweavers.com
Tue Sep 18 05:17:49 CDT 2018


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 include/d2d1_1.idl | 104 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

diff --git a/include/d2d1_1.idl b/include/d2d1_1.idl
index 284bd60ece..c6cd9c7398 100644
--- a/include/d2d1_1.idl
+++ b/include/d2d1_1.idl
@@ -164,6 +164,30 @@ typedef enum D2D1_LAYER_OPTIONS1
 typedef struct D2D1_PROPERTY_BINDING D2D1_PROPERTY_BINDING;
 typedef D2D_MATRIX_4X4_F D2D1_MATRIX_4X4_F;
 
+typedef enum D2D1_PROPERTY_TYPE
+{
+    D2D1_PROPERTY_TYPE_UNKNOWN = 0x0,
+    D2D1_PROPERTY_TYPE_STRING = 0x1,
+    D2D1_PROPERTY_TYPE_BOOL = 0x2,
+    D2D1_PROPERTY_TYPE_UINT32 = 0x3,
+    D2D1_PROPERTY_TYPE_INT32 = 0x4,
+    D2D1_PROPERTY_TYPE_FLOAT = 0x5,
+    D2D1_PROPERTY_TYPE_VECTOR2 = 0x6,
+    D2D1_PROPERTY_TYPE_VECTOR3 = 0x7,
+    D2D1_PROPERTY_TYPE_VECTOR4 = 0x8,
+    D2D1_PROPERTY_TYPE_BLOB = 0x9,
+    D2D1_PROPERTY_TYPE_IUNKNOWN = 0xa,
+    D2D1_PROPERTY_TYPE_ENUM = 0xb,
+    D2D1_PROPERTY_TYPE_ARRAY = 0xc,
+    D2D1_PROPERTY_TYPE_CLSID = 0xd,
+    D2D1_PROPERTY_TYPE_MATRIX_3X2 = 0xe,
+    D2D1_PROPERTY_TYPE_MATRIX_4X3 = 0xf,
+    D2D1_PROPERTY_TYPE_MATRIX_4X4 = 0x10,
+    D2D1_PROPERTY_TYPE_MATRIX_5X4 = 0x11,
+    D2D1_PROPERTY_TYPE_COLOR_CONTEXT = 0x12,
+    D2D1_PROPERTY_TYPE_FORCE_DWORD = 0xffffffff,
+} D2D1_PROPERTY_TYPE;
+
 typedef struct D2D1_STROKE_STYLE_PROPERTIES1
 {
     D2D1_CAP_STYLE startCap;
@@ -250,6 +274,86 @@ typedef struct D2D1_EFFECT_INPUT_DESCRIPTION
 
 typedef HRESULT (__stdcall *PD2D1_EFFECT_FACTORY)(IUnknown **effect);
 
+[
+    object,
+    uuid(483473d7-cd46-4f9d-9d3a-3112aa80159d),
+    local,
+]
+interface ID2D1Properties : IUnknown
+{
+    UINT32 GetPropertyCount();
+    HRESULT GetPropertyName(
+        [in] UINT32 index,
+        [out] WCHAR *name,
+        [in] UINT32 name_count
+    );
+    UINT32 GetPropertyNameLength(
+        [in] UINT32 index
+    );
+    D2D1_PROPERTY_TYPE GetType(
+        [in] UINT32 index
+    );
+    UINT32 GetPropertyIndex(
+        [in] const WCHAR *name
+    );
+    HRESULT SetValueByName(
+        [in] const WCHAR *name,
+        [in] D2D1_PROPERTY_TYPE type,
+        [in] const BYTE *value,
+        [in] UINT32 value_size
+    );
+    HRESULT SetValue(
+        [in] UINT32 index,
+        [in] D2D1_PROPERTY_TYPE type,
+        [in] const BYTE *value,
+        [in] UINT32 value_size
+    );
+    HRESULT GetValueByName(
+        [in] const WCHAR *name,
+        [in] D2D1_PROPERTY_TYPE type,
+        [out] BYTE *value,
+        [in] UINT32 value_size
+    );
+    HRESULT GetValue(
+        [in] UINT32 index,
+        [in] D2D1_PROPERTY_TYPE type,
+        [out] BYTE *value,
+        [in] UINT32 value_size
+    );
+    UINT32 GetValueSize(
+        [in] UINT32 index
+    );
+    HRESULT GetSubProperties(
+        [in] UINT32 index,
+        [out] ID2D1Properties **props
+    );
+}
+
+[
+    object,
+    uuid(28211a43-7d89-476f-8181-2d6159b220ad),
+    local,
+]
+interface ID2D1Effect : ID2D1Properties
+{
+    void SetInput(
+        [in] UINT32 index,
+        [in] ID2D1Image *input,
+        [in] BOOL invalidate
+    );
+    HRESULT SetInputCount(
+        [in] UINT32 count
+    );
+    void GetInput(
+        [in] UINT32 index,
+        [out] ID2D1Image **input
+    );
+    UINT32 GetInputCount();
+    void GetOutput(
+        [out] ID2D1Image **output
+    );
+}
+
 [
     object,
     uuid(689f1f85-c72e-4e33-8f19-85754efd5ace),
-- 
2.18.0




More information about the wine-devel mailing list