From: Jacek Caban jacek@codeweavers.com
--- include/windows.foundation.numerics.idl | 65 +++++++++++++++++++++++++ 1 file changed, 65 insertions(+)
diff --git a/include/windows.foundation.numerics.idl b/include/windows.foundation.numerics.idl index eca99ca29bc..0139411aec9 100644 --- a/include/windows.foundation.numerics.idl +++ b/include/windows.foundation.numerics.idl @@ -29,6 +29,38 @@ import "windows.foundation.idl"; namespace Windows.Foundation.Numerics { typedef struct Vector3 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 { @@ -36,4 +68,37 @@ 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; + }; }
This is more or less similar to https://gitlab.winehq.org/wine/wine/-/merge_requests/2292/diffs?commit_id=59..., although there's some slight differences, is this intended to supersede it or is it unrelated?
You're also missing the typedefs here.
This merge request was closed by Jacek Caban.
FWIW, it's needed for mingw Firefox build: https://searchfox.org/mozilla-central/source/taskcluster/scripts/misc/mingw-.... It will also need Vector2, but we can add that later.