You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
[Web] Refactor mouse_mode setters in display server
This commit is contained in:
@@ -576,9 +576,17 @@ void DisplayServerWeb::_mouse_update_mode() {
|
|||||||
|
|
||||||
void DisplayServerWeb::mouse_set_mode(MouseMode p_mode) {
|
void DisplayServerWeb::mouse_set_mode(MouseMode p_mode) {
|
||||||
ERR_FAIL_INDEX(p_mode, MouseMode::MOUSE_MODE_MAX);
|
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;
|
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_mode_base = p_mode;
|
||||||
_mouse_update_mode();
|
_mouse_update_mode();
|
||||||
}
|
}
|
||||||
@@ -596,9 +604,17 @@ DisplayServer::MouseMode DisplayServerWeb::mouse_get_mode() const {
|
|||||||
|
|
||||||
void DisplayServerWeb::mouse_set_mode_override(MouseMode p_mode) {
|
void DisplayServerWeb::mouse_set_mode_override(MouseMode p_mode) {
|
||||||
ERR_FAIL_INDEX(p_mode, MouseMode::MOUSE_MODE_MAX);
|
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;
|
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_mode_override = p_mode;
|
||||||
_mouse_update_mode();
|
_mouse_update_mode();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user