wined3d: Store the map pointer in the wined3d_deferred_upload structure.
[wine.git] / include / windows.graphics.holographic.idl
blob88a7aa914b8a185895c3c9b1f55f3776a7067540
1 /*
2 * Copyright (C) 2023 Mohamad Al-Jaf
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 #ifdef __WIDL__
20 #pragma winrt ns_prefix
21 #endif
23 import "inspectable.idl";
24 import "asyncinfo.idl";
25 import "eventtoken.idl";
26 import "windowscontracts.idl";
27 import "windows.foundation.idl";
28 import "windows.foundation.numerics.idl";
29 import "windows.graphics.directx.idl";
30 import "windows.graphics.directx.direct3d11.idl";
31 /* import "windows.perception.idl"; */
32 import "windows.perception.spatial.idl";
33 import "windows.ui.core.idl";
35 namespace Windows.Graphics.Holographic {
36 typedef struct HolographicAdapterId HolographicAdapterId;
38 interface IHolographicCamera;
39 interface IHolographicFrame;
40 interface IHolographicSpaceStatics;
41 interface IHolographicSpaceStatics2;
42 interface IHolographicSpaceStatics3;
43 interface IHolographicSpaceCameraAddedEventArgs;
44 interface IHolographicSpaceCameraRemovedEventArgs;
46 runtimeclass HolographicCamera;
47 runtimeclass HolographicFrame;
48 runtimeclass HolographicSpace;
49 runtimeclass HolographicSpaceCameraAddedEventArgs;
50 runtimeclass HolographicSpaceCameraRemovedEventArgs;
52 declare {
53 interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Holographic.HolographicSpace *, IInspectable *>;
54 interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Holographic.HolographicSpace *, Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs *>;
55 interface Windows.Foundation.TypedEventHandler<Windows.Graphics.Holographic.HolographicSpace *, Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs *>;
59 contract(Windows.Foundation.UniversalApiContract, 2.0)
61 struct HolographicAdapterId
63 UINT32 LowPart;
64 INT32 HighPart;
68 contract(Windows.Foundation.UniversalApiContract, 2.0),
69 exclusiveto(Windows.Graphics.Holographic.HolographicSpace),
70 uuid(4380dba6-5e78-434f-807c-3433d1efe8b7)
72 interface IHolographicSpace : IInspectable
74 [propget] HRESULT PrimaryAdapterId([out, retval] Windows.Graphics.Holographic.HolographicAdapterId *value);
75 HRESULT SetDirect3D11Device([in] Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice *value);
76 [eventadd] HRESULT CameraAdded(
77 [in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Holographic.HolographicSpace *, Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs *> *handler,
78 [out, retval] EventRegistrationToken *cookie
80 [eventremove] HRESULT CameraAdded([in] EventRegistrationToken cookie);
81 [eventadd] HRESULT CameraRemoved(
82 [in] Windows.Foundation.TypedEventHandler<Windows.Graphics.Holographic.HolographicSpace *, Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs *> *handler,
83 [out, retval] EventRegistrationToken *cookie
85 [eventremove] HRESULT CameraRemoved([in] EventRegistrationToken cookie);
86 HRESULT CreateNextFrame([out, retval] Windows.Graphics.Holographic.HolographicFrame **value);
90 contract(Windows.Foundation.UniversalApiContract, 4.0),
91 exclusiveto(Windows.Graphics.Holographic.HolographicSpace),
92 uuid(0e777088-75fc-48af-8758-0652f6f07c59)
94 interface IHolographicSpaceStatics2 : IInspectable
96 [propget] HRESULT IsSupported([out, retval] boolean *value);
97 [propget] HRESULT IsAvailable([out, retval] boolean *value);
98 [eventadd] HRESULT IsAvailableChanged([in] Windows.Foundation.EventHandler<IInspectable *> *handler, [out, retval] EventRegistrationToken *token);
99 [eventremove] HRESULT IsAvailableChanged([in] EventRegistrationToken token);
103 contract(Windows.Foundation.UniversalApiContract, 5.0),
104 exclusiveto(Windows.Graphics.Holographic.HolographicSpace),
105 uuid(3b00de3d-b1a3-4dfe-8e79-fec5909e6df8)
107 interface IHolographicSpaceStatics3 : IInspectable
109 [propget] HRESULT IsConfigured([out, retval] boolean *value);
113 contract(Windows.Foundation.UniversalApiContract, 2.0),
114 exclusiveto(Windows.Graphics.Holographic.HolographicSpaceCameraAddedEventArgs),
115 uuid(58f1da35-bbb3-3c8f-993d-6c80e7feb99f)
117 interface IHolographicSpaceCameraAddedEventArgs : IInspectable
119 [propget] HRESULT Camera([out, retval] Windows.Graphics.Holographic.HolographicCamera **value);
120 HRESULT GetDeferral([out, retval] Windows.Foundation.Deferral **value);
124 contract(Windows.Foundation.UniversalApiContract, 2.0),
125 exclusiveto(Windows.Graphics.Holographic.HolographicSpaceCameraRemovedEventArgs),
126 uuid(805444a8-f2ae-322e-8da9-836a0a95a4c1)
128 interface IHolographicSpaceCameraRemovedEventArgs : IInspectable
130 [propget] HRESULT Camera([out, retval] Windows.Graphics.Holographic.HolographicCamera **value);
134 contract(Windows.Foundation.UniversalApiContract, 2.0),
135 marshaling_behavior(agile),
136 threading(both)
138 runtimeclass HolographicCamera
140 [default] interface Windows.Graphics.Holographic.IHolographicCamera;
144 contract(Windows.Foundation.UniversalApiContract, 2.0),
145 marshaling_behavior(agile),
146 threading(both)
148 runtimeclass HolographicFrame
150 [default] interface Windows.Graphics.Holographic.IHolographicFrame;
154 contract(Windows.Foundation.UniversalApiContract, 2.0),
155 marshaling_behavior(agile),
156 static(Windows.Graphics.Holographic.IHolographicSpaceStatics, Windows.Foundation.UniversalApiContract, 2.0),
157 static(Windows.Graphics.Holographic.IHolographicSpaceStatics2, Windows.Foundation.UniversalApiContract, 4.0),
158 static(Windows.Graphics.Holographic.IHolographicSpaceStatics3, Windows.Foundation.UniversalApiContract, 5.0),
159 threading(both)
161 runtimeclass HolographicSpace
163 [default] interface Windows.Graphics.Holographic.IHolographicSpace;
167 contract(Windows.Foundation.UniversalApiContract, 2.0),
168 marshaling_behavior(agile),
169 threading(both)
171 runtimeclass HolographicSpaceCameraAddedEventArgs
173 [default] interface Windows.Graphics.Holographic.IHolographicSpaceCameraAddedEventArgs;
177 contract(Windows.Foundation.UniversalApiContract, 2.0),
178 marshaling_behavior(agile),
179 threading(both)
181 runtimeclass HolographicSpaceCameraRemovedEventArgs
183 [default] interface Windows.Graphics.Holographic.IHolographicSpaceCameraRemovedEventArgs;