Core: Add dedicated BitField template

This commit is contained in:
Thaddeus Crews
2024-08-20 09:50:44 -05:00
parent 7b9c5122fa
commit 0d267e7b1e
46 changed files with 188 additions and 155 deletions

View File

@ -922,7 +922,7 @@ Point2i DisplayServerWindows::mouse_get_position() const {
}
BitField<MouseButtonMask> DisplayServerWindows::mouse_get_button_state() const {
BitField<MouseButtonMask> last_button_state = 0;
BitField<MouseButtonMask> last_button_state = MouseButtonMask::NONE;
if (GetKeyState(VK_LBUTTON) & (1 << 15)) {
last_button_state.set_flag(MouseButtonMask::LEFT);
@ -4526,7 +4526,7 @@ void DisplayServerWindows::popup_close(WindowID p_window) {
}
BitField<DisplayServerWindows::WinKeyModifierMask> DisplayServerWindows::_get_mods() const {
BitField<WinKeyModifierMask> mask;
BitField<WinKeyModifierMask> mask = {};
static unsigned char keyboard_state[256];
if (GetKeyboardState((PBYTE)&keyboard_state)) {
if ((keyboard_state[VK_LSHIFT] & 0x80) || (keyboard_state[VK_RSHIFT] & 0x80)) {
@ -5136,7 +5136,7 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
mb.instantiate();
mb->set_window_id(window_id);
BitField<MouseButtonMask> last_button_state = 0;
BitField<MouseButtonMask> last_button_state = MouseButtonMask::NONE;
if (IS_POINTER_FIRSTBUTTON_WPARAM(wParam)) {
last_button_state.set_flag(MouseButtonMask::LEFT);
mb->set_button_index(MouseButton::LEFT);
@ -5302,7 +5302,7 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
mm->set_alt_pressed(mods.has_flag(WinKeyModifierMask::ALT));
mm->set_meta_pressed(mods.has_flag(WinKeyModifierMask::META));
BitField<MouseButtonMask> last_button_state = 0;
BitField<MouseButtonMask> last_button_state = MouseButtonMask::NONE;
if (IS_POINTER_FIRSTBUTTON_WPARAM(wParam)) {
last_button_state.set_flag(MouseButtonMask::LEFT);
}