/*
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_) {
+ 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_;
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)
{
+ error_mark_b_ = false;
daddy_l_ = parent;
prebreak_p_=0;
postbreak_p_=0;
line_l_=0;
hpos = -1.0;
pscore_l_ = 0;
+ rank_i_ = -1;
}
PCol::~PCol()