From c78cd3f554084911a1cd889175c3785c2914d4b8 Mon Sep 17 00:00:00 2001 From: Mohamad Al-Jaf Date: Sun, 18 Dec 2022 19:17:21 -0500 Subject: [PATCH] include: Add more Windows.Foundation.Numerics structs. --- include/windows.foundation.numerics.idl | 76 +++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/include/windows.foundation.numerics.idl b/include/windows.foundation.numerics.idl index eca99ca29bc..f74eb4fd889 100644 --- a/include/windows.foundation.numerics.idl +++ b/include/windows.foundation.numerics.idl @@ -27,7 +27,51 @@ 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; + interface Windows.Foundation.IReference; + interface Windows.Foundation.IReference; + } + + [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 @@ -36,4 +80,36 @@ namespace Windows.Foundation.Numerics { 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; + }; }