1 #include "staffline.hh"
2 #include "scoreline.hh"
6 #include "paper-def.hh"
17 String s("\\vbox to ");
19 s += "{\\vskip "+print_dimen(i.right)+" ";
25 Line_of_staff::TeXstring() const
27 String s("%line_of_staff\n");
29 s+=make_vbox(height());
30 // the staff itself: eg lines, accolades
33 iter_top(line_of_score_l_->cols,cc);
34 Real lastpos=cc->hpos;
36 // all items in the current line & staff.
37 for (; cc.ok(); cc++) {
38 Real delta=cc->hpos - lastpos;
43 s +=String( "\\kern ") + print_dimen(delta);
44 if (cc->error_mark_b_) {
45 s += String("\\columnerrormark");
47 // now output the items.
48 for (iter_top(cc->its,i); i.ok(); i++) {
49 if (i->pstaff_l_ == pstaff_l_)
53 for (iter_top(cc->starters,i); i.ok(); i++)
54 if (i->pstaff_l_ == pstaff_l_)
62 Line_of_staff::Line_of_staff(Line_of_score * sc, PStaff*st)
67 PCol *linestart = sc->cols.top();
68 PCol *linestop = sc->cols.bottom();
70 for (iter_top(pstaff_l_->spans,i); i.ok(); i++) {
71 PCol *brokenstart = &max(*linestart, *i->left_col_l_);
72 PCol *brokenstop = &min(*linestop, *i->right_col_l_);
73 if ( *brokenstart < *brokenstop) {
74 Spanner*span_p =i->broken_at(brokenstart,brokenstop);
75 line_of_score_l_->pscore_l_-> // higghl
83 Line_of_staff::height() const
87 iter_top(line_of_score_l_->cols,cc);
89 // all items in the current line & staff.
90 for (; cc.ok(); cc++) {
91 for (iter_top(cc->its,i); i.ok(); i++) {
92 if (i->pstaff_l_ == pstaff_l_)
97 for (iter_top(cc->starters,i); i.ok(); i++)
98 if (i->pstaff_l_ == pstaff_l_) {
107 Line_of_staff::process()
110 if (!pstaff_l_->stafsym_p_)
111 pstaff_l_->brew_molecule_p(line_of_score_l_->pscore_l_->
112 paper_l_->linewidth);