2 break-align-item.cc -- implement Break_align_item
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "break-align-item.hh"
10 #include "dimensions.hh"
14 Break_align_item::do_pre_processing()
16 align_dir_ = break_status_dir();
18 Axis_align_item::do_pre_processing();
24 Break_align_item::Break_align_item ()
26 stacking_dir_ = RIGHT;
27 threshold_interval_[SMALLER] = 1.5 PT;
32 Break_align_item::add_breakable_item (Item *it)
34 SCM pr = it->remove_elt_property (break_priority_scm_sym);
39 int priority = gh_scm2int (SCM_CDR (pr));
41 Score_element * column_l = get_elt_by_priority (priority);
42 Axis_group_item * hg=0;
45 hg = dynamic_cast<Axis_group_item*> (column_l);
49 hg = new Axis_group_item;
50 hg->set_axes (X_AXIS,X_AXIS);
53 this is quite ridiculous, but we do this anyway, to ensure that no
54 warning bells about missing Y refpoints go off later on.
56 hg->dim_cache_[Y_AXIS]->parent_l_ = dim_cache_[Y_AXIS];
57 hg->set_elt_property (ly_symbol("origin"),
60 pscore_l_->typeset_element (hg);
61 add_element_priority (hg, priority);
67 hg->set_elt_property (ly_symbol("origin"),
68 scm_cons (gh_str02scm (it->name()),
69 hg->get_elt_property (ly_symbol ("origin"))));