aboutsummaryrefslogtreecommitdiff
path: root/src/graveyard/win32/Win32WindowService.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/graveyard/win32/Win32WindowService.h')
-rw-r--r--src/graveyard/win32/Win32WindowService.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/graveyard/win32/Win32WindowService.h b/src/graveyard/win32/Win32WindowService.h
new file mode 100644
index 0000000..a02ef2b
--- /dev/null
+++ b/src/graveyard/win32/Win32WindowService.h
@@ -0,0 +1,33 @@
+struct Win32WindowSettings
+{
+ const char *name;
+ int width;
+ int height;
+};
+
+class Win32WindowService
+{
+public:
+ bool Init();
+
+ Win32Window *CreateWin32Window(const char *name, int width, int height);
+ void DestroyWin32Window(Win32Window *window);
+ i32 GetWindowEvents(Win32Window *window, Sys_Event *events, i32 max_event_count);
+ void ShowOffscreenBuffer(Win32Window *window);
+
+ enum
+ {
+ SERVICE_WINDOW_CREATED = (WM_USER + 0),
+ SERVICE_WINDOW_NOT_CREATED = (WM_USER + 1),
+ CREATE_WINDOW = (WM_USER + 2),
+ DESTROY_WINDOW = (WM_USER + 3),
+ WINDOW_CREATED = (WM_USER + 4),
+ WINDOW_DESTROYED = (WM_USER + 5)
+ };
+
+private:
+ void RecreateOffscreenBuffer(Sys_Offscreen_Buffer *buff, i32 width, i32 height);
+
+public:
+ HWND m_ServiceWindow;
+};