diff options
Diffstat (limited to 'include/cru/platform')
-rw-r--r-- | include/cru/platform/native/basic_types.hpp | 16 |
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 |