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:
parent
9e14ce38e0
commit
40ca64c659
@ -544,7 +544,7 @@ Editor::maybe_autoscroll (bool allow_horiz, bool allow_vert)
|
|||||||
framepos_t rightmost_frame = leftmost_frame + current_page_frames();
|
framepos_t rightmost_frame = leftmost_frame + current_page_frames();
|
||||||
bool startit = false;
|
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_y = 0;
|
||||||
autoscroll_x = 0;
|
autoscroll_x = 0;
|
||||||
|
@ -352,9 +352,9 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
virtual gdouble get_trackview_group_vertical_offset () const = 0;
|
virtual gdouble get_trackview_group_vertical_offset () const = 0;
|
||||||
virtual gdouble get_canvas_timebars_vsize () const = 0;
|
virtual double get_canvas_timebars_vsize () const = 0;
|
||||||
virtual ArdourCanvas::Group* get_background_group () const = 0;
|
|
||||||
virtual ArdourCanvas::Group* get_trackview_group () 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;
|
virtual TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const = 0;
|
||||||
|
|
||||||
|
@ -1230,14 +1230,14 @@ TimeAxisView::resizer_motion (GdkEventMotion* ev)
|
|||||||
{
|
{
|
||||||
if (_resize_drag_start >= 0) {
|
if (_resize_drag_start >= 0) {
|
||||||
/* (ab)use the DragManager to do autoscrolling; adjust the event coordinates
|
/* (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
|
and then fake a DragManager motion event so that when maybe_autoscroll
|
||||||
asks DragManager for the current pointer position it will get the correct
|
asks DragManager for the current pointer position it will get the correct
|
||||||
answers.
|
answers.
|
||||||
*/
|
*/
|
||||||
int tx, ty;
|
int tx, ty;
|
||||||
resizer.translate_coordinates (*control_parent, ev->x, ev->y, 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.drags()->motion_handler ((GdkEvent *) ev, false);
|
||||||
_editor.maybe_autoscroll (false, true);
|
_editor.maybe_autoscroll (false, true);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user