bool scroll_up_one_track (bool skip_child_views = false);
bool scroll_down_one_track (bool skip_child_views = false);
+ void scroll_left_step ();
+ void scroll_right_step ();
+
void prepare_for_cleanup ();
void finish_cleanup ();
bool
Editor::track_canvas_scroll (GdkEventScroll* ev)
{
- framepos_t xdelta;
int direction = ev->direction;
/* this event arrives without transformation by the canvas, so we have
break;
case GDK_SCROLL_LEFT:
- xdelta = (current_page_samples() / 8);
- if (leftmost_frame > xdelta) {
- reset_x_origin (leftmost_frame - xdelta);
- } else {
- reset_x_origin (0);
- }
+ scroll_left_step ();
+ return true;
break;
case GDK_SCROLL_RIGHT:
- xdelta = (current_page_samples() / 8);
- if (max_framepos - xdelta > leftmost_frame) {
- reset_x_origin (leftmost_frame + xdelta);
- } else {
- reset_x_origin (max_framepos - current_page_samples());
- }
+ scroll_right_step ();
+ return true;
break;
default:
return false;
}
+void
+Editor::scroll_left_step ()
+{
+ framepos_t xdelta = (current_page_samples() / 8);
+
+ if (leftmost_frame > xdelta) {
+ reset_x_origin (leftmost_frame - xdelta);
+ } else {
+ reset_x_origin (0);
+ }
+}
+
+
+void
+Editor::scroll_right_step ()
+{
+ framepos_t xdelta = (current_page_samples() / 8);
+
+ if (max_framepos - xdelta > leftmost_frame) {
+ reset_x_origin (leftmost_frame + xdelta);
+ } else {
+ reset_x_origin (max_framepos - current_page_samples());
+ }
+}
+
/* ZOOM */
void