Use LV2_SUPPORT define instead of HAVE_SLV2.
[ardour.git] / gtk2_ardour / editor.h
index 20e8ef02be8a2298b1f577781b0de3c7e79eac56..8150f44ae3398b6f85a6fe29ca6833db3f37dc0f 100644 (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);
@@ -541,9 +545,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void location_changed (ARDOUR::Location *);
        void location_flags_changed (ARDOUR::Location *, void *);
        void refresh_location_display ();
-       void refresh_location_display_s (const PBD::PropertyChange&);
        void refresh_location_display_internal (ARDOUR::Locations::LocationList&);
        void add_new_location (ARDOUR::Location *);
+       ArdourCanvas::Group* add_new_location_internal (ARDOUR::Location *);
        void location_gone (ARDOUR::Location *);
        void remove_marker (ArdourCanvas::Item&, GdkEvent*);
        gint really_remove_marker (ARDOUR::Location* loc);
@@ -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;
@@ -774,9 +772,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Glib::RefPtr<Gtk::ToggleAction> ruler_cd_marker_action;
        bool                            no_ruler_shown_update;
 
-       gint ruler_button_press (GdkEventButton*);
-       gint ruler_button_release (GdkEventButton*);
-       gint ruler_mouse_motion (GdkEventMotion*);
+       bool ruler_button_press (GdkEventButton*);
+       bool ruler_button_release (GdkEventButton*);
+       bool ruler_mouse_motion (GdkEventMotion*);
        bool ruler_scroll (GdkEventScroll* event);
 
        Gtk::Widget * ruler_grabbed_widget;
@@ -791,7 +789,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_ruler_visible (RulerType, bool);
        void toggle_ruler_visibility (RulerType rt);
        void ruler_toggled (int);
-       gint ruler_label_button_release (GdkEventButton*);
+       bool ruler_label_button_release (GdkEventButton*);
        void store_ruler_visibility ();
        void restore_ruler_visibility ();
 
@@ -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*);
@@ -1537,7 +1530,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtkmm2ext::StatefulToggleButton internal_edit_button;
        void                     toggle_internal_editing ();
 
-       gint                     mouse_select_button_release (GdkEventButton*);
+       bool                     mouse_select_button_release (GdkEventButton*);
 
        Gtk::VBox                automation_box;
        Gtk::Button              automation_mode_button;