- SCM before_output = outputter_l_->last_cons_;
-
-
- fixup_refpoints ();
- line_l_->output_lines ();
-
-
- SCM font_names = ly_quote_scm (all_fonts_global_p->font_descriptions ());
- gh_set_cdr_x (before_output,
- gh_cons (gh_list (ly_symbol2scm ("define-fonts"),
- font_names,
- SCM_UNDEFINED),
- gh_cdr (before_output)));
-
- Paper_stream* psp = paper_l_->paper_stream_p ();
- outputter_l_->dump_onto (psp);
- // huh?
- delete outputter_l_;
-
- outputter_l_ = 0;
- delete psp;
-
-}
-
-Link_array<Item>
-Paper_score::broken_col_range (Item const*l, Item const*r) const
-{
- Link_array<Item> ret;
-
- l = l->column_l ();
- r = r->column_l ();
-
- int start = l
- ? find_col_idx (dynamic_cast<Paper_column*> ((Item*)l))+1
- : 0;
-
- int stop = r
- ? find_col_idx (dynamic_cast<Paper_column*>((Item*)r))
- : col_l_arr_.size ();
-
- while (start < stop)
- {
- Paper_column *c = col_l_arr_[start];
- if (c->breakable_b () && !c->line_l_)
- ret.push (c);
- start++;
- }
-
- return ret;
-}
-
-
-void
-Paper_score::fixup_refpoints ()
-{
- for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
- {
- SCM e = gh_car (s);
- if (SMOB_IS_TYPE_B(Score_element, e))
- {
- Score_element * se = SMOB_TO_TYPE (Score_element,e );
- se->fixup_refpoint ();
- }
- }