Implemented scrolling factor for smooth trackpad scrolling

Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
This commit is contained in:
toger5 2017-02-22 00:45:31 +02:00 committed by Rémi Verschelde
parent c8aea60324
commit 304a1f5b5a
15 changed files with 118 additions and 71 deletions

View file

@ -1871,21 +1871,35 @@ void AnimationKeyEditor::_track_editor_gui_input(const InputEvent &p_input) {
if (mb.button_index == BUTTON_WHEEL_UP && mb.pressed) {
if (mb.mod.command) {
zoom->set_value(zoom->get_value() + zoom->get_step());
} else {
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() / 8);
v_scroll->set_value(v_scroll->get_value() - v_scroll->get_page() * mb.factor / 8);
}
}
if (mb.button_index == BUTTON_WHEEL_DOWN && mb.pressed) {
if (mb.mod.command) {
zoom->set_value(zoom->get_value() - zoom->get_step());
} else {
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() / 8);
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * mb.factor / 8);
}
}
if (mb.button_index == BUTTON_WHEEL_RIGHT && mb.pressed) {
h_scroll->set_value(h_scroll->get_value() - h_scroll->get_page() * mb.factor / 8);
}
if (mb.button_index == BUTTON_WHEEL_LEFT && mb.pressed) {
v_scroll->set_value(v_scroll->get_value() + v_scroll->get_page() * mb.factor / 8);
}
if (mb.button_index == BUTTON_RIGHT && mb.pressed) {
Point2 mpos = Point2(mb.x, mb.y) - ofs;