diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-27 01:42:49 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-27 01:42:49 +0000 |
commit | 6304261b980419eaafde84bc32ff5e8f1c7aa236 (patch) | |
tree | 1261360e5eb22f7539a1a0afcc2d760ea017b7ad /gtk2_ardour/streamview.cc | |
parent | 0082e3364f7682ff41df52305cfff2cf7a861ef3 (diff) |
Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/streamview.cc')
-rw-r--r-- | gtk2_ardour/streamview.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc index 28905ee45f..2bc70cf997 100644 --- a/gtk2_ardour/streamview.cc +++ b/gtk2_ardour/streamview.cc @@ -57,7 +57,6 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* background_g , _samples_per_unit (_trackview.editor().get_current_zoom ()) , rec_updating(false) , rec_active(false) - , region_color(_trackview.color()) , stream_base_color(0xFFFFFFFF) , _layers (1) , _layer_display (Overlaid) @@ -302,7 +301,7 @@ StreamView::playlist_layered (boost::weak_ptr<Track> wtr) _layers = tr->playlist()->top_layer() + 1; } - if (_layer_display == Stacked) { + if (_layer_display == Stacked || _layer_display == Expanded) { update_contents_height (); update_coverage_frames (); } else { @@ -330,8 +329,6 @@ StreamView::playlist_switched (boost::weak_ptr<Track> wtr) update_contents_height (); update_coverage_frames (); - tr->playlist()->set_explicit_relayering (_layer_display == Stacked); - /* draw it */ redisplay_track (); @@ -569,10 +566,16 @@ StreamView::get_inverted_selectables (Selection& sel, list<Selectable*>& results double StreamView::child_height () const { - if (_layer_display == Stacked) { + switch (_layer_display) { + case Overlaid: + return height; + case Stacked: return height / _layers; + case Expanded: + return height / (_layers * 2 + 1); } + /* NOTREACHED */ return height; } @@ -589,6 +592,9 @@ StreamView::update_contents_height () case Stacked: (*i)->set_y (height - ((*i)->region()->layer() + 1) * h); break; + case Expanded: + (*i)->set_y (height - ((*i)->region()->layer() + 1) * 2 * h); + break; } (*i)->set_height (h); @@ -600,6 +606,7 @@ StreamView::update_contents_height () i->rectangle->property_y2() = height; break; case Stacked: + case Expanded: /* In stacked displays, the recregion is always at the top */ i->rectangle->property_y1() = 0; i->rectangle->property_y2() = h; @@ -614,7 +621,6 @@ StreamView::set_layer_display (LayerDisplay d) _layer_display = d; update_contents_height (); update_coverage_frames (); - _trackview.track()->playlist()->set_explicit_relayering (_layer_display == Stacked); } void |