mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Implemented scrolling factor for smooth trackpad scrolling
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
Ported from 304a1f5b5a (#7864).
Fixes #492 and #3913.
This commit is contained in:
parent
e7328fe5a0
commit
ee670f3724
15 changed files with 111 additions and 67 deletions
|
|
@ -1041,7 +1041,7 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent &p_event) {
|
|||
return;
|
||||
|
||||
float prev_zoom = zoom;
|
||||
zoom = zoom * 0.95;
|
||||
zoom = zoom * (1 - (0.05 * b.factor));
|
||||
{
|
||||
Point2 ofs(b.x, b.y);
|
||||
ofs = ofs / prev_zoom - ofs / zoom;
|
||||
|
|
@ -1059,7 +1059,7 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent &p_event) {
|
|||
return;
|
||||
|
||||
float prev_zoom = zoom;
|
||||
zoom = zoom * (1.0 / 0.95);
|
||||
zoom = zoom * ((0.95 + (0.05 * b.factor)) / 0.95);
|
||||
{
|
||||
Point2 ofs(b.x, b.y);
|
||||
ofs = ofs / prev_zoom - ofs / zoom;
|
||||
|
|
|
|||
|
|
@ -523,10 +523,10 @@ void Polygon2DEditor::_uv_input(const InputEvent &p_input) {
|
|||
|
||||
} else if (mb.button_index == BUTTON_WHEEL_UP && mb.pressed) {
|
||||
|
||||
uv_zoom->set_val(uv_zoom->get_val() / 0.9);
|
||||
uv_zoom->set_val(uv_zoom->get_val() / (1 - (0.1 * mb.factor)));
|
||||
} else if (mb.button_index == BUTTON_WHEEL_DOWN && mb.pressed) {
|
||||
|
||||
uv_zoom->set_val(uv_zoom->get_val() * 0.9);
|
||||
uv_zoom->set_val(uv_zoom->get_val() * (1 - (0.1 * mb.factor)));
|
||||
}
|
||||
|
||||
} else if (p_input.type == InputEvent::MOUSE_MOTION) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue