summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-02 18:29:24 +0200
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-04-02 18:29:24 +0200
commit96d7e324ae1657216e6bb49a82466977d43d9a89 (patch)
treed22a6cdaa51805be9dde4553d349cec53f4fc619
parentf0811b1e200293c5ccc387d866d0ad49a41bba17 (diff)
SystemLib: Add TrueType library definitions.
NewKernel: Cleanup code in FileManager NewFilesystemManager. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
-rw-r--r--Private/KernelKit/FileManager.hpp17
-rw-r--r--Public/Developer/SystemLib/Headers/TrueType.h13
-rw-r--r--Public/Developer/SystemLib/Headers/Window.h14
3 files changed, 28 insertions, 16 deletions
diff --git a/Private/KernelKit/FileManager.hpp b/Private/KernelKit/FileManager.hpp
index 2eabd4b3..630b21b6 100644
--- a/Private/KernelKit/FileManager.hpp
+++ b/Private/KernelKit/FileManager.hpp
@@ -124,26 +124,11 @@ class NewFilesystemManager final : public FilesystemManagerInterface {
NodePtr CreateDirectory(const char *path) override;
public:
- bool Remove(const char *node) override;
-
- public:
+ bool Remove(const char *path) override;
NodePtr Open(const char *path, const char *r) override;
-
- public:
Void Write(NodePtr node, VoidPtr data, Int32 flags) override;
-
- public:
- /**
- * NOTE: Write and Read are implemented using a custom NodePtr, retrieved
- * using OpenFork.
- */
-
VoidPtr Read(NodePtr node, Int32 flags, SizeT sz) override;
-
- public:
bool Seek(NodePtr node, SizeT off);
- public:
-
SizeT Tell(NodePtr node) override;
bool Rewind(NodePtr node) override;
diff --git a/Public/Developer/SystemLib/Headers/TrueType.h b/Public/Developer/SystemLib/Headers/TrueType.h
index 0636bf61..fb68298a 100644
--- a/Public/Developer/SystemLib/Headers/TrueType.h
+++ b/Public/Developer/SystemLib/Headers/TrueType.h
@@ -29,3 +29,16 @@ CA_EXTERN_C TTFFontRef FnCreateFont(const CharacterTypeUTF8* name);
/// @param fon
/// @return
CA_EXTERN_C VoidType FnDisposeFont(TTFFontRef fon);
+
+/// @brief Gets the font gylph for character.
+/// @param fon
+/// @return
+CA_EXTERN_C PtrVoidType FnGetGlyph(TTFFontRef fon, UInt32Type utfCh);
+
+/// @brief Write a character to the window.
+/// @param fon the font.
+/// @param port the window port.
+/// @param pos the position of where to put the character.
+/// @return
+CA_EXTERN_C VoidType FnWriteCharacter(TTFFontRef fon, WindowPort* port, PositionType pos);
+
diff --git a/Public/Developer/SystemLib/Headers/Window.h b/Public/Developer/SystemLib/Headers/Window.h
index 080fde1a..786197d5 100644
--- a/Public/Developer/SystemLib/Headers/Window.h
+++ b/Public/Developer/SystemLib/Headers/Window.h
@@ -147,6 +147,20 @@ CA_EXTERN_C VoidType WmReleaseMenu(WindowPort* port);
/// @return error code.
CA_EXTERN_C Int32Type WmMoveWindow(WindowPort* id, WmPoint where);
+/// @brief Get last message.
+/// @param id
+/// @return
+CA_EXTERN_C Int64Type WmGetMessage(WindowPort* id);
+
+/// @brief Translate message internally.
+/// @return
+CA_EXTERN_C VoidType WmTranslateMessage(WindowPort* port, Int64Type msg);
+
+/// @brief Dispatch message to event queue.
+/// @param id
+/// @return
+CA_EXTERN_C Int32Type WmDispatchMessage(WindowPort* id);
+
enum {
kWmErrIncompatible = 0x74,
kWmErrOutOfMemory,