void add_column (SCM);
public:
- VIRTUAL_COPY_CONS (Translator);
- Break_align_engraver ();
+ TRANSLATOR_DECLARATIONS(Break_align_engraver);
};
-
-
-ADD_THIS_TRANSLATOR (Break_align_engraver);
-
void
Break_align_engraver::add_column (SCM smob)
{
Break_align_engraver::stop_translation_timestep ()
{
SCM order = get_property ("breakAlignOrder");
- for (; gh_pair_p (order); order = gh_cdr (order))
+ for (; gh_pair_p (order); order = ly_cdr (order))
{
- SCM p = scm_assoc (gh_car (order), column_alist_);
+ SCM p = scm_assoc (ly_car (order), column_alist_);
if (gh_pair_p (p))
{
- add_column (gh_cdr (p));
- column_alist_ = scm_assoc_remove_x (column_alist_, gh_car (order));
+ add_column (ly_cdr (p));
+ column_alist_ = scm_assoc_remove_x (column_alist_, ly_car (order));
}
}
- for (SCM p = column_alist_; gh_pair_p (p); p = gh_cdr (p))
+ for (SCM p = column_alist_; gh_pair_p (p); p = ly_cdr (p))
{
- SCM pair = gh_car (p);
- add_column (gh_cdr (pair));
+ SCM pair = ly_car (p);
+ add_column (ly_cdr (pair));
}
void
Break_align_engraver::acknowledge_grob (Grob_info inf)
{
- if (Item * item_l = dynamic_cast <Item *> (inf.elem_l_))
+ if (Item * item_l = dynamic_cast <Item *> (inf.grob_l_))
{
- if (item_l->empty_b (X_AXIS) || item_l->parent_l (X_AXIS))
+ if (item_l->empty_b (X_AXIS) || item_l->get_parent (X_AXIS))
return;
SCM bp=item_l->get_grob_property ("breakable");
if (s != SCM_BOOL_F)
{
- Grob *e = unsmob_grob (gh_cdr (s));
+ Grob *e = unsmob_grob (ly_cdr (s));
group = dynamic_cast<Item*> (e);
}
else
Axis_group_interface::add_element (group, item_l);
}
}
+ENTER_DESCRIPTION(Break_align_engraver,
+/* descr */ "Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder",
+/* creats*/ "BreakAlignment BreakAlignGroup LeftEdge",
+/* acks */ "grob-interface", // break-aligned-interface ?
+/* reads */ "breakAlignOrder",
+/* write */ "");