summaryrefslogtreecommitdiffhomepage
path: root/Private/Builtins
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-02 21:35:34 +0200
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-02 21:35:34 +0200
commitefc6b5d169d2b6eaabe7384141cec6054ae622a0 (patch)
tree056fb3f24bcf0be7fb372106676349a1f5b644b8 /Private/Builtins
parent96d7e324ae1657216e6bb49a82466977d43d9a89 (diff)
OS: Changes related to System API, breaking changes, also added HTMLLib.
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private/Builtins')
-rw-r--r--Private/Builtins/Toolbox/Toolbox.hxx77
-rw-r--r--Private/Builtins/Toolbox/Utils.hxx70
2 files changed, 69 insertions, 78 deletions
diff --git a/Private/Builtins/Toolbox/Toolbox.hxx b/Private/Builtins/Toolbox/Toolbox.hxx
index f831acb5..2ac23267 100644
--- a/Private/Builtins/Toolbox/Toolbox.hxx
+++ b/Private/Builtins/Toolbox/Toolbox.hxx
@@ -8,11 +8,72 @@
#include <NewKit/Defines.hpp>
-EXTERN_C NewOS::Void _hal_init_mouse();
-EXTERN_C NewOS::Boolean _hal_draw_mouse();
-EXTERN_C NewOS::Void _hal_handle_mouse();
-EXTERN_C NewOS::Boolean _hal_left_button_pressed();
-EXTERN_C NewOS::Boolean _hal_middle_button_pressed();
-EXTERN_C NewOS::Boolean _hal_right_button_pressed();
-
-#include <Builtins/Toolbox/Utils.hxx>
+EXTERN_C NewOS::Void _hal_init_mouse();
+EXTERN_C NewOS::Boolean _hal_draw_mouse();
+EXTERN_C NewOS::Void _hal_handle_mouse();
+EXTERN_C NewOS::Boolean _hal_left_button_pressed();
+EXTERN_C NewOS::Boolean _hal_middle_button_pressed();
+EXTERN_C NewOS::Boolean _hal_right_button_pressed();
+
+#define ToolboxInitRsrc() NewOS::SizeT uA = 0
+
+#define kClearClr RGB(00, 00, 00)
+
+#define ToolboxClearRsrc() uA = 0
+
+/// @brief Draws a resource.
+#define ToolboxDrawRsrc(ImgPtr, _Height, _Width, BaseX, BaseY) \
+ uA = 0; \
+ \
+ for (NewOS::SizeT i = BaseX; i < _Height + BaseX; ++i) { \
+ for (NewOS::SizeT u = BaseY; u < _Width + BaseY; ++u) { \
+ if (ImgPtr[uA] == 0) { \
+ *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ 4 * \
+ kHandoverHeader->f_GOP \
+ .f_PixelPerLine * \
+ i + \
+ 4 * u))) |= ImgPtr[uA]; \
+ } else { \
+ *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ 4 * \
+ kHandoverHeader->f_GOP \
+ .f_PixelPerLine * \
+ i + \
+ 4 * u))) = ImgPtr[uA]; \
+ } \
+ \
+ ++uA; \
+ } \
+ }
+
+
+/// @brief Cleans a resource.
+#define ToolboxClearZone(_Height, _Width, BaseX, BaseY) \
+ \
+ for (NewOS::SizeT i = BaseX; i < _Height + BaseX; ++i) { \
+ for (NewOS::SizeT u = BaseY; u < _Width + BaseY; ++u) { \
+ *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ 4 * \
+ kHandoverHeader->f_GOP \
+ .f_PixelPerLine * \
+ i + \
+ 4 * u))) = kClearClr; \
+ } \
+ }
+
+
+/// @brief Draws inside a zone.
+#define ToolboxDrawZone(_Clr, _Height, _Width, BaseX, BaseY) \
+ \
+ for (NewOS::SizeT i = BaseX; i < _Width + BaseX; ++i) { \
+ for (NewOS::SizeT u = BaseY; u < _Height + BaseY; ++u) { \
+ *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
+ 4 * \
+ kHandoverHeader->f_GOP \
+ .f_PixelPerLine * \
+ i + \
+ 4 * u))) = _Clr; \
+ } \
+ }
+
diff --git a/Private/Builtins/Toolbox/Utils.hxx b/Private/Builtins/Toolbox/Utils.hxx
deleted file mode 100644
index 29ca585a..00000000
--- a/Private/Builtins/Toolbox/Utils.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef __RSRC_UTIL__
-#define __RSRC_UTIL__
-
-// Last Rev
-// Sat Feb 24 CET 2024
-
-#define ToolboxInitRsrc() NewOS::SizeT uA = 0
-
-#define kClearClr RGB(00, 00, 00)
-
-#define ToolboxClearRsrc() uA = 0
-
-/// @brief Draws a resource.
-#define ToolboxDrawRsrc(ImgPtr, _Height, _Width, BaseX, BaseY) \
- uA = 0; \
- \
- for (NewOS::SizeT i = BaseX; i < _Height + BaseX; ++i) { \
- for (NewOS::SizeT u = BaseY; u < _Width + BaseY; ++u) { \
- if (ImgPtr[uA] == 0) { \
- *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
- 4 * \
- kHandoverHeader->f_GOP \
- .f_PixelPerLine * \
- i + \
- 4 * u))) |= ImgPtr[uA]; \
- } else { \
- *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
- 4 * \
- kHandoverHeader->f_GOP \
- .f_PixelPerLine * \
- i + \
- 4 * u))) = ImgPtr[uA]; \
- } \
- \
- ++uA; \
- } \
- }
-
-
-/// @brief Cleans a resource.
-#define ToolboxClearZone(_Height, _Width, BaseX, BaseY) \
- \
- for (NewOS::SizeT i = BaseX; i < _Height + BaseX; ++i) { \
- for (NewOS::SizeT u = BaseY; u < _Width + BaseY; ++u) { \
- *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
- 4 * \
- kHandoverHeader->f_GOP \
- .f_PixelPerLine * \
- i + \
- 4 * u))) = kClearClr; \
- } \
- }
-
-
-/// @brief Draws inside a zone.
-#define ToolboxDrawZone(_Clr, _Height, _Width, BaseX, BaseY) \
- \
- for (NewOS::SizeT i = BaseX; i < _Width + BaseX; ++i) { \
- for (NewOS::SizeT u = BaseY; u < _Height + BaseY; ++u) { \
- *(((volatile NewOS::UInt32*)(kHandoverHeader->f_GOP.f_The + \
- 4 * \
- kHandoverHeader->f_GOP \
- .f_PixelPerLine * \
- i + \
- 4 * u))) = _Clr; \
- } \
- }
-
-
-#endif