*/
, vertical_adjustment (0.0, 0.0, 10.0, 400.0)
+ , horizontal_adjustment (0.0, 0.0, 1e16)
+ , unused_adjustment (0.0, 0.0, 10.0, 400.0)
+
+ , controls_layout (unused_adjustment, vertical_adjustment)
/* tool bar related */
ArdourCanvas::GtkCanvas* _track_canvas;
ArdourCanvas::GtkCanvasViewport* _track_canvas_viewport;
- Gtk::Adjustment* _track_canvas_hadj;
- Gtk::Adjustment* _track_canvas_vadj;
ArdourCanvas::GtkCanvas* _time_bars_canvas;
ArdourCanvas::GtkCanvasViewport* _time_bars_canvas_viewport;
- Gtk::Adjustment* _time_bars_canvas_hadj;
Gtk::Adjustment* _time_bars_canvas_vadj;
bool within_track_canvas;
/** the adjustment that controls the overall editor vertical scroll position */
Gtk::Adjustment vertical_adjustment;
+ Gtk::Adjustment horizontal_adjustment;
+ Gtk::Adjustment unused_adjustment; // yes, really; Gtk::Layout constructor requires refs
Gtk::Layout controls_layout;
bool control_layout_scroll (GdkEventScroll* ev);
void reset_controls_layout_width ();
void
Editor::initialize_canvas ()
{
- /* XXX */
-
- _track_canvas_hadj = new Adjustment (0, 0, 1e16);
- _track_canvas_vadj = new Adjustment (0, 0, 1e16);
- _track_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (*_track_canvas_hadj, *_track_canvas_vadj);
+ _track_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (horizontal_adjustment, vertical_adjustment);
_track_canvas = _track_canvas_viewport->canvas ();
- _time_bars_canvas_hadj = new Adjustment (0, 0, 1e16);
_time_bars_canvas_vadj = new Adjustment (0, 0, 1e16);
- _time_bars_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (*_time_bars_canvas_hadj, *_time_bars_canvas_vadj);
+ _time_bars_canvas_viewport = new ArdourCanvas::GtkCanvasViewport (horizontal_adjustment, *_time_bars_canvas_vadj);
_time_bars_canvas = _time_bars_canvas_viewport->canvas ();
_verbose_cursor = new VerboseCursor (this);
void
Editor::tie_vertical_scrolling ()
{
- _track_canvas_vadj->set_value (vertical_adjustment.get_value ());
-
- controls_layout.get_vadjustment()->set_value (vertical_adjustment.get_value());
-
if (pending_visual_change.idle_handler_id < 0) {
_summary->set_overlays_dirty ();
}
void
Editor::set_horizontal_position (double p)
{
- _track_canvas_hadj->set_value (p);
- _time_bars_canvas_hadj->set_value (p);
+ horizontal_adjustment.set_value (p);
leftmost_frame = (framepos_t) floor (p * samples_per_pixel);
update_video_timeline();
HorizontalPositionChanged (); /* EMIT SIGNAL */
-
-#ifndef GTKOSX
- if (!autoscroll_active && !_stationary_playhead) {
- /* force rulers and canvas to move in lock step */
- while (gtk_events_pending ()) {
- gtk_main_iteration ();
- }
- }
-#endif
}
// CAIROCANVAS