aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cru/common/Bitmask.h15
-rw-r--r--include/cru/ui/helper/ShortcutHub.h8
2 files changed, 16 insertions, 7 deletions
diff --git a/include/cru/common/Bitmask.h b/include/cru/common/Bitmask.h
index bd6a8309..b1e8495e 100644
--- a/include/cru/common/Bitmask.h
+++ b/include/cru/common/Bitmask.h
@@ -1,6 +1,8 @@
#pragma once
#include "Base.h"
+#include <functional>
+
namespace cru {
template <typename Tag, typename TUnderlying = unsigned>
struct Bitmask final {
@@ -35,8 +37,19 @@ struct Bitmask final {
bool operator!=(Bitmask rhs) const { return this->value != rhs.value; }
explicit operator TUnderlying() const { return value; }
- operator bool() const { return value != 0; }
+ explicit operator bool() const { return value != 0; }
TUnderlying value;
};
} // namespace cru
+
+namespace std {
+template <typename Tag, typename TUnderlying>
+struct hash<cru::Bitmask<Tag, TUnderlying>> {
+ using Bitmask = cru::Bitmask<Tag, TUnderlying>;
+
+ std::size_t operator()(Bitmask bitmask) const {
+ return std::hash<TUnderlying>{}(bitmask.value);
+ }
+};
+} // namespace std
diff --git a/include/cru/ui/helper/ShortcutHub.h b/include/cru/ui/helper/ShortcutHub.h
index 28c41234..fe3b2a72 100644
--- a/include/cru/ui/helper/ShortcutHub.h
+++ b/include/cru/ui/helper/ShortcutHub.h
@@ -1,18 +1,14 @@
#pragma once
#include "../Base.h"
-#include "../events/UiEvents.h"
+#include "../events/KeyEventArgs.h"
#include "cru/common/Base.h"
#include "cru/common/Event.h"
#include "cru/platform/gui/Keyboard.h"
#include <cstddef>
#include <functional>
-#include <memory>
#include <optional>
-#include <string>
-#include <string_view>
-#include <type_traits>
#include <unordered_map>
#include <vector>
@@ -74,7 +70,7 @@ struct hash<cru::ui::helper::ShortcutKeyBind> {
std::size_t operator()(const cru::ui::helper::ShortcutKeyBind& value) const {
std::size_t result = 0;
cru::hash_combine(result, static_cast<int>(value.GetKey()));
- cru::hash_combine(result, static_cast<int>(value.GetModifier()));
+ cru::hash_combine(result, value.GetModifier());
return result;
}
};