d3dxof: Enable referencing objects defined in current top-level object.
[wine] / include / wine / winedxgi.idl
1 /*
2  * Copyright 2008-2009 Henri Verbeet for CodeWeavers
3  *
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.
8  *
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.
13  *
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
17  */
18
19 import "dxgi.idl";
20
21 [
22     object,
23     local,
24     uuid(a07ad9ab-fb01-4574-8bfb-0a70a7373f04)
25 ]
26 interface IWineDXGIFactory : IDXGIFactory
27 {
28     struct IWineD3D *get_wined3d();
29 }
30
31 [
32     object,
33     local,
34     uuid(ab1de34c-2963-4ffd-8493-40f580e510e5)
35 ]
36 interface IWineDXGIAdapter : IDXGIAdapter
37 {
38     UINT get_ordinal();
39 }
40
41 [
42     object,
43     local,
44     uuid(3e1ff30b-c951-48c3-b010-0fb49f3dca71)
45 ]
46 interface IWineDXGIDevice : IDXGIDevice
47 {
48     struct IWineD3DDevice *get_wined3d_device();
49     HRESULT create_surface(
50         [in] const DXGI_SURFACE_DESC *desc,
51         [in] DXGI_USAGE usage,
52         [in] const DXGI_SHARED_RESOURCE *shared_resource,
53         [in] IUnknown *outer,
54         [out] void **surface
55     );
56     HRESULT create_swapchain(
57         [in] struct _WINED3DPRESENT_PARAMETERS *present_parameters,
58         [out] struct IWineD3DSwapChain **wined3d_swapchain
59     );
60 }