-
-void
-Break_align_item::add_breakable_item (Item *it)
-{
- SCM pr = it->remove_elt_property (break_priority_scm_sym);
-
- if (pr == SCM_BOOL_F)
- return;
-
- int priority = gh_scm2int (SCM_CDR (pr));
-
- Score_element * column_l = get_elt_by_priority (priority);
- Axis_group_item * hg=0;
- if (column_l)
- {
- hg = dynamic_cast<Axis_group_item*> (column_l);
- }
- else
- {
- hg = new Axis_group_item;
- hg->set_axes (X_AXIS,X_AXIS);
-
- /*
- this is quite ridiculous, but we do this anyway, to ensure that no
- warning bells about missing Y refpoints go off later on.
- */
- hg->dim_cache_[Y_AXIS]->parent_l_ = dim_cache_[Y_AXIS];
- hg->set_elt_property (ly_symbol("origin"), gh_str02scm (it->name()));
-
- pscore_l_->typeset_element (hg);
- add_element_priority (hg, priority);
-
- if (priority == 0)
- center_l_ = hg;
- }
-
- hg->add_element (it);
-}