summaryrefslogtreecommitdiffhomepage
path: root/dev/Usr/LibCF/Foundation.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-13 06:44:04 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-13 06:44:04 +0100
commitb430026b7656173f78f62dfdab13fa705b2cc718 (patch)
tree7dda6e2deea004449204754fc4fd7b27900c1dda /dev/Usr/LibCF/Foundation.h
parent9dbdbaabf24281eecdacd02dc82eb1828f4057a0 (diff)
TQ-23: Patch source code and leaving it for now.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Usr/LibCF/Foundation.h')
-rw-r--r--dev/Usr/LibCF/Foundation.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/dev/Usr/LibCF/Foundation.h b/dev/Usr/LibCF/Foundation.h
new file mode 100644
index 00000000..c0f8fe6c
--- /dev/null
+++ b/dev/Usr/LibCF/Foundation.h
@@ -0,0 +1,78 @@
+
+/* -------------------------------------------
+
+ Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved.
+
+ FILE: Foundation.h
+ PURPOSE: Foundation header of the CF framework.
+
+------------------------------------------- */
+
+#pragma once
+
+#include <LibSCI/SCI.h>
+
+namespace LibCF
+{
+ class CFString;
+ class CFGUID;
+ class CFProperty;
+ class CFObject;
+ template <typename T>
+ class CFRef;
+ class CFFont;
+ struct CFPoint;
+ struct CFRect;
+ struct CFColor;
+
+#ifndef __LP64__
+ typedef SInt32 CFInteger;
+ typedef float CFReal;
+#else
+ typedef SInt64 CFInteger;
+ typedef double CFReal;
+#endif
+
+ typedef SInt32 CFInteger32;
+ typedef SInt64 CFInteger64;
+
+ typedef char CFChar8;
+ typedef char16_t CFChar16;
+
+ struct CFPoint
+ {
+ CFInteger64 x_1{0UL};
+ CFInteger64 y_1{0UL};
+
+ CFInteger64 x_2{0UL};
+ CFInteger64 y_2{0UL};
+ CFReal ang{0UL};
+
+ operator bool();
+
+ /// @brief Check if point is within the current CFPoint.
+ /// @param point the current point to check.
+ /// @retval true if point is within this point.
+ /// @retval validations failed.
+ bool IsWithin(CFPoint& point);
+ };
+
+ struct CFColor final
+ {
+ CFInteger64 r, g, b, a{0};
+ };
+
+ struct CFRect final
+ {
+ CFInteger64 x{0UL};
+ CFInteger64 y{0UL};
+
+ CFInteger64 width{0UL};
+ CFInteger64 height{0UL};
+
+ operator bool();
+
+ BOOL SizeMatches(CFRect& rect) noexcept;
+ BOOL PositionMatches(CFRect& rect) noexcept;
+ };
+} // namespace LibCF \ No newline at end of file