framecnt_t get_current_zoom () const { return samples_per_pixel; }
void cycle_zoom_focus ();
void temporal_zoom_step (bool coarser);
+ void temporal_zoom_step_mouse_focus (bool coarser);
void ensure_time_axis_view_is_visible (TimeAxisView const & tav, bool at_top);
void tav_zoom_step (bool coarser);
void tav_zoom_smooth (bool coarser, bool force_all);
case GDK_SCROLL_UP:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
//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;
+ temporal_zoom_step_mouse_focus (false);
return true;
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
scroll_left_step ();
case GDK_SCROLL_DOWN:
if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
//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;
+ temporal_zoom_step_mouse_focus (true);
return true;
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
scroll_right_step ();
scroll_left_half_page ();
} else if (Profile->get_mixbus()) {
//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;
+ temporal_zoom_step_mouse_focus (false);
} else {
temporal_zoom_step (false);
}
scroll_right_half_page ();
} else if (Profile->get_mixbus()) {
//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;
+ temporal_zoom_step_mouse_focus (true);
} else {
temporal_zoom_step (true);
}