Merge pull request #68879 from TokageItLab/fix-bezier-editor-focus-mode

Fix the behavior of focus selection in bezier editor
This commit is contained in:
Rémi Verschelde 2022-11-20 11:36:16 +01:00
commit 8f00b79f23
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 10 additions and 4 deletions

View File

@ -903,11 +903,17 @@ void AnimationBezierTrackEdit::gui_input(const Ref<InputEvent> &p_event) {
}
float zoom_value = timeline->get_zoom()->get_max() - zv;
timeline->get_zoom()->set_value(zoom_value);
timeline->call_deferred("set_value", minimum_time);
if (Math::is_finite(minimum_time) && Math::is_finite(maximum_time) && maximum_time - minimum_time > CMP_EPSILON) {
timeline->get_zoom()->set_value(zoom_value);
timeline->call_deferred("set_value", minimum_time);
}
v_scroll = (maximum_value + minimum_value) / 2.0;
v_zoom = (maximum_value - minimum_value) / ((get_size().height - timeline->get_size().height) * 0.9);
if (Math::is_finite(minimum_value) && Math::is_finite(maximum_value)) {
v_scroll = (maximum_value + minimum_value) / 2.0;
if (maximum_value - minimum_value > CMP_EPSILON) {
v_zoom = (maximum_value - minimum_value) / ((get_size().height - timeline->get_size().height) * 0.9);
}
}
queue_redraw();
accept_event();