Zooming: handle smaller, faster, events on GTK+3

On GTK+3, the zoom events are smaller and faster, so
the trigger the zoom acceleration.

A simple fix is to use the non-accelerated Mac-style
zooming and an appropriate constant. This can be tweaked
further as needed.

Fixes: lp:1786515
* https://bugs.launchpad.net/kicad/+bug/1786515
This commit is contained in:
John Beard 2018-11-22 16:30:28 +00:00 committed by Seth Hillbrand
parent 1f62a2d784
commit 4475c2008c
1 changed files with 3 additions and 0 deletions

View File

@ -44,6 +44,9 @@ static std::unique_ptr<ZOOM_CONTROLLER> GetZoomControllerForPlatform()
// smaller rotation values. For those devices, let's handle zoom // smaller rotation values. For those devices, let's handle zoom
// based on the rotation amount rather than the time difference. // based on the rotation amount rather than the time difference.
return std::make_unique<CONSTANT_ZOOM_CONTROLLER>( CONSTANT_ZOOM_CONTROLLER::MAC_SCALE ); return std::make_unique<CONSTANT_ZOOM_CONTROLLER>( CONSTANT_ZOOM_CONTROLLER::MAC_SCALE );
#elif __WXGTK3__
// GTK3 is similar, but the scale constant is smaller
return std::make_unique<CONSTANT_ZOOM_CONTROLLER>( CONSTANT_ZOOM_CONTROLLER::GTK3_SCALE );
#else #else
return std::make_unique<ACCELERATING_ZOOM_CONTROLLER>(); return std::make_unique<ACCELERATING_ZOOM_CONTROLLER>();
#endif #endif