diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-09-06 19:38:11 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2019-09-06 19:38:11 +0200 |
commit | 84d0f324c4a4fa5936e69e2f13b626a95635d8d6 (patch) | |
tree | e8191ea72d296620936def35f767bd0a8870dfe5 | |
parent | 4ee8ecd3efee742be58c1ff191e78d0de09b57b6 (diff) |
Improve Ctrl snapping in EditorSpinSlider
- Remove FPS dependency by using a simpler implementation that just
rounds the final number
- Make it possible to combine Ctrl and Shift together for slow,
precise snapping
-rw-r--r-- | editor/editor_spin_slider.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 35fe366526..918b0ef96d 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -109,13 +109,8 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) { } if (grabbing_spinner) { - if (mm->get_control() || updown_offset != -1) { - set_value(Math::round(get_value())); - if (ABS(grabbing_spinner_dist_cache) > 6) { - set_value(get_value() + SGN(grabbing_spinner_dist_cache)); - grabbing_spinner_dist_cache = 0; - pre_grab_value = get_value(); - } + if (mm->get_control()) { + set_value(Math::round(pre_grab_value + get_step() * grabbing_spinner_dist_cache * 10)); } else { set_value(pre_grab_value + get_step() * grabbing_spinner_dist_cache * 10); } |