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
This commit is contained in:
Hugo Locurcio 2019-09-06 19:38:11 +02:00
parent 4ee8ecd3ef
commit 84d0f324c4
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C

View File

@ -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);
}