1
0
Fork 0

[Web] Refactor `mouse_mode` setters in display server

This commit is contained in:
Adam Scott 2025-02-11 11:55:01 -05:00
parent c2732ae4b6
commit 61344dc5ac
No known key found for this signature in database
GPG Key ID: F6BA2A0302E21A77
1 changed files with 18 additions and 2 deletions

View File

@ -576,9 +576,17 @@ void DisplayServerWeb::_mouse_update_mode() {
void DisplayServerWeb::mouse_set_mode(MouseMode p_mode) {
ERR_FAIL_INDEX(p_mode, MouseMode::MOUSE_MODE_MAX);
if (p_mode == mouse_mode_base) {
if (mouse_mode_override_enabled) {
mouse_mode_base = p_mode;
// No need to update, as override is enabled.
return;
}
if (p_mode == mouse_mode_base && p_mode == mouse_get_mode()) {
// No need to update, as it is currently set as the correct mode.
return;
}
mouse_mode_base = p_mode;
_mouse_update_mode();
}
@ -596,9 +604,17 @@ DisplayServer::MouseMode DisplayServerWeb::mouse_get_mode() const {
void DisplayServerWeb::mouse_set_mode_override(MouseMode p_mode) {
ERR_FAIL_INDEX(p_mode, MouseMode::MOUSE_MODE_MAX);
if (p_mode == mouse_mode_override) {
if (!mouse_mode_override_enabled) {
mouse_mode_override = p_mode;
// No need to update, as override is not enabled.
return;
}
if (p_mode == mouse_mode_override && p_mode == mouse_get_mode()) {
// No need to update, as it is currently set as the correct mode.
return;
}
mouse_mode_override = p_mode;
_mouse_update_mode();
}