summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor.h')
-rw-r--r--gtk2_ardour/editor.h33
1 files changed, 15 insertions, 18 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index b1edb26737..bf52948b4b 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -207,7 +207,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
account any scrolling offsets.
*/
- framepos_t pixel_to_sample (double pixel) const {
+ framepos_t pixel_to_sample_from_event (double pixel) const {
/* pixel can be less than zero when motion events
are processed. since we've already run the world->canvas
@@ -222,6 +222,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
}
}
+ framepos_t pixel_to_sample (double pixel) const {
+ return pixel * samples_per_pixel;
+ }
+
double sample_to_pixel (framepos_t sample) const {
return sample / samples_per_pixel;
}
@@ -408,7 +412,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
return _drags;
}
- void maybe_autoscroll (bool, bool, bool, bool);
+ void maybe_autoscroll (bool, bool, bool);
+ bool autoscroll_active() const;
Gdk::Cursor* get_canvas_cursor () const { return current_canvas_cursor; }
void set_canvas_cursor (Gdk::Cursor*, bool save=false);
@@ -1022,6 +1027,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
static int _idle_visual_changer (void *arg);
int idle_visual_changer ();
+ void visual_changer (const VisualChange&);
void ensure_visual_change_idle_handler ();
/* track views */
@@ -1072,8 +1078,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
Gtkmm2ext::ActionMap editor_action_map;
Gtkmm2ext::Bindings key_bindings;
- int ensure_cursor (framepos_t* pos);
-
void cut_copy (Editing::CutCopyOp);
bool can_cut_copy () const;
void cut_copy_points (Editing::CutCopyOp);
@@ -1722,22 +1726,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* autoscrolling */
- bool autoscroll_active;
- int autoscroll_timeout_tag;
- int autoscroll_x;
- int autoscroll_y;
- int last_autoscroll_x;
- int last_autoscroll_y;
- uint32_t autoscroll_cnt;
- framecnt_t autoscroll_x_distance;
- double autoscroll_y_distance;
-
- bool _autoscroll_fudging;
- int autoscroll_fudge_threshold () const;
+ sigc::connection autoscroll_connection;
+ bool autoscroll_horizontal_allowed;
+ bool autoscroll_vertical_allowed;
+ uint32_t autoscroll_cnt;
+ Gtk::Widget* autoscroll_widget;
+ ArdourCanvas::Rect autoscroll_boundary;
- static gint _autoscroll_canvas (void *);
bool autoscroll_canvas ();
- void start_canvas_autoscroll (int x, int y);
+ void start_canvas_autoscroll (bool allow_horiz, bool allow_vert);
void stop_canvas_autoscroll ();
/* trimming */