+ virtual ArdourCanvas::Group* get_background_group () const = 0;
+
+ virtual TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const = 0;
+
+ virtual void set_current_trimmable (boost::shared_ptr<ARDOUR::Trimmable>) = 0;
+ virtual void set_current_movable (boost::shared_ptr<ARDOUR::Movable>) = 0;
+
+ virtual void center_screen (framepos_t) = 0;
+
+ virtual TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const = 0;
+ virtual TrackViewList const & get_track_views () = 0;
+
+ virtual Gtkmm2ext::TearOff* mouse_mode_tearoff () const = 0;
+ virtual Gtkmm2ext::TearOff* tools_tearoff () const = 0;
+
+ virtual DragManager* drags () const = 0;
+ virtual void maybe_autoscroll (bool, bool, bool, bool) = 0;
+ virtual void stop_canvas_autoscroll () = 0;
+
+ virtual MouseCursors const * cursors () const = 0;
+ virtual VerboseCursor * verbose_cursor () const = 0;
+
+ virtual bool get_smart_mode () const = 0;
+
+ virtual void get_pointer_position (double &, double &) const = 0;
+
+ virtual ARDOUR::Location* find_location_from_marker (Marker *, bool &) const = 0;
+ virtual Marker* find_marker_from_location_id (PBD::ID const &, bool) const = 0;
+
+ virtual void snap_to_with_modifier (framepos_t &, GdkEvent const *, int32_t direction = 0, bool for_mark = false) = 0;
+
+ virtual void get_regions_at (RegionSelection &, framepos_t where, TrackViewList const &) const = 0;