diff options
author | Carl Hetherington <carl@carlh.net> | 2009-01-06 03:18:09 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-01-06 03:18:09 +0000 |
commit | f2058a3f8739c6a7e9f7408f31d3b94ddb50673f (patch) | |
tree | 2050e2386dc670b16259805d1ecdbf8fb350fe5b /gtk2_ardour/time_axis_view.h | |
parent | 780b75363915bd328877cba33766b1ac177b45c1 (diff) |
Comment and (hopefully) simplify Editor::region_drag_motion_callback, fixing problems with dragging regions
to and from tracks in "stacked" display mode. As a side-effect, enable dragging of regions between layers,
though I'm not entirely sure where this is useful or desirable just yet; dragging regions between layers
currently works in the GUI but has no effect on the model.
git-svn-id: svn://localhost/ardour2/branches/3.0@4389 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/time_axis_view.h')
-rw-r--r-- | gtk2_ardour/time_axis_view.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h index e3fbc88514..980ff2cdd8 100644 --- a/gtk2_ardour/time_axis_view.h +++ b/gtk2_ardour/time_axis_view.h @@ -66,6 +66,7 @@ class Selection; class Selectable; class RegionView; class GhostRegion; +class StreamView; /** Abstract base class for time-axis views (horizontal editor 'strips') * @@ -97,6 +98,9 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful /** @return index of this TimeAxisView within its parent */ int order () const { return _order; } + /** @return maximum allowable value of order */ + static int max_order () { return _max_order; } + ArdourCanvas::Group* canvas_display () { return _canvas_display; } ArdourCanvas::Group* canvas_background () { return _canvas_background; } ArdourCanvas::Group* ghost_group () { return _ghost_group; } @@ -149,7 +153,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful virtual void set_height (uint32_t h); void reset_height(); - TimeAxisView* covers_y_position (double y); + std::pair<TimeAxisView*, ARDOUR::layer_t> covers_y_position (double); /** * Steps through the defined heights for this TrackView. @@ -207,6 +211,9 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful /* call this on the parent */ virtual XMLNode* get_automation_child_xml_node (Evoral::Parameter param) { return 0; } + + virtual LayerDisplay layer_display () const { return Overlaid; } + virtual StreamView* view () const { return 0; } typedef std::vector<boost::shared_ptr<TimeAxisView> > Children; @@ -342,6 +349,8 @@ private: double _resize_drag_start; int32_t _resize_idle_target; ArdourCanvas::Group* _ghost_group; + + static int const _max_order; }; /* class TimeAxisView */ |