summaryrefslogtreecommitdiff
path: root/gtk2_ardour/time_axis_view.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-01-06 03:18:09 +0000
committerCarl Hetherington <carl@carlh.net>2009-01-06 03:18:09 +0000
commitf2058a3f8739c6a7e9f7408f31d3b94ddb50673f (patch)
tree2050e2386dc670b16259805d1ecdbf8fb350fe5b /gtk2_ardour/time_axis_view.h
parent780b75363915bd328877cba33766b1ac177b45c1 (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.h11
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 */