You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Use get_cursor_shape for identifying the cursor shape in AnimationTrackEditTypeAudio
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.
(cherry picked from commit 24942214d9)
This commit is contained in:
committed by
Rémi Verschelde
parent
d92406751b
commit
e2bd1ad6da
@@ -1051,12 +1051,7 @@ void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
|
||||
len_resizing_index = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (use_hsize_cursor) {
|
||||
set_default_cursor_shape(CURSOR_HSIZE);
|
||||
} else {
|
||||
set_default_cursor_shape(CURSOR_ARROW);
|
||||
}
|
||||
over_drag_position = use_hsize_cursor;
|
||||
}
|
||||
|
||||
if (len_resizing && mm.is_valid()) {
|
||||
@@ -1068,7 +1063,7 @@ void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
|
||||
}
|
||||
|
||||
Ref<InputEventMouseButton> mb = p_event;
|
||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT && get_default_cursor_shape() == CURSOR_HSIZE) {
|
||||
if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == BUTTON_LEFT && over_drag_position) {
|
||||
len_resizing = true;
|
||||
len_resizing_start = mb->get_shift();
|
||||
len_resizing_from_px = mb->get_position().x;
|
||||
@@ -1105,6 +1100,14 @@ void AnimationTrackEditTypeAudio::_gui_input(const Ref<InputEvent> &p_event) {
|
||||
AnimationTrackEdit::_gui_input(p_event);
|
||||
}
|
||||
|
||||
Control::CursorShape AnimationTrackEditTypeAudio::get_cursor_shape(const Point2 &p_pos) const {
|
||||
if (over_drag_position || len_resizing) {
|
||||
return Control::CURSOR_HSIZE;
|
||||
} else {
|
||||
return get_default_cursor_shape();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////
|
||||
/// SUB ANIMATION ///
|
||||
|
||||
|
||||
Reference in New Issue
Block a user