summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_canvas_events.cc
diff options
context:
space:
mode:
authorBen Loftis <ben@glw.com>2012-11-27 17:04:42 +0000
committerBen Loftis <ben@glw.com>2012-11-27 17:04:42 +0000
commitf23490bd37112ddf0538fe02560eb1f9ec2ebff7 (patch)
tree004b31634ad6029d3812ac6288ef0cb514693727 /gtk2_ardour/editor_canvas_events.cc
parent99766494f89a5a6aa5cffbff4612f4afe0868c9b (diff)
mousehweel zoom should always operate like ZoomFocusMouse
git-svn-id: svn://localhost/ardour2/branches/3.0@13557 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_canvas_events.cc')
-rw-r--r--gtk2_ardour/editor_canvas_events.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 40d6be0ba1..15bd51b3ba 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -66,7 +66,11 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
switch (direction) {
case GDK_SCROLL_UP:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
+ //for mouse-wheel zoom, force zoom-focus to mouse
+ Editing::ZoomFocus temp_focus = zoom_focus;
+ zoom_focus = Editing::ZoomFocusMouse;
temporal_zoom_step (false);
+ zoom_focus = temp_focus;
return true;
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) {
direction = GDK_SCROLL_LEFT;
@@ -91,7 +95,11 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
case GDK_SCROLL_DOWN:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::PrimaryModifier)) {
+ //for mouse-wheel zoom, force zoom-focus to mouse
+ Editing::ZoomFocus temp_focus = zoom_focus;
+ zoom_focus = Editing::ZoomFocusMouse;
temporal_zoom_step (true);
+ zoom_focus = temp_focus;
return true;
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::SecondaryModifier)) {
direction = GDK_SCROLL_RIGHT;