| /* |
| * 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; |
| }; |
| } |