aboutsummaryrefslogtreecommitdiff
path: root/include/cru/win/native/cursor.hpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-12-12 23:26:04 +0800
committercrupest <crupest@outlook.com>2019-12-12 23:26:04 +0800
commitf2aa96fba0b72eeeadf5160ea5df2c8143ec8aa0 (patch)
treeb045d35bb2cf7281ab69abbd51302c85ea9ec3ef /include/cru/win/native/cursor.hpp
parent02f46ada9ef85165759f5e58d665510077149ef3 (diff)
downloadcru-f2aa96fba0b72eeeadf5160ea5df2c8143ec8aa0.tar.gz
cru-f2aa96fba0b72eeeadf5160ea5df2c8143ec8aa0.tar.bz2
cru-f2aa96fba0b72eeeadf5160ea5df2c8143ec8aa0.zip
...
Diffstat (limited to 'include/cru/win/native/cursor.hpp')
-rw-r--r--include/cru/win/native/cursor.hpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/include/cru/win/native/cursor.hpp b/include/cru/win/native/cursor.hpp
index 3ef480ea..e5728b1c 100644
--- a/include/cru/win/native/cursor.hpp
+++ b/include/cru/win/native/cursor.hpp
@@ -1,32 +1,30 @@
#pragma once
-#include <memory>
-#include "../win_pre_config.hpp"
+#include "resource.hpp"
-#include "cru/common/base.hpp"
#include "cru/platform/native/cursor.hpp"
-#include "cru/win/native/platform_id.hpp"
+
+#include <memory>
namespace cru::platform::native::win {
-class WinCursor : public Cursor {
+class WinCursor : public WinNativeResource, public virtual ICursor {
public:
- WinCursor(HCURSOR handle, bool auto_delete);
+ WinCursor(HCURSOR handle, bool auto_destroy);
CRU_DELETE_COPY(WinCursor)
CRU_DELETE_MOVE(WinCursor)
~WinCursor() override;
- CRU_PLATFORMID_IMPLEMENT_WIN
-
public:
HCURSOR GetHandle() const { return handle_; }
private:
HCURSOR handle_;
- bool auto_delete_;
+ bool auto_destroy_;
};
-class WinCursorManager : public CursorManager {
+class WinCursorManager : public WinNativeResource,
+ public virtual ICursorManager {
public:
WinCursorManager();
@@ -35,13 +33,11 @@ class WinCursorManager : public CursorManager {
~WinCursorManager() override = default;
- CRU_PLATFORMID_IMPLEMENT_WIN
-
public:
- std::shared_ptr<WinCursor> GetSystemWinCursor(SystemCursor type);
+ std::shared_ptr<WinCursor> GetSystemWinCursor(SystemCursorType type);
- std::shared_ptr<Cursor> GetSystemCursor(SystemCursor type) override {
- return std::static_pointer_cast<Cursor>(GetSystemWinCursor(type));
+ std::shared_ptr<ICursor> GetSystemCursor(SystemCursorType type) override {
+ return std::static_pointer_cast<ICursor>(GetSystemWinCursor(type));
}
private: