gecko-dev/taskcluster/scripts/misc/mingw-numerics.patch

200 lines
4.9 KiB
Diff

From 995b3b788de66543befa9efd300b30b52df074a6 Mon Sep 17 00:00:00 2001
From: Tom Ritter <tom@ritter.vg>
Date: Fri, 3 Feb 2023 09:31:30 -0500
Subject: [PATCH 7/7] Add other numeric classes
---
.../include/windows.foundation.numerics.h | 162 +++++++++++++++++-
1 file changed, 161 insertions(+), 1 deletion(-)
diff --git a/mingw-w64-headers/include/windows.foundation.numerics.h b/mingw-w64-headers/include/windows.foundation.numerics.h
index 8af2a4263..05a3a4a98 100644
--- a/mingw-w64-headers/include/windows.foundation.numerics.h
+++ b/mingw-w64-headers/include/windows.foundation.numerics.h
@@ -38,6 +38,21 @@
extern "C" {
#endif
+#ifndef __cplusplus
+typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CVector2 __x_ABI_CWindows_CFoundation_CNumerics_CVector2;
+#else /* __cplusplus */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+typedef struct Vector2 Vector2;
+ }
+ }
+ }
+}
+#endif /* __cplusplus */
+
+
#ifndef __cplusplus
typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 __x_ABI_CWindows_CFoundation_CNumerics_CVector3;
#else /* __cplusplus */
@@ -52,7 +67,70 @@ namespace ABI {
}
#endif /* __cplusplus */
+
+#ifndef __cplusplus
+typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4;
+#else /* __cplusplus */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+ typedef struct Matrix4x4;
+ }
+ }
+ }
+}
+#endif /* __cplusplus */
+
+
+#ifndef __cplusplus
+typedef struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion;
+#else /* __cplusplus */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+ typedef struct Quaternion Quaternion;
+ }
+ }
+ }
+}
+#endif /* __cplusplus */
+
+
+
+
+
+
+
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+ struct Vector2 {
+ FLOAT X;
+ FLOAT Y;
+ };
+ }
+ }
+ }
+}
+extern "C" {
+#else
+struct __x_ABI_CWindows_CFoundation_CNumerics_CVector2 {
+ FLOAT X;
+ FLOAT Y;
+};
+#ifdef WIDL_using_Windows_Foundation_Numerics
+#define Vector2 __x_ABI_CWindows_CFoundation_CNumerics_CVector2
+#endif /* WIDL_using_Windows_Foundation_Numerics */
+#endif
+
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
@@ -76,7 +154,89 @@ struct __x_ABI_CWindows_CFoundation_CNumerics_CVector3 {
FLOAT Z;
};
#ifdef WIDL_using_Windows_Foundation_Numerics
-#define Vector3 __x_ABI_CWindows_CFoundation_CNumerics_CVector3
+#define Vector3 __x_ABI_CWindows_CFoundation_CNumerics_CVector3
+#endif /* WIDL_using_Windows_Foundation_Numerics */
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+ 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;
+ };
+ }
+ }
+ }
+}
+extern "C" {
+#else
+struct __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4 {
+ 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;
+};
+#ifdef WIDL_using_Windows_Foundation_Numerics
+#define Matrix4x4 __x_ABI_CWindows_CFoundation_CNumerics_CMatrix4x4
+#endif /* WIDL_using_Windows_Foundation_Numerics */
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+namespace ABI {
+ namespace Windows {
+ namespace Foundation {
+ namespace Numerics {
+ struct Quaternion {
+ FLOAT X;
+ FLOAT Y;
+ FLOAT Z;
+ FLOAT W;
+ };
+ }
+ }
+ }
+}
+extern "C" {
+#else
+struct __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion {
+ FLOAT X;
+ FLOAT Y;
+ FLOAT Z;
+ FLOAT W;
+};
+#ifdef WIDL_using_Windows_Foundation_Numerics
+#define Quaternion __x_ABI_CWindows_CFoundation_CNumerics_CQuaternion
#endif /* WIDL_using_Windows_Foundation_Numerics */
#endif
--
2.25.1