-void
-Score_engraver::typeset_all()
-{
- for (int i =0; i < elem_p_arr_.size(); i++)
- {
- Score_element * elem_p = elem_p_arr_[i];
- if (Spanner *s = dynamic_cast <Spanner *> (elem_p))
- {
- pscore_p_->typeset_unbroken_spanner (s);
-
- /*
- do something sensible if spanner not
- spanned on 2 items.
- */
- Direction d = LEFT;
- do {
- if (!s->spanned_drul_[d])
- {
- s->set_bounds(d, command_column_l_);
- ::warning (_f ("Unbound spanner `%s\'", classname(s)));
- }
- } while (flip(&d) != LEFT);
- }
- else
- {
- Item *item_p = dynamic_cast <Item *> (elem_p);
- pscore_p_->typeset_element (item_p);
- if (!item_p->parent_l (X_AXIS))
- {
- bool br = (item_p->remove_elt_property (breakable_scm_sym) != SCM_BOOL_F);
- if (br)
- command_column_l_->add_element(item_p);
- else
- musical_column_l_->add_element(item_p);
- }
- }
- if (!elem_p->dim_cache_[Y_AXIS].parent_l_)
- scoreline_l_->add_element (elem_p);
- }
- elem_p_arr_.clear();