/*
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
return w;
}
+void
+PCol::clean_breakable_items()
+{
+ if (!line_l_) {
+ its.junk_links();
+ }
+ 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_;
}
int
PCol::compare(PCol const &c1, PCol const &c2)
{
- return c1.rank() - c2.rank();
+ return c1.rank_i() - c2.rank_i();
}
void
postbreak_p_->pscore_l_ = pscore_l_;
}
+bool
+PCol::breakpoint_b() const
+{
+ return !line_l_;
+}
+
bool
PCol::breakable_b() const
{
PCol::PCol(PCol *parent)
{
+ used_b_ = false;
error_mark_b_ = false;
daddy_l_ = parent;
prebreak_p_=0;
bool
PCol::used_b()const
{
- return breakable_b() || its.size();
+ return breakable_b() || its.size()|| used_b_;
}