2 grace-align-item.cc -- implement Grace_align_item
4 source file of the GNU LilyPond music typesetter
6 (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "grace-align-item.hh"
11 #include "align-interface.hh"
13 #include "paper-column.hh"
14 #include "paper-def.hh"
16 MAKE_SCHEME_CALLBACK (Grace_align_item,before_line_breaking,1);
18 Grace_align_item::before_line_breaking (SCM smob)
20 Grob*me = unsmob_grob (smob);
22 SCM space = me->get_grob_property ("horizontal-space");
23 me->set_grob_property ("threshold",
25 gh_double2scm (infinity_f)));
26 dynamic_cast<Item*> (me)->column_l ()->set_grob_property ("contains-grace", SCM_BOOL_T);
28 return SCM_UNSPECIFIED;
32 Grace_align_item::set_interface (Grob*me)
34 me->set_interface (ly_symbol2scm ("grace-align-interface"));
35 me->set_grob_property ("stacking-dir", gh_int2scm (RIGHT));
36 Align_interface::set_interface (me);
37 Align_interface::set_axis (me,X_AXIS);
43 Grace_align_item::has_interface (Grob*m)
45 return m&& m->has_interface (ly_symbol2scm ("grace-align-interface"));