- Grob *common = me;
- for (SCM s = me->get_property ("stems"); scm_is_pair (s); s = scm_cdr (s))
- {
- Grob *stem = unsmob_grob (scm_car (s));
- common = common->common_refpoint (Staff_symbol_referencer::get_staff_symbol (stem),
- Y_AXIS);
- }
-
- Interval heads;
- Real my_y = me->relative_coordinate (common, Y_AXIS);
-
- for (SCM s = me->get_property ("stems"); scm_is_pair (s); s = scm_cdr (s))
- {
- Grob *stem = unsmob_grob (scm_car (s));
- Grob *ss = Staff_symbol_referencer::get_staff_symbol (stem);
- Interval iv = Stem::head_positions (stem);
- iv *= Staff_symbol::staff_space (ss) / 2.0;
- heads.unite (iv + ss->relative_coordinate (common, Y_AXIS) - my_y);
- }
-
- Real lt = me->get_layout ()->get_dimension (ly_symbol2scm ("linethickness"));