mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 01:57:23 +00:00
233 lines
11 KiB
Text
233 lines
11 KiB
Text
|
/*
|
||
|
* Copyright (C) 2023 Mohamad Al-Jaf
|
||
|
*
|
||
|
* This library is free software; you can redistribute it and/or
|
||
|
* modify it under the terms of the GNU Lesser General Public
|
||
|
* License as published by the Free Software Foundation; either
|
||
|
* version 2.1 of the License, or (at your option) any later version.
|
||
|
*
|
||
|
* This library is distributed in the hope that it will be useful,
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
* Lesser General Public License for more details.
|
||
|
*
|
||
|
* You should have received a copy of the GNU Lesser General Public
|
||
|
* License along with this library; if not, write to the Free Software
|
||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||
|
*/
|
||
|
|
||
|
#ifdef __WIDL__
|
||
|
#pragma winrt ns_prefix
|
||
|
#endif
|
||
|
|
||
|
import "inspectable.idl";
|
||
|
import "asyncinfo.idl";
|
||
|
import "eventtoken.idl";
|
||
|
import "windowscontracts.idl";
|
||
|
import "windows.foundation.idl";
|
||
|
import "windows.foundation.numerics.idl";
|
||
|
import "windows.graphics.directx.idl";
|
||
|
import "windows.perception.spatial.idl";
|
||
|
import "windows.storage.streams.idl";
|
||
|
|
||
|
namespace Windows.Perception.Spatial.Surfaces {
|
||
|
interface ISpatialSurfaceInfo;
|
||
|
interface ISpatialSurfaceMesh;
|
||
|
interface ISpatialSurfaceMeshBuffer;
|
||
|
interface ISpatialSurfaceMeshOptions;
|
||
|
interface ISpatialSurfaceMeshOptionsStatics;
|
||
|
interface ISpatialSurfaceObserver;
|
||
|
interface ISpatialSurfaceObserverStatics;
|
||
|
interface ISpatialSurfaceObserverStatics2;
|
||
|
|
||
|
runtimeclass SpatialSurfaceInfo;
|
||
|
runtimeclass SpatialSurfaceMesh;
|
||
|
runtimeclass SpatialSurfaceMeshBuffer;
|
||
|
runtimeclass SpatialSurfaceMeshOptions;
|
||
|
runtimeclass SpatialSurfaceObserver;
|
||
|
|
||
|
declare {
|
||
|
interface Windows.Foundation.Collections.IMapView<GUID, Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo *>;
|
||
|
interface Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo *>;
|
||
|
interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo *> *>;
|
||
|
interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo *> *>;
|
||
|
interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Perception.Spatial.Surfaces.SpatialSurfaceMesh *>;
|
||
|
interface Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.Surfaces.SpatialSurfaceMesh *>;
|
||
|
interface Windows.Foundation.TypedEventHandler<Windows.Perception.Spatial.Surfaces.SpatialSurfaceObserver *, IInspectable *>;
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo),
|
||
|
uuid(f8e9ebe7-39b7-3962-bb03-57f56e1fb0a1)
|
||
|
]
|
||
|
interface ISpatialSurfaceInfo : IInspectable
|
||
|
{
|
||
|
[propget] HRESULT Id([out, retval] GUID *value);
|
||
|
[propget] HRESULT UpdateTime([out, retval] Windows.Foundation.DateTime *value);
|
||
|
HRESULT TryGetBounds(
|
||
|
[in] Windows.Perception.Spatial.SpatialCoordinateSystem *system,
|
||
|
[out, retval] Windows.Foundation.IReference<Windows.Perception.Spatial.SpatialBoundingOrientedBox> **value
|
||
|
);
|
||
|
[overload("TryComputeLatestMeshAsync")] HRESULT TryComputeLatestMeshAsync(
|
||
|
[in] DOUBLE triangles,
|
||
|
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.Surfaces.SpatialSurfaceMesh *> **value
|
||
|
);
|
||
|
[overload("TryComputeLatestMeshAsync")] HRESULT TryComputeLatestMeshWithOptionsAsync(
|
||
|
[in] DOUBLE triangles,
|
||
|
[in] Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshOptions *options,
|
||
|
[out, retval] Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.Surfaces.SpatialSurfaceMesh *> **value
|
||
|
);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceMesh),
|
||
|
uuid(108f57d9-df0d-3950-a0fd-f972c77c27b4)
|
||
|
]
|
||
|
interface ISpatialSurfaceMesh : IInspectable
|
||
|
{
|
||
|
[propget] HRESULT SurfaceInfo([out, retval] Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo **value);
|
||
|
[propget] HRESULT CoordinateSystem([out, retval] Windows.Perception.Spatial.SpatialCoordinateSystem **value);
|
||
|
[propget] HRESULT TriangleIndices([out, retval] Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshBuffer **value);
|
||
|
[propget] HRESULT VertexPositions([out, retval] Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshBuffer **value);
|
||
|
[propget] HRESULT VertexPositionScale([out, retval] Windows.Foundation.Numerics.Vector3 *value);
|
||
|
[propget] HRESULT VertexNormals([out, retval] Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshBuffer **value);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshBuffer),
|
||
|
uuid(93cf59e0-871f-33f8-98b2-03d101458f6f)
|
||
|
]
|
||
|
interface ISpatialSurfaceMeshBuffer : IInspectable
|
||
|
{
|
||
|
[propget] HRESULT Format([out, retval] Windows.Graphics.DirectX.DirectXPixelFormat *value);
|
||
|
[propget] HRESULT Stride([out, retval] UINT32 *value);
|
||
|
[propget] HRESULT ElementCount([out, retval] UINT32 *value);
|
||
|
[propget] HRESULT Data([out, retval] Windows.Storage.Streams.IBuffer **value);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshOptions),
|
||
|
uuid(d2759f89-3572-3d2d-a10d-5fee9394aa37)
|
||
|
]
|
||
|
interface ISpatialSurfaceMeshOptions : IInspectable
|
||
|
{
|
||
|
[propget] HRESULT VertexPositionFormat([out, retval] Windows.Graphics.DirectX.DirectXPixelFormat *value);
|
||
|
[propput] HRESULT VertexPositionFormat([in] Windows.Graphics.DirectX.DirectXPixelFormat value);
|
||
|
[propget] HRESULT TriangleIndexFormat([out, retval] Windows.Graphics.DirectX.DirectXPixelFormat *value);
|
||
|
[propput] HRESULT TriangleIndexFormat([in] Windows.Graphics.DirectX.DirectXPixelFormat value);
|
||
|
[propget] HRESULT VertexNormalFormat([out, retval] Windows.Graphics.DirectX.DirectXPixelFormat *value);
|
||
|
[propput] HRESULT VertexNormalFormat([in] Windows.Graphics.DirectX.DirectXPixelFormat value);
|
||
|
[propget] HRESULT IncludeVertexNormals([out, retval] boolean *value);
|
||
|
[propput] HRESULT IncludeVertexNormals([in] boolean value);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceMeshOptions),
|
||
|
uuid(9b340abf-9781-4505-8935-013575caae5e)
|
||
|
]
|
||
|
interface ISpatialSurfaceMeshOptionsStatics : IInspectable
|
||
|
{
|
||
|
[propget] HRESULT SupportedVertexPositionFormats([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Graphics.DirectX.DirectXPixelFormat> **value);
|
||
|
[propget] HRESULT SupportedTriangleIndexFormats([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Graphics.DirectX.DirectXPixelFormat> **value);
|
||
|
[propget] HRESULT SupportedVertexNormalFormats([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Graphics.DirectX.DirectXPixelFormat> **value);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceObserver),
|
||
|
uuid(10b69819-ddca-3483-ac3a-748fe8c86df5)
|
||
|
]
|
||
|
interface ISpatialSurfaceObserver : IInspectable
|
||
|
{
|
||
|
HRESULT GetObservedSurfaces([out, retval] Windows.Foundation.Collections.IMapView<GUID, Windows.Perception.Spatial.Surfaces.SpatialSurfaceInfo *> **value);
|
||
|
HRESULT SetBoundingVolume([in] Windows.Perception.Spatial.SpatialBoundingVolume *bounds);
|
||
|
HRESULT SetBoundingVolumes([in] Windows.Foundation.Collections.IIterable<Windows.Perception.Spatial.SpatialBoundingVolume *> *bounds);
|
||
|
[eventadd] HRESULT ObservedSurfacesChanged(
|
||
|
[in] Windows.Foundation.TypedEventHandler<Windows.Perception.Spatial.Surfaces.SpatialSurfaceObserver *, IInspectable *> *handler,
|
||
|
[out, retval] EventRegistrationToken *token
|
||
|
);
|
||
|
[eventremove] HRESULT ObservedSurfacesChanged([in] EventRegistrationToken token);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceObserver),
|
||
|
uuid(165951ed-2108-4168-9175-87e027bc9285)
|
||
|
]
|
||
|
interface ISpatialSurfaceObserverStatics : IInspectable
|
||
|
{
|
||
|
HRESULT RequestAccessAsync([out, retval] Windows.Foundation.IAsyncOperation<Windows.Perception.Spatial.SpatialPerceptionAccessStatus> **result);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 4.0),
|
||
|
exclusiveto(Windows.Perception.Spatial.Surfaces.SpatialSurfaceObserver),
|
||
|
uuid(0f534261-c55d-4e6b-a895-a19de69a42e3)
|
||
|
]
|
||
|
interface ISpatialSurfaceObserverStatics2 : IInspectable
|
||
|
requires Windows.Perception.Spatial.Surfaces.ISpatialSurfaceObserverStatics
|
||
|
{
|
||
|
HRESULT IsSupported([out, retval] boolean *value);
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
marshaling_behavior(agile),
|
||
|
threading(both)
|
||
|
]
|
||
|
runtimeclass SpatialSurfaceInfo
|
||
|
{
|
||
|
[default] interface Windows.Perception.Spatial.Surfaces.ISpatialSurfaceInfo;
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
marshaling_behavior(agile),
|
||
|
threading(both)
|
||
|
]
|
||
|
runtimeclass SpatialSurfaceMesh
|
||
|
{
|
||
|
[default] interface Windows.Perception.Spatial.Surfaces.ISpatialSurfaceMesh;
|
||
|
}
|
||
|
|
||
|
[
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
marshaling_behavior(agile),
|
||
|
threading(both)
|
||
|
]
|
||
|
runtimeclass SpatialSurfaceMeshBuffer
|
||
|
{
|
||
|
[default] interface Windows.Perception.Spatial.Surfaces.ISpatialSurfaceMeshBuffer;
|
||
|
}
|
||
|
|
||
|
[
|
||
|
activatable(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
marshaling_behavior(agile),
|
||
|
static(Windows.Perception.Spatial.Surfaces.ISpatialSurfaceMeshOptionsStatics, Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
threading(both)
|
||
|
]
|
||
|
runtimeclass SpatialSurfaceMeshOptions
|
||
|
{
|
||
|
[default] interface Windows.Perception.Spatial.Surfaces.ISpatialSurfaceMeshOptions;
|
||
|
}
|
||
|
|
||
|
[
|
||
|
activatable(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
contract(Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
marshaling_behavior(agile),
|
||
|
static(Windows.Perception.Spatial.Surfaces.ISpatialSurfaceObserverStatics, Windows.Foundation.UniversalApiContract, 2.0),
|
||
|
static(Windows.Perception.Spatial.Surfaces.ISpatialSurfaceObserverStatics2, Windows.Foundation.UniversalApiContract, 4.0),
|
||
|
threading(both)
|
||
|
]
|
||
|
runtimeclass SpatialSurfaceObserver
|
||
|
{
|
||
|
[default] interface Windows.Perception.Spatial.Surfaces.ISpatialSurfaceObserver;
|
||
|
}
|
||
|
}
|