Fix session-open after selecting new, template, then back
[ardour.git] / gtk2_ardour / editor_summary.h
index 7e6b5a0bddb8549418ac83ee58274aa534f44f2f..27ee8ed23e5c98d9ad5bdab1c39d3982fa7b33ce 100644 (file)
@@ -83,9 +83,14 @@ private:
        framepos_t position_to_playhead_frame_to_position (double pos) const;
        void set_overlays_dirty (int, int, int, int);
 
+       void summary_zoom_step (  int steps );
+
        framepos_t _start; ///< start frame of the overview
        framepos_t _end; ///< end frame of the overview
 
+       framepos_t _leftmost; ///< the earliest frame we ever viewed
+       framepos_t _rightmost; ///< the latest frame we ever viewed
+
        /** fraction of the session length by which the overview size should extend past the start and end markers */
        double _overhang_fraction;
 
@@ -95,11 +100,19 @@ private:
 
        std::pair<double, double> _start_editor_x;
        double _start_mouse_x;
+       double _start_mouse_y;
 
        Position _start_position;
 
        bool _move_dragging;
-       bool _moved;
+
+       //used for zooming
+       int _last_mx;
+       int _last_my;
+       int _last_dx;
+       int _last_dy;
+       int _last_y_delta;
+
        std::pair<double, double> _view_rectangle_x;
        std::pair<double, double> _view_rectangle_y;
 
@@ -107,8 +120,8 @@ private:
        std::pair<double, double> _pending_editor_y;
        bool _pending_editor_changed;
 
-       bool _zoom_dragging;
-       Position _zoom_position;
+       bool _zoom_trim_dragging;
+       Position _zoom_trim_position;
 
        bool _old_follow_playhead;
        cairo_surface_t* _image;