Separate verbose cursor out into its own class and clean up the API. Fixes #4010.

git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-05-02 13:38:16 +00:00
parent 5711425f18
commit 988348185e
13 changed files with 479 additions and 336 deletions

View file

@ -131,6 +131,7 @@ class RegionLayeringOrderEditor;
class ProgressReporter;
class EditorCursor;
class MouseCursors;
class VerboseCursor;
/* <CMT Additions> */
class ImageFrameView;
@ -416,9 +417,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void get_regions_corresponding_to (boost::shared_ptr<ARDOUR::Region> region, std::vector<RegionView*>& regions);
void show_verbose_canvas_cursor_with (const std::string& txt, int32_t xoffset = 0, int32_t yoffset = 0);
void hide_verbose_canvas_cursor();
void center_screen (framepos_t);
TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const;
@ -448,6 +446,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
return _cursors;
}
VerboseCursor* verbose_cursor () const {
return _verbose_cursor;
}
void get_pointer_position (double &, double &) const;
protected:
void map_transport_state ();
void map_position_change (framepos_t);
@ -691,19 +695,13 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ArdourCanvas::Canvas* track_canvas;
ArdourCanvas::NoEventText* verbose_canvas_cursor;
bool verbose_cursor_visible;
friend class VerboseCursor;
VerboseCursor* _verbose_cursor;
void parameter_changed (std::string);
bool track_canvas_motion (GdkEvent*);
void set_verbose_canvas_cursor (const std::string &, double x, double y);
void set_verbose_canvas_cursor_text (const std::string &);
void show_verbose_canvas_cursor();
bool verbose_cursor_on; // so far unused
Gtk::EventBox time_canvas_event_box;
Gtk::EventBox track_canvas_event_box;
Gtk::EventBox time_button_event_box;
@ -1333,11 +1331,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void mouse_brush_insert_region (RegionView*, framepos_t pos);
void show_verbose_time_cursor (framepos_t frame, double offset = 0, double xpos=-1, double ypos=-1);
void show_verbose_duration_cursor (framepos_t start, framepos_t end, double offset = 0, double xpos=-1, double ypos=-1);
double clamp_verbose_cursor_x (double);
double clamp_verbose_cursor_y (double);
/* Canvas event handlers */
bool canvas_control_point_event (GdkEvent* event,ArdourCanvas::Item*, ControlPoint*);