lilypond-0.1.14
[lilypond.git] / lily / p-col.cc
blob715adecd83122c555615721e43cfce11ad90658c
1 /*
2 p-col.cc -- implement Paper_column
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
9 #include "p-col.hh"
10 #include "p-score.hh"
11 #include "debug.hh"
14 int
15 Paper_column::rank_i() const
17 return rank_i_;
20 void
21 Paper_column::set_rank (int i)
23 rank_i_ = i;
24 if (prebreak_l())
25 prebreak_l()->rank_i_ = i;
26 if (postbreak_l())
27 postbreak_l()->rank_i_ = i;
30 void
31 Paper_column::do_print() const
33 #ifndef NPRINT
34 DOUT << "rank: " << rank_i_ << '\n';
35 if (prebreak_l())
37 DOUT << "\npre: ";
38 prebreak_l()->print();
40 if (postbreak_l())
42 DOUT << "post: ";
43 postbreak_l()->print();
45 if (break_status_i_)
47 DOUT <<'\n' << ((break_status_i_ == -1)? "prebreak" : "postbreak");
48 DOUT << '\n';
50 DOUT << "extent: " << width().str () << "\n";
51 #endif
54 int
55 Paper_column::compare (Paper_column const &c1, Paper_column const &c2)
57 return c1.rank_i() - c2.rank_i ();
60 Paper_column*
61 Paper_column::prebreak_l() const
63 return (Paper_column*)broken_to_drul_[LEFT];
66 Paper_column*
67 Paper_column::postbreak_l() const
69 return(Paper_column*) broken_to_drul_[RIGHT];
71 bool
72 Paper_column::breakpoint_b() const
74 return !line_l_;
77 Paper_column::Paper_column()
79 used_b_ = false;
80 error_mark_b_ = false;
81 line_l_=0;
82 rank_i_ = -1;
85 Line_of_score*
86 Paper_column::line_l() const
88 return line_l_;
91 bool
92 Paper_column::used_b() const
94 return linked_b();
97 IMPLEMENT_IS_TYPE_B1(Paper_column, Horizontal_group_item);