Use get_cursor_shape for identifying the cursor shape in AnimationTimelineEdit

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 4a8a6f892f)
This commit is contained in:
Markus Sauermann 2022-03-11 10:18:27 +01:00 committed by Rémi Verschelde
parent 15aab4cde0
commit d92406751b
2 changed files with 11 additions and 7 deletions

View file

@ -1724,13 +1724,6 @@ void AnimationTimelineEdit::_gui_input(const Ref<InputEvent> &p_event) {
Ref<InputEventMouseMotion> mm = p_event; Ref<InputEventMouseMotion> mm = p_event;
if (mm.is_valid()) { if (mm.is_valid()) {
if (hsize_rect.has_point(mm->get_position())) {
// Change the cursor to indicate that the track name column's width can be adjusted
set_default_cursor_shape(Control::CURSOR_HSIZE);
} else {
set_default_cursor_shape(Control::CURSOR_ARROW);
}
if (dragging_hsize) { if (dragging_hsize) {
int ofs = mm->get_position().x - dragging_hsize_from; int ofs = mm->get_position().x - dragging_hsize_from;
name_limit = dragging_hsize_at + ofs; name_limit = dragging_hsize_at + ofs;
@ -1752,6 +1745,15 @@ void AnimationTimelineEdit::_gui_input(const Ref<InputEvent> &p_event) {
} }
} }
Control::CursorShape AnimationTimelineEdit::get_cursor_shape(const Point2 &p_pos) const {
if (dragging_hsize || hsize_rect.has_point(p_pos)) {
// Indicate that the track name column's width can be adjusted
return Control::CURSOR_HSIZE;
} else {
return get_default_cursor_shape();
}
}
void AnimationTimelineEdit::set_use_fps(bool p_use_fps) { void AnimationTimelineEdit::set_use_fps(bool p_use_fps) {
use_fps = p_use_fps; use_fps = p_use_fps;
update_values(); update_values();

View file

@ -119,6 +119,8 @@ public:
void set_hscroll(HScrollBar *p_hscroll); void set_hscroll(HScrollBar *p_hscroll);
virtual CursorShape get_cursor_shape(const Point2 &p_pos) const;
AnimationTimelineEdit(); AnimationTimelineEdit();
}; };