Toast Engine
Loading...
Searching...
No Matches
base_window.hpp
Go to the documentation of this file.
1
8
9#pragma once
10#include <cstdint>
11
12namespace toast {
13
14enum class WindowType : uint8_t {
15 sdl = 0,
16 avalonia = 1
17};
18
19class IBaseWindow {
20public:
21 IBaseWindow() = default;
22 virtual ~IBaseWindow() = default;
23
24 // Functions
25 [[nodiscard]]
26 virtual auto shouldClose() const -> bool = 0;
27 [[nodiscard]]
28 virtual auto nativeHandle() const -> void* = 0;
29 virtual void pollEvents() = 0;
30 virtual void swapFramebuffers() = 0;
31
32 // Variables
33
34protected:
35 WindowType type;
36};
37
38}