diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-26 13:45:02 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-26 13:45:02 +0100 |
commit | 9335b83a32d45e0447cea5ec10d0333a6552393c (patch) | |
tree | c05be5c3321d5f16acbdf38101147704333ede49 | |
parent | 198d0b6bc68e11b2a77629557808792b13e09b09 (diff) | |
parent | 773994020265b0bbaec16b81514a4e474b47e7d2 (diff) | |
download | redot-engine-9335b83a32d45e0447cea5ec10d0333a6552393c.tar.gz |
Merge pull request #87831 from Riteo/bitfield-xor
Core: Implement a XOR operator for BitField
-rw-r--r-- | core/variant/type_info.h | 1 | ||||
-rw-r--r-- | platform/linuxbsd/wayland/wayland_thread.cpp | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/core/variant/type_info.h b/core/variant/type_info.h index 32c410463b..9c52db3345 100644 --- a/core/variant/type_info.h +++ b/core/variant/type_info.h @@ -296,6 +296,7 @@ public: _FORCE_INLINE_ constexpr BitField(T p_value) { value = (int64_t)p_value; } _FORCE_INLINE_ operator int64_t() const { return value; } _FORCE_INLINE_ operator Variant() const { return value; } + _FORCE_INLINE_ BitField<T> operator^(const BitField<T> &p_b) const { return BitField<T>(value ^ p_b.value); } }; #define TEMPL_MAKE_BITFIELD_TYPE_INFO(m_enum, m_impl) \ diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp index 4057587db7..7f9008e952 100644 --- a/platform/linuxbsd/wayland/wayland_thread.cpp +++ b/platform/linuxbsd/wayland/wayland_thread.cpp @@ -1563,7 +1563,7 @@ void WaylandThread::_wl_pointer_on_frame(void *data, struct wl_pointer *wl_point } if (old_pd.pressed_button_mask != pd.pressed_button_mask) { - BitField<MouseButtonMask> pressed_mask_delta = BitField<MouseButtonMask>((uint32_t)old_pd.pressed_button_mask ^ (uint32_t)pd.pressed_button_mask); + BitField<MouseButtonMask> pressed_mask_delta = old_pd.pressed_button_mask ^ pd.pressed_button_mask; const MouseButton buttons_to_test[] = { MouseButton::LEFT, |