summaryrefslogtreecommitdiffhomepage
path: root/Public/Kits/System.Graphics
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-21 22:39:57 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-21 22:39:57 +0100
commit80b76666074aa94f165e3db7b3dda2145ca6efc0 (patch)
treeba8a189df55f3dab4d3623eb4617c7b5d33c7f07 /Public/Kits/System.Graphics
parentdafcc53840c41dab7a1897868d020a5b196d5b2d (diff)
unstable, kernel+api: important breaking changes.
Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Public/Kits/System.Graphics')
-rw-r--r--Public/Kits/System.Graphics/.gitkeep0
-rw-r--r--Public/Kits/System.Graphics/Core.cxx14
-rw-r--r--Public/Kits/System.Graphics/Core.hxx185
-rw-r--r--Public/Kits/System.Graphics/Dim2d.cxx20
-rw-r--r--Public/Kits/System.Graphics/Dim2d.hxx38
-rw-r--r--Public/Kits/System.Graphics/Frame.cxx18
-rw-r--r--Public/Kits/System.Graphics/Frame.hxx60
-rw-r--r--Public/Kits/System.Graphics/Makefile20
-rw-r--r--Public/Kits/System.Graphics/Stylesheet.hxx50
-rw-r--r--Public/Kits/System.Graphics/compile_flags.txt4
10 files changed, 0 insertions, 409 deletions
diff --git a/Public/Kits/System.Graphics/.gitkeep b/Public/Kits/System.Graphics/.gitkeep
deleted file mode 100644
index e69de29b..00000000
--- a/Public/Kits/System.Graphics/.gitkeep
+++ /dev/null
diff --git a/Public/Kits/System.Graphics/Core.cxx b/Public/Kits/System.Graphics/Core.cxx
deleted file mode 100644
index 9a4ef7a7..00000000
--- a/Public/Kits/System.Graphics/Core.cxx
+++ /dev/null
@@ -1,14 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Core.cxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Core.hxx>
diff --git a/Public/Kits/System.Graphics/Core.hxx b/Public/Kits/System.Graphics/Core.hxx
deleted file mode 100644
index a453e095..00000000
--- a/Public/Kits/System.Graphics/Core.hxx
+++ /dev/null
@@ -1,185 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Core.hxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
- 08/02/24: Update Form to GForm. (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-#include <CompilerKit/CompilerKit.hxx>
-#include <NewKit/Array.hpp>
-#include <NewKit/Defines.hpp>
-#include <NewKit/Ref.hpp>
-#include <NewKit/String.hpp>
-
-#define $() HCore::GApplication::Shared()->Document()
-
-#ifndef __EXPORT_LIB
-#define G_API __attribute__((pef_container(".IMPORT")))
-#else
-#define G_API __attribute__((pef_container(".EXPORT")))
-#endif // ifdef __EXPORT_LIB
-
-namespace System::Graphics {
-template <typename... T>
-class GAction;
-
-class GString;
-class GNumber;
-class GVector2;
-class GBoolean;
-class GDocument;
-class GApplication;
-class GFrame;
-
-class G_API GBoolean {
- private:
- explicit GBoolean() : m_Value(false) {}
-
- HCore::Boolean m_Value;
-
- friend class GForm;
-
- public:
- static const GBoolean Construct(HCore::StringView& sw, HCore::Boolean value) {
- GBoolean boolean;
- boolean.m_Value = value;
-
- return boolean;
- }
-};
-
-template <typename... T>
-class G_API GAction {
- explicit GAction(HCore::StringView& sw) { m_Name = sw; }
-
- HCore::StringView m_Name;
- void (*m_Action)(T&&... args);
-
- friend class GForm;
-
- public:
- static const GAction Construct(HCore::StringView& sw,
- void (*action)(T&&... args)) {
- GAction actcls{sw};
- actcls.m_Action = action;
-
- return actcls;
- }
-};
-
-class G_API GVector2 {
- explicit GVector2(HCore::StringView& sw) : m_Vec2() {}
-
- HCore::Array<HCore::Int, 3> m_Vec2;
-
- friend class GForm;
-
- public:
- static const GVector2 Construct(HCore::StringView& sw,
- HCore::Array<HCore::Int, 3>& vec2) {
- GVector2 vec{sw};
- vec.m_Vec2 = vec2;
-
- return vec;
- }
-};
-
-class G_API GNumber {
- HCore::Int m_Number{0};
- friend class GForm;
-
- public:
- static const GNumber Construct(HCore::Int& number) {
- GNumber num;
- num.m_Number = number;
-
- return num;
- }
-};
-
-class G_API GString {
- explicit GString(HCore::StringView& content) {
- m_Content = new HCore::StringView();
- *m_Content = content;
- }
-
- HCore::StringView* m_Content;
-
- friend class GForm;
-
- public:
- static const GString Construct(HCore::StringView& value) {
- GString str{value};
- return str;
- }
-};
-
-class G_API GApplication final {
- public:
- explicit GApplication() = default;
- ~GApplication() = default;
-
- HCORE_COPY_DEFAULT(GApplication);
-
- GDocument* Document() noexcept { return nullptr; }
-
- static GApplication* Shared() noexcept {
- STATIC GApplication* kApp = nullptr;
-
- if (!kApp) kApp = new GApplication();
-
- return kApp;
- }
-};
-
-class G_API GDocument final {
- public:
- explicit GDocument(HCore::StringView& sv) : mString(GString::Construct(sv)) {}
- ~GDocument() = default;
-
- HCORE_COPY_DEFAULT(GDocument);
-
- GFrame** GetAddressOf() noexcept { return &mFrame; }
- GFrame* Get() noexcept { return mFrame; }
-
- GString& Name() { return mString; }
-
- private:
- GFrame* mFrame{nullptr};
- GString mString;
-};
-
-class GException final {
- public:
- explicit GException() = default;
- ~GException() = default;
-
- public:
- HCORE_COPY_DEFAULT(GException);
-
- public:
- const char* Name() { return "User Interface error."; }
- const char* Reason() { return mReason; }
-
- private:
- const char* mReason{"System.Graphics: Graphics exception. Check HError."};
-};
-
-template <typename GFrameType, typename GFrameBase>
-inline GFrameType* frame_cast(GFrameBase* Frame) {
- if (!dynamic_cast<GFrameType*>(Frame)) {
- throw GException();
- }
-
- return dynamic_cast<GFrameType*>(Frame);
-}
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Dim2d.cxx b/Public/Kits/System.Graphics/Dim2d.cxx
deleted file mode 100644
index 5925660d..00000000
--- a/Public/Kits/System.Graphics/Dim2d.cxx
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Dim2d.cpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Dim2d.hxx>
-
-namespace System::Graphics {
-HCore::UInt& Dim2d::X() { return m_X; }
-
-HCore::UInt& Dim2d::Y() { return m_Y; }
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Dim2d.hxx b/Public/Kits/System.Graphics/Dim2d.hxx
deleted file mode 100644
index 77d42c90..00000000
--- a/Public/Kits/System.Graphics/Dim2d.hxx
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Dim2d.hpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
- 3/10/24: Remname extension to .hxx
-
-------------------------------------------- */
-
-#ifndef __DIM2D__
-#define __DIM2D__
-
-#include <System.Graphics/Core.hxx>
-
-namespace System::Graphics {
-class G_API Dim2d final {
- public:
- explicit Dim2d() = delete;
- explicit Dim2d(const HCore::UInt& x, const HCore::UInt& y) : m_X(x), m_Y(y) {}
-
- Dim2d& operator=(const Dim2d&) = default;
- Dim2d(const Dim2d&) = default;
-
- HCore::UInt& X();
- HCore::UInt& Y();
-
- private:
- HCore::UInt m_X{0};
- HCore::UInt m_Y{0};
-};
-} // namespace System::Graphics
-
-#endif /* ifndef __DIM2D__ */
diff --git a/Public/Kits/System.Graphics/Frame.cxx b/Public/Kits/System.Graphics/Frame.cxx
deleted file mode 100644
index ddb7b5ce..00000000
--- a/Public/Kits/System.Graphics/Frame.cxx
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Frame.cpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Frame.hxx>
-
-namespace System::Graphics {
-
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Frame.hxx b/Public/Kits/System.Graphics/Frame.hxx
deleted file mode 100644
index 318f01cd..00000000
--- a/Public/Kits/System.Graphics/Frame.hxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Frame.hxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-#include <System.Graphics/Core.hxx>
-#include <System.Graphics/Dim2d.hxx>
-#include <System.Core/Defs.hxx>
-#include <NewKit/MutableArray.hpp>
-
-namespace System::Graphics {
-class G_API GFrame {
- public:
- explicit GFrame(GFrame* parent = nullptr) : m_ParentFrame(parent) {}
- ~GFrame() {}
-
- GFrame& operator=(const GFrame&) = default;
- GFrame(const GFrame&) = default;
-
- virtual void Update() {
- if (m_Frames.Count() == 0) return;
-
- for (DWORD x = 0; x < m_Frames.Count(); ++x) {
- if (!m_Frames[x]->ShouldBeUpdated()) continue;
-
- m_Frames[x]->Update();
- }
-
- this->Paint();
- }
-
- virtual void UpdateInput() {
- if (m_Frames.Count() == 0) return;
-
- for (DWORD x = 0; x < m_Frames.Count(); ++x) {
- if (!m_Frames[x]->ShouldBeUpdated()) continue;
-
- m_Frames[x]->UpdateInput();
- }
- }
-
- virtual bool ShouldBeUpdated() { return false; }
-
- virtual void Paint() {}
-
- private:
- HCore::MutableArray<GFrame*> m_Frames;
- GFrame* m_ParentFrame{nullptr};
-};
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Makefile b/Public/Kits/System.Graphics/Makefile
deleted file mode 100644
index 1530f699..00000000
--- a/Public/Kits/System.Graphics/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-##################################################
-# (C) Mahrouss Logic, 2024, all rights reserved.
-# This is the System.Graphics Makefile.
-##################################################
-
-CC=x86_64-w64-mingw32-g++
-CCFLAGS=-shared -ffreestanding -fno-rtti -fno-exceptions -std=c++20
-OUTPUT=System.Graphics.dll
-
-.PHONY: build-gfx
-build-gfx:
- $(CC) -I../ -I$(HOME) -I../../../Private/ $(CCFLAGS) *.cxx -o $(OUTPUT)
-
-.PHONY: all
-all: build-gfx
- @echo "[System.Graphics.dll] Build done."
-
-.PHONY: clean
-clean:
- rm -f *.o
diff --git a/Public/Kits/System.Graphics/Stylesheet.hxx b/Public/Kits/System.Graphics/Stylesheet.hxx
deleted file mode 100644
index f4106a7b..00000000
--- a/Public/Kits/System.Graphics/Stylesheet.hxx
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Stylesheet.hxx
- Purpose:
-
- Revision History:
-
- 08/02/24: Added file (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-/// TODO: Stylesheets for GUI.
-
-#include <System.Graphics/Core.hxx>
-#include <System.Graphics/Dim2d.hxx>
-#include <NewKit/MutableArray.hpp>
-
-namespace HCore {
-class G_API GStylesheet final {
- public:
- explicit GStylesheet() = default;
- ~GStylesheet() = default;
-
- HCORE_COPY_DEFAULT(GStylesheet);
-
- MutableArray<StringView>& Props() { return mProps; }
-
- private:
- MutableArray<StringView> mProps;
-};
-
-class StylesheetParser final {
- public:
- static MutableArray<GStylesheet> FromBlob(Char* Blob, SizeT BlobSz) {
- MutableArray<GStylesheet> stylesheet;
-
- if (!Blob || BlobSz < 1) return stylesheet;
-
- for (auto BlobIndex = 0UL; BlobIndex < BlobSz; ++BlobIndex) {
-
- }
-
- return stylesheet;
- }
-};
-} // namespace HCore
diff --git a/Public/Kits/System.Graphics/compile_flags.txt b/Public/Kits/System.Graphics/compile_flags.txt
deleted file mode 100644
index 6e721e73..00000000
--- a/Public/Kits/System.Graphics/compile_flags.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--I./
--I../
--I../../../Private
--std=c++20