#include <set>
#include <string>
#include <sys/time.h>
-#include <bitset>
#include <boost/optional.hpp>
class ProgressReporter;
class EditorCursor;
class MouseCursors;
+class VerboseCursor;
/* <CMT Additions> */
class ImageFrameView;
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;
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);
void post_zoom ();
Editing::MouseMode mouse_mode;
+ Editing::MouseMode pre_internal_mouse_mode;
bool _internal_editing;
Editing::MouseMode effective_mouse_mode () const;
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);
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;
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;
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 ();
bool track_canvas_map_handler (GdkEventAny*);
- gint edit_controls_button_release (GdkEventButton*);
+ bool edit_controls_button_release (GdkEventButton*);
Gtk::Menu *edit_controls_left_menu;
Gtk::Menu *edit_controls_right_menu;
bool have_pending_keyboard_selection;
framepos_t pending_keyboard_selection_start;
- boost::shared_ptr<ARDOUR::Region> select_region_for_operation (int dir, TimeAxisView **tv);
- void extend_selection_to_end_of_region (bool next);
- void extend_selection_to_start_of_region (bool previous);
+ void move_range_selection_start_or_end_to_region_boundary (bool, bool);
Editing::SnapType _snap_type;
Editing::SnapMode _snap_mode;
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*);
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;
void pitch_shift_region ();
int time_fx (RegionSelection&, float val, bool pitching);
+ void transpose_region ();
+
/* editor-mixer strip */
MixerStrip *current_mixer_strip;