aboutsummaryrefslogtreecommitdiff
path: root/include/cru/platform
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/platform')
-rw-r--r--include/cru/platform/native/basic_types.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/cru/platform/native/basic_types.hpp b/include/cru/platform/native/basic_types.hpp
index 247df06d..84cc61d1 100644
--- a/include/cru/platform/native/basic_types.hpp
+++ b/include/cru/platform/native/basic_types.hpp
@@ -1,5 +1,6 @@
#pragma once
#include "cru/common/base.hpp"
+#include "cru/common/bitmask.hpp"
namespace cru::platform::native {
struct Dpi {
@@ -7,7 +8,16 @@ struct Dpi {
float y;
};
-enum class MouseButton : unsigned { Left = 0b1, Right = 0b10, Middle = 0b100 };
-} // namespace cru::platform::native
+namespace details {
+struct TagMouseButton {};
+} // namespace details
+
+using MouseButton = Bitmask<details::TagMouseButton>;
-CRU_ENABLE_BITMASK_OPERATORS(::cru::platform::native::MouseButton)
+namespace mouse_buttons {
+constexpr MouseButton left{0b1};
+constexpr MouseButton middle{0b10};
+constexpr MouseButton right{0b100};
+} // namespace mouse_buttons
+
+} // namespace cru::platform::native