diff --git a/include/d2d1.idl b/include/d2d1.idl index 2c9db1a24c1..b76e51ff538 100644 --- a/include/d2d1.idl +++ b/include/d2d1.idl @@ -272,6 +272,13 @@ typedef enum D2D1_WINDOW_STATE D2D1_WINDOW_STATE_FORCE_DWORD = 0xffffffff, } D2D1_WINDOW_STATE; +typedef enum D2D1_DC_INITIALIZE_MODE +{ + D2D1_DC_INITIALIZE_MODE_COPY = 0, + D2D1_DC_INITIALIZE_MODE_CLEAR = 1, + D2D1_DC_INITIALIZE_MODE_FORCE_DWORD = 0xffffffff, +} D2D1_DC_INITIALIZE_MODE; + typedef struct D2D1_BEZIER_SEGMENT { D2D1_POINT_2F point1; @@ -1126,5 +1133,21 @@ interface ID2D1DCRenderTarget : ID2D1RenderTarget ); } +[ + local, + object, + uuid(e0db51c3-6f77-4bae-b3d5-e47509b35838) +] +interface ID2D1GdiInteropRenderTarget : IUnknown +{ + HRESULT GetDC( + [in] D2D1_DC_INITIALIZE_MODE mode, + [out] HDC *dc + ); + HRESULT ReleaseDC( + [in] const RECT *update + ); +} + [local] HRESULT __stdcall D2D1CreateFactory(D2D1_FACTORY_TYPE factory_type, REFIID iid, const D2D1_FACTORY_OPTIONS *factory_options, void **factory);