From d54732324827bcfdc75e684b6636c53c109757c4 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Mon, 1 Dec 2025 21:09:28 +0800 Subject: Clean up Bitmask. --- include/cru/platform/gui/Input.h | 17 +++-------------- include/cru/platform/gui/Window.h | 9 ++------- 2 files changed, 5 insertions(+), 21 deletions(-) (limited to 'include/cru/platform/gui') diff --git a/include/cru/platform/gui/Input.h b/include/cru/platform/gui/Input.h index a29a9bba..007ed408 100644 --- a/include/cru/platform/gui/Input.h +++ b/include/cru/platform/gui/Input.h @@ -6,12 +6,7 @@ #include namespace cru::platform::gui { -namespace details { -struct TagMouseButton {}; -} // namespace details - -using MouseButton = Bitmask; -struct MouseButtons { +CRU_DEFINE_BITMASK(MouseButton) { constexpr static MouseButton None = MouseButton::FromOffset(0); constexpr static MouseButton Left = MouseButton::FromOffset(1); constexpr static MouseButton Middle = MouseButton::FromOffset(2); @@ -76,7 +71,7 @@ enum class KeyCode { X, Y, Z, - Grave, // TODO: fix this key mapping on Windows and Xorg. + Grave, // TODO: fix this key mapping on Windows and Xorg. Tab, CapsLock, LeftShift, @@ -127,13 +122,7 @@ enum class KeyCode { Space }; -namespace details { -struct TagKeyModifier {}; -} // namespace details - -using KeyModifier = Bitmask; - -struct KeyModifiers { +CRU_DEFINE_BITMASK(KeyModifier) { static constexpr KeyModifier None = KeyModifier::FromOffset(0); static constexpr KeyModifier Shift = KeyModifier::FromOffset(1); static constexpr KeyModifier Ctrl = KeyModifier::FromOffset(2); diff --git a/include/cru/platform/gui/Window.h b/include/cru/platform/gui/Window.h index db03c528..1ef9e980 100644 --- a/include/cru/platform/gui/Window.h +++ b/include/cru/platform/gui/Window.h @@ -3,6 +3,7 @@ #include "Input.h" +#include #include #include #include @@ -11,13 +12,7 @@ namespace cru::platform::gui { class ICursor; class IInputMethodContext; -namespace details { -struct WindowStyleFlagTag; -} - -using WindowStyleFlag = Bitmask; - -struct WindowStyleFlags { +CRU_DEFINE_BITMASK(WindowStyleFlag) { static constexpr WindowStyleFlag NoCaptionAndBorder = WindowStyleFlag::FromOffset(1); }; -- cgit v1.2.3