]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/p-col.cc
release: 0.0.68pre
[lilypond.git] / lily / p-col.cc
index ae39bdda9a4ba9c451678335f45a1a533797bf7b..f55ea2452b9520086d29141598b58acaaee6ea05 100644 (file)
@@ -1,14 +1,14 @@
 /*
   p-col.cc -- implement PCol
 
-  source file of the LilyPond music typesetter
+  source file of the GNU LilyPond music typesetter
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
 #include "p-col.hh"
 #include "p-score.hh"
-#include "p-staff.hh"
+
 #include "debug.hh"
 
 Interval
@@ -23,8 +23,21 @@ PCol::width() const
     return w;
 }
 
+void
+PCol::clean_breakable_items()
+{
+    if (!line_l_) {
+       for(iter(its.top(), j); j.ok(); ) {
+           j->unlink();
+           j.del();
+       }
+    }
+    if (prebreak_p_) prebreak_p_->clean_breakable_items();
+    if (postbreak_p_) postbreak_p_->clean_breakable_items();
+}
+
 int
-PCol::rank() const
+PCol::rank_i() const
 {
     assert(rank_i_ != -1);
     return rank_i_;
@@ -66,7 +79,7 @@ PCol::print() const
 int
 PCol::compare(PCol const &c1, PCol const &c2)
 {
-    return c1.rank() - c2.rank();
+    return c1.rank_i() - c2.rank_i();
 }
 
 void
@@ -93,6 +106,12 @@ PCol::set_breakable()
     postbreak_p_->pscore_l_ = pscore_l_;
 }
 
+bool
+PCol::breakpoint_b() const
+{
+    return !line_l_;
+}
+
 bool
 PCol::breakable_b() const
 {