dxgi: Add the IDXGISurface interface.
[wine/multimedia.git] / include / dxgi.idl
blob7c7a3e9ec16047b467bbeaa0c66da4489cd9a503
1 /*
2 * Copyright 2007 Andras Kovacs
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "dxgitype.idl";
21 typedef struct DXGI_SURFACE_DESC {
22 UINT Width;
23 UINT Height;
24 DXGI_FORMAT Format;
25 DXGI_SAMPLE_DESC SampleDesc;
26 } DXGI_SURFACE_DESC;
28 typedef struct DXGI_MAPPED_RECT {
29 INT Pitch;
30 BYTE *pBits;
31 } DXGI_MAPPED_RECT;
34 object,
35 local,
36 uuid(aec22fb8-76f3-4639-9be0-28eb43a67a2e)
38 interface IDXGIObject : IUnknown
40 HRESULT SetPrivateData(
41 [in] REFGUID guid,
42 [in] UINT data_size,
43 [in] const void *data
45 HRESULT SetPrivateDataInterface(
46 [in] REFGUID guid,
47 [in] const IUnknown *object
49 HRESULT GetPrivateData(
50 [in] REFGUID guid,
51 [in, out] UINT data_size,
52 [out] void *data
54 HRESULT GetParent(
55 [in] REFIID riid,
56 [out] void **parent
61 object,
62 local,
63 uuid(3d3e0379-f9de-4d58-bb6c-18d62992f1a6)
65 interface IDXGIDeviceSubObject : IDXGIObject
67 HRESULT GetDevice(
68 [in] REFIID riid,
69 [out] void **device
74 object,
75 local,
76 uuid(cafcb56c-6ac3-4889-bf47-9e23bbd260ec)
78 interface IDXGISurface : IDXGIDeviceSubObject
80 HRESULT GetDesc(
81 [out] DXGI_SURFACE_DESC *desc
83 HRESULT Map(
84 [out] DXGI_MAPPED_RECT *mapped_rect,
85 [in] UINT flags
87 HRESULT Unmap(