diff options
Diffstat (limited to 'gtk2_ardour/panner2d.cc')
-rw-r--r-- | gtk2_ardour/panner2d.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc index a953105c1a..7d29e5caea 100644 --- a/gtk2_ardour/panner2d.cc +++ b/gtk2_ardour/panner2d.cc @@ -285,6 +285,7 @@ Panner2d::on_motion_notify_event (GdkEventMotion *ev) return handle_motion (x, y, state); } + bool Panner2d::on_expose_event (GdkEventExpose *event) { @@ -536,6 +537,23 @@ Panner2d::handle_motion (gint evx, gint evy, GdkModifierType state) return true; } +bool +Panner2d::on_scroll_event (GdkEventScroll* ev) +{ + switch (ev->direction) { + case GDK_SCROLL_UP: + case GDK_SCROLL_RIGHT: + panner->set_position (panner->pannable()->pan_azimuth_control->get_value() - 1.0/360.0); + break; + + case GDK_SCROLL_DOWN: + case GDK_SCROLL_LEFT: + panner->set_position (panner->pannable()->pan_azimuth_control->get_value() + 1.0/360.0); + break; + } + return true; +} + void Panner2d::cart_to_gtk (CartesianVector& c) const { |