- void render (cairo_t *);
- GdkPixmap* get_pixmap (GdkDrawable *);
- void render_region (RegionView*, cairo_t*, nframes_t, double) const;
- void get_editor (std::pair<double, double> *, std::pair<double, double> *) const;
- void set_editor (std::pair<double, double> const &, std::pair<double, double> const &);
-
- Editor* _editor; ///< our editor
- ARDOUR::Session* _session; ///< our session
- GdkPixmap* _pixmap; ///< pixmap containing a rendering of the region views, or 0
- bool _regions_dirty; ///< true if _pixmap requires re-rendering, otherwise false
- int _width; ///< pixmap width
- int _height; ///< pixmap height
- double _x_scale; ///< pixels per frame for the x axis of the pixmap
- double _y_scale;
+ void reset_to_extents ();
+
+ void centre_on_click (GdkEventButton *);
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
+ void render_region (RegionView*, cairo_t*, double) const;
+ void get_editor (std::pair<double, double>* x, std::pair<double, double>* y = NULL) const;
+ void set_editor (double);
+ void set_editor (std::pair<double, double>);
+ void set_editor_x (double);
+ void set_editor_x (std::pair<double, double>);
+ void playhead_position_changed (samplepos_t);
+ double editor_y_to_summary (double) const;
+ Position get_position (double, double) const;
+ void set_cursor (Position);
+ void route_gui_changed (PBD::PropertyChange const&);
+ bool suspending_editor_updates () const;
+ double playhead_sample_to_position (samplepos_t) const;
+ samplepos_t position_to_playhead_sample_to_position (double pos) const;
+ void set_overlays_dirty_rect (int, int, int, int);
+
+ void summary_zoom_step ( int steps );
+
+ samplepos_t _start; ///< start sample of the overview
+ samplepos_t _end; ///< end sample of the overview
+
+ samplepos_t _leftmost; ///< the earliest sample we ever viewed
+ samplepos_t _rightmost; ///< the latest sample we ever viewed
+
+ double _x_scale; ///< pixels per sample for the x axis of the pixmap
+ double _track_height;
+ double _last_playhead;