Faro Engine 0.0.0.b519570 (main)
Loading...
Searching...
No Matches
WindowWindows.hpp
Go to the documentation of this file.
1#pragma once
2#if FARO_OS_WINDOWS
3#include <Window.hpp>
4#include <Thread.hpp>
5#include <MinWindows.hpp>
6
7namespace Faro
8{
9 class WindowWindows;
10
11 class WindowThread : public IThread
12 {
13 public:
14 LRESULT ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
15
16 void SetTitle(String title);
17 void SetState(WindowState state);
18
19 ThreadSafe<HWND> windowHandle = nullptr;
20
21 WindowWindows* window = nullptr;
22
23 ThreadSafe<WindowState> windowState;
24
25 protected:
26 void ThreadInit() override;
27 void ThreadUpdate() override;
28 void ThreadDestroy() override;
29 };
30
31 class WindowWindows : public Window
32 {
33 public:
34 void Init() override;
35 void Destroy() override;
36
37 void SetTitle(String title) override;
38
39 void SetWindowState(WindowState info) override;
40 WindowState GetWindowState() override;
41
42 void NotifyStateChange();
43
44 HWND GetHandle();
45
46 private:
47 WindowThread windowThread;
48
49 WindowState windowState;
50 };
51}
52#endif
Definition Array.hpp:8