diff options
author | marsunet <marc.sunet@amd.com> | 2021-12-21 17:04:22 -0800 |
---|---|---|
committer | marsunet <marc.sunet@amd.com> | 2021-12-21 17:04:22 -0800 |
commit | fba8184491e0b7ae6fab7ac01b4600d230dc4569 (patch) | |
tree | c13194764867a4ad8f46702356b22dccc1e56dd3 /dxwindow/include/dxwindow.h | |
parent | 8b1583b65d77188ef35a89e75f145f29c3e3b5d7 (diff) |
Diffstat (limited to 'dxwindow/include/dxwindow.h')
-rw-r--r-- | dxwindow/include/dxwindow.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/dxwindow/include/dxwindow.h b/dxwindow/include/dxwindow.h new file mode 100644 index 0000000..e8f551a --- /dev/null +++ b/dxwindow/include/dxwindow.h | |||
@@ -0,0 +1,50 @@ | |||
1 | #pragma once | ||
2 | |||
3 | // Include Windows.h before GLFW to avoid macro redefinition warnings. | ||
4 | #define WIN32_LEAN_AND_MEAN | ||
5 | #include <Windows.h> | ||
6 | |||
7 | #define GLFW_INCLUDE_NONE // Do not include OpenGL headers. | ||
8 | #include <GLFW/glfw3.h> | ||
9 | |||
10 | namespace dx | ||
11 | { | ||
12 | |||
13 | class Window | ||
14 | { | ||
15 | public: | ||
16 | ~Window(); | ||
17 | |||
18 | /// Creates the window. | ||
19 | bool Initialise(int width, int height, const char* title); | ||
20 | |||
21 | /// Returns the native window handle. | ||
22 | /// If the window has not been initialized, returns an invalid handle. | ||
23 | HWND GetWindowHandle(); | ||
24 | |||
25 | /// Updates the window by polling for user input. | ||
26 | void Update(); | ||
27 | |||
28 | /// Returns true if the user tried to close the window, false otherwise. | ||
29 | bool ShouldClose() const; | ||
30 | |||
31 | private: | ||
32 | GLFWwindow* m_window = nullptr; | ||
33 | }; | ||
34 | |||
35 | /// Initialise the window subsystem. | ||
36 | /// | ||
37 | /// This function must be called at the start of your application before any | ||
38 | /// Windows are created. | ||
39 | bool WindowInitialise(); | ||
40 | |||
41 | /// Terminate the window subsystem. | ||
42 | /// | ||
43 | /// This function should be called at the end of your application. Any existing | ||
44 | /// Windows are destroyed and are invalid beyond this call. | ||
45 | void WindowTerminate(); | ||
46 | |||
47 | /// Returns the last Window error. | ||
48 | const char* GetWindowError(); | ||
49 | |||
50 | } // namespace dx | ||