aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/native/window_class.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/win/native/window_class.hpp')
-rw-r--r--include/cru/win/native/window_class.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/cru/win/native/window_class.hpp b/include/cru/win/native/window_class.hpp
new file mode 100644
index 00000000..17712958
--- /dev/null
+++ b/include/cru/win/native/window_class.hpp
@@ -0,0 +1,27 @@
+#pragma once
+#include "../win_pre_config.hpp"
+
+#include "cru/common/base.hpp"
+
+#include <string>
+
+namespace cru::win::native {
+class WindowClass : public Object {
+ public:
+ WindowClass(const std::wstring& name, WNDPROC window_proc,
+ HINSTANCE h_instance);
+ WindowClass(const WindowClass& other) = delete;
+ WindowClass(WindowClass&& other) = delete;
+ WindowClass& operator=(const WindowClass& other) = delete;
+ WindowClass& operator=(WindowClass&& other) = delete;
+ ~WindowClass() override = default;
+
+ const wchar_t* GetName() const { return name_.c_str(); }
+
+ ATOM GetAtom() const { return atom_; }
+
+ private:
+ std::wstring name_;
+ ATOM atom_;
+};
+} // namespace cru::win::native