2022-04-27 06:26:30 +00:00
|
|
|
/*
|
|
|
|
* 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 {
|
2022-12-19 00:17:21 +00:00
|
|
|
typedef struct Matrix3x2 Matrix3x2;
|
|
|
|
typedef struct Matrix4x4 Matrix4x4;
|
|
|
|
typedef struct Plane Plane;
|
|
|
|
typedef struct Quaternion Quaternion;
|
|
|
|
typedef struct Vector2 Vector2;
|
2022-04-27 06:26:30 +00:00
|
|
|
typedef struct Vector3 Vector3;
|
2022-12-19 00:17:21 +00:00
|
|
|
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;
|
|
|
|
};
|
2022-04-27 06:26:30 +00:00
|
|
|
|
|
|
|
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
|
|
|
struct Vector3
|
|
|
|
{
|
|
|
|
FLOAT X;
|
|
|
|
FLOAT Y;
|
|
|
|
FLOAT Z;
|
|
|
|
};
|
2022-12-19 00:17:21 +00:00
|
|
|
|
|
|
|
[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;
|
|
|
|
};
|
2022-04-27 06:26:30 +00:00
|
|
|
}
|