-/* Call list of y-dy-callbacks, that handle setting of
- grob-properties
-*/
-MAKE_SCHEME_CALLBACK (Beam, after_line_breaking, 1);
-SCM
-Beam::after_line_breaking (SCM smob)
-{
- Grob *me = unsmob_grob (smob);
-
- position_beam (me);
- return SCM_UNSPECIFIED;
-}
-
-void
-Beam::position_beam (Grob *me)
-{
- if (!me->is_live ())
- return;
- if (to_boolean (me->get_property ("positioning-done")))
- return;
-
- me->set_property ("positioning-done", SCM_BOOL_T);
-
- /* Copy to mutable list. */
- SCM s = ly_deep_copy (me->get_property ("positions"));
- me->set_property ("positions", s);
-
- if (scm_car (s) == SCM_BOOL_F)
- {
- // one wonders if such genericity is necessary --hwn.
- SCM callbacks = me->get_property ("position-callbacks");
- for (SCM i = callbacks; scm_is_pair (i); i = scm_cdr (i))
- scm_call_1 (scm_car (i), me->self_scm ());
- }