wine/include/windows.foundation.numerics.idl

116 lines
2.9 KiB
Text
Raw Normal View History

/*
* Copyright 2022 Rémi Bernon for CodeWeavers
*
* 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";
namespace Windows.Foundation.Numerics {
typedef struct Matrix3x2 Matrix3x2;
typedef struct Matrix4x4 Matrix4x4;
typedef struct Plane Plane;
typedef struct Quaternion Quaternion;
typedef struct Vector2 Vector2;
typedef struct Vector3 Vector3;
typedef struct Vector4 Vector4;
declare {
interface Windows.Foundation.IReference<Windows.Foundation.Numerics.Matrix4x4>;
interface Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector2>;
interface Windows.Foundation.IReference<Windows.Foundation.Numerics.Vector3>;
}
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Matrix3x2
{
FLOAT M11;
FLOAT M12;
FLOAT M21;
FLOAT M22;
FLOAT M31;
FLOAT M32;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Matrix4x4
{
FLOAT M11;
FLOAT M12;
FLOAT M13;
FLOAT M14;
FLOAT M21;
FLOAT M22;
FLOAT M23;
FLOAT M24;
FLOAT M31;
FLOAT M32;
FLOAT M33;
FLOAT M34;
FLOAT M41;
FLOAT M42;
FLOAT M43;
FLOAT M44;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Vector3
{
FLOAT X;
FLOAT Y;
FLOAT Z;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Plane
{
Windows.Foundation.Numerics.Vector3 Normal;
FLOAT D;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Quaternion
{
FLOAT X;
FLOAT Y;
FLOAT Z;
FLOAT W;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Vector2
{
FLOAT X;
FLOAT Y;
};
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
struct Vector4
{
FLOAT X;
FLOAT Y;
FLOAT Z;
FLOAT W;
};
}