13
0

Slight improvement to autoscroll behaviour when expanding tracks.

git-svn-id: svn://localhost/ardour2/branches/3.0@8008 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-11-11 13:36:20 +00:00
parent 9e14ce38e0
commit 40ca64c659
3 changed files with 5 additions and 5 deletions

View File

@ -544,7 +544,7 @@ Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert)
framepos_t rightmost_frame = leftmost_frame + current_page_frames();
bool startit = false;
double ty = _drags->current_pointer_y() - get_trackview_group_vertical_offset ();
double const ty = _drags->current_pointer_y() - get_trackview_group_vertical_offset ();
autoscroll_y = 0;
autoscroll_x = 0;

View File

@ -352,9 +352,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible {
#endif
virtual gdouble get_trackview_group_vertical_offset () const = 0;
virtual gdouble get_canvas_timebars_vsize () const = 0;
virtual ArdourCanvas::Group* get_background_group () const = 0;
virtual double get_canvas_timebars_vsize () const = 0;
virtual ArdourCanvas::Group* get_trackview_group () const = 0;
virtual ArdourCanvas::Group* get_background_group () const = 0;
virtual TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const = 0;

View File

@ -1230,14 +1230,14 @@ TimeAxisView::resizer_motion (GdkEventMotion* ev)
{
if (_resize_drag_start >= 0) {
/* (ab)use the DragManager to do autoscrolling; adjust the event coordinates
into the trackview space that DragManager::motion_handler is expecting,
into the world coordinate space that DragManager::motion_handler is expecting,
and then fake a DragManager motion event so that when maybe_autoscroll
asks DragManager for the current pointer position it will get the correct
answers.
*/
int tx, ty;
resizer.translate_coordinates (*control_parent, ev->x, ev->y, tx, ty);
ev->y = ty + _editor.get_canvas_timebars_vsize ();
ev->y = ty - _editor.get_trackview_group_vertical_offset();
_editor.drags()->motion_handler ((GdkEvent *) ev, false);
_editor.maybe_autoscroll (false, true);