Core: Add dedicated BitField template
This commit is contained in:
@@ -73,7 +73,7 @@ JoypadLinux::Joypad::~Joypad() {
|
||||
}
|
||||
|
||||
void JoypadLinux::Joypad::reset() {
|
||||
dpad = 0;
|
||||
dpad.clear();
|
||||
fd = -1;
|
||||
for (int i = 0; i < MAX_ABS; i++) {
|
||||
abs_map[i] = -1;
|
||||
|
||||
@@ -62,7 +62,7 @@ private:
|
||||
float curr_axis[MAX_ABS];
|
||||
int key_map[MAX_KEY];
|
||||
int abs_map[MAX_ABS];
|
||||
BitField<HatMask> dpad;
|
||||
BitField<HatMask> dpad = HatMask::CENTER;
|
||||
int fd = -1;
|
||||
|
||||
String devpath;
|
||||
|
||||
@@ -144,7 +144,7 @@ class DisplayServerWayland : public DisplayServer {
|
||||
// are the "take all input thx" windows while the `popup_stack` variable keeps
|
||||
// track of all the generic floating window concept.
|
||||
List<WindowID> popup_menu_list;
|
||||
BitField<MouseButtonMask> last_mouse_monitor_mask;
|
||||
BitField<MouseButtonMask> last_mouse_monitor_mask = MouseButtonMask::NONE;
|
||||
|
||||
String ime_text;
|
||||
Vector2i ime_selection;
|
||||
|
||||
@@ -1779,7 +1779,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 = old_pd.pressed_button_mask ^ pd.pressed_button_mask;
|
||||
BitField<MouseButtonMask> pressed_mask_delta = old_pd.pressed_button_mask.get_different(pd.pressed_button_mask);
|
||||
|
||||
const MouseButton buttons_to_test[] = {
|
||||
MouseButton::LEFT,
|
||||
@@ -2746,7 +2746,7 @@ void WaylandThread::_wp_tablet_tool_on_frame(void *data, struct zwp_tablet_tool_
|
||||
if (old_td.pressed_button_mask != td.pressed_button_mask) {
|
||||
td.button_time = time;
|
||||
|
||||
BitField<MouseButtonMask> pressed_mask_delta = BitField<MouseButtonMask>((int64_t)old_td.pressed_button_mask ^ (int64_t)td.pressed_button_mask);
|
||||
BitField<MouseButtonMask> pressed_mask_delta = old_td.pressed_button_mask.get_different(td.pressed_button_mask);
|
||||
|
||||
for (MouseButton test_button : { MouseButton::LEFT, MouseButton::RIGHT }) {
|
||||
MouseButtonMask test_button_mask = mouse_button_to_mask(test_button);
|
||||
|
||||
@@ -341,7 +341,7 @@ public:
|
||||
Vector2 relative_motion;
|
||||
uint32_t relative_motion_time = 0;
|
||||
|
||||
BitField<MouseButtonMask> pressed_button_mask;
|
||||
BitField<MouseButtonMask> pressed_button_mask = MouseButtonMask::NONE;
|
||||
|
||||
MouseButton last_button_pressed = MouseButton::NONE;
|
||||
Point2 last_pressed_position;
|
||||
@@ -371,7 +371,7 @@ public:
|
||||
Vector2 tilt;
|
||||
uint32_t pressure = 0;
|
||||
|
||||
BitField<MouseButtonMask> pressed_button_mask;
|
||||
BitField<MouseButtonMask> pressed_button_mask = MouseButtonMask::NONE;
|
||||
|
||||
MouseButton last_button_pressed = MouseButton::NONE;
|
||||
Point2 last_pressed_position;
|
||||
|
||||
@@ -622,7 +622,7 @@ BitField<MouseButtonMask> DisplayServerX11::mouse_get_button_state() const {
|
||||
int root_x, root_y, win_x, win_y;
|
||||
unsigned int mask;
|
||||
if (XQueryPointer(x11_display, XRootWindow(x11_display, i), &root, &child, &root_x, &root_y, &win_x, &win_y, &mask)) {
|
||||
BitField<MouseButtonMask> last_button_state = 0;
|
||||
BitField<MouseButtonMask> last_button_state = MouseButtonMask::NONE;
|
||||
|
||||
if (mask & Button1Mask) {
|
||||
last_button_state.set_flag(MouseButtonMask::LEFT);
|
||||
@@ -643,7 +643,7 @@ BitField<MouseButtonMask> DisplayServerX11::mouse_get_button_state() const {
|
||||
return last_button_state;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return MouseButtonMask::NONE;
|
||||
}
|
||||
|
||||
void DisplayServerX11::clipboard_set(const String &p_text) {
|
||||
@@ -5318,7 +5318,7 @@ void DisplayServerX11::process_events() {
|
||||
pos = Point2i(windows[focused_window_id].size.width / 2, windows[focused_window_id].size.height / 2);
|
||||
}
|
||||
|
||||
BitField<MouseButtonMask> last_button_state = 0;
|
||||
BitField<MouseButtonMask> last_button_state = MouseButtonMask::NONE;
|
||||
if (event.xmotion.state & Button1Mask) {
|
||||
last_button_state.set_flag(MouseButtonMask::LEFT);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user