diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-05-01 01:23:05 +0200 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-05-01 01:23:05 +0200 |
commit | 84062873e162bc4a7c799fb67f72dbd055eb15ca (patch) | |
tree | 9b9aa3aa7dbc923a01d28e50a804d68c37a5d839 /deimos/core/os.h | |
parent | 89ae6838075f3579a85d7824d49a051b90c8ed92 (diff) |
Some work on WSI
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r-- | deimos/core/os.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/deimos/core/os.h b/deimos/core/os.h index 271ecfb..ecbe3cd 100644 --- a/deimos/core/os.h +++ b/deimos/core/os.h @@ -2,6 +2,7 @@ #include "deimos/core/base.h"
#include "deimos/core/id_name.h"
+#include "deimos/core/status.h"
#include "deimos/core/io.h"
namespace deimos
@@ -49,6 +50,18 @@ public: virtual void Commit(void* ptr, int64_t size) = 0;
};
+struct OsWindowHandle;
+
+class OsWindowApi
+{
+public:
+ OsWindowApi() = default;
+ deimos_NO_COPY_MOVE(OsWindowApi);
+ virtual ~OsWindowApi() = default;
+
+ virtual StatusOr<gsl::owner<OsWindowHandle*>> Create(gsl::czstring title, int32_t width, int32_t height) = 0;
+};
+
class OsApi
{
public:
@@ -57,6 +70,7 @@ public: OsConsoleApi* console{};
OsDllApi* dll{};
OsVirtualMemoryApi* virtual_memory{};
+ OsWindowApi* window{};
};
class OsConsoleWriter : public IWriter
|