diff options
| author | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-29 12:29:21 +0200 |
|---|---|---|
| committer | Amlal <amlal@el-mahrouss-logic.com> | 2024-09-29 12:29:21 +0200 |
| commit | a6eb9a77787f63f08470c3ff12ac0517b482ea65 (patch) | |
| tree | c570fd7ba45aa4fb809d6b9b39fd258a5097f6cc /dev/pdm | |
| parent | 7fdd5033ec93694b57d3471ff9a78164ec76943d (diff) | |
IMP: Design changes and reworked WM to PDM.
- Refactor other modules and drivers as well.
- AMD64 HAL code improvements as well.
The last thing left is the paging API and driver loading internal API.
Signed-off-by: Amlal <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'dev/pdm')
| -rw-r--r-- | dev/pdm/pdf_pdm.hxx | 45 | ||||
| -rw-r--r-- | dev/pdm/pdm.json | 23 | ||||
| -rw-r--r-- | dev/pdm/src/pdm_pdf.cxx | 7 |
3 files changed, 75 insertions, 0 deletions
diff --git a/dev/pdm/pdf_pdm.hxx b/dev/pdm/pdf_pdm.hxx new file mode 100644 index 00000000..044c7468 --- /dev/null +++ b/dev/pdm/pdf_pdm.hxx @@ -0,0 +1,45 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies. + +------------------------------------------- */ + +#pragma once + +#include <CompilerKit/Detail.hxx> +#include <NewKit/Defines.hxx> + +namespace Kernel::PDF +{ + class IPDFRenderViewport; + class IPDFDocument; + class IPDFTimestamp; + class IPDFTag; + + /// \brief PDF rendering class. + class IPDFRenderViewport + { + public: + explicit IPDFRenderViewport() = default; + virtual ~IPDFRenderViewport() = default; + + ZKA_COPY_DELETE(IPDFRenderViewport); + + virtual IPDFDocument* GetFirstPage() = 0; + virtual IPDFDocument* GetLastPage() = 0; + + virtual IPDFDocument* GetPage(const UInt32& page_number); + + virtual const Char* GetProducer() = 0; + virtual const Char* GetTitle() = 0; + virtual const Char* GetAuthor() = 0; + virtual const Char* GetSubject() = 0; + + virtual Bool IsFastView() = 0; + + virtual SizeT GetWidth() = 0; + virtual SizeT GetHeight() = 0; + + virtual SizeT GetPageCount() = 0; + }; +} // namespace CG::PDF diff --git a/dev/pdm/pdm.json b/dev/pdm/pdm.json new file mode 100644 index 00000000..790ab0f1 --- /dev/null +++ b/dev/pdm/pdm.json @@ -0,0 +1,23 @@ +{ + "compiler_path": "x86_64-w64-mingw32-g++", + "compiler_std": "c++20", + "headers_path": ["../", "../zka"], + "sources_path": ["src/*.cxx"], + "output_name": "pdm.sys", + "compiler_flags": [ + "-fPIC", + "-ffreestanding", + "-shared", + "-fno-rtti", + "-fno-exceptions", + "-Wl,--subsystem=17" + ], + "cpp_macros": [ + "__PDM_IMPL__", + "__NEWOSKRNL__", + "__ZKA_AMD64__", + "cPDMVersion=0x0100", + "cPDMVersionHighest=0x0100", + "cPDMVersionLowest=0x0100" + ] +} diff --git a/dev/pdm/src/pdm_pdf.cxx b/dev/pdm/src/pdm_pdf.cxx new file mode 100644 index 00000000..4932923e --- /dev/null +++ b/dev/pdm/src/pdm_pdf.cxx @@ -0,0 +1,7 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies. + +------------------------------------------- */ + +#include <pdm/pdf_pdm.hxx> |
