-Dot_column::force_shift_callback (SCM element_smob, SCM axis)
-{
- Grob *me = unsmob_grob (element_smob);
- Axis a = (Axis) ly_scm2int (axis);
- assert (a == Y_AXIS);
- me = me->get_parent (X_AXIS);
-
- if (!to_boolean (me->get_property ("positioning-done")))
- {
- me->set_property ("positioning-done", SCM_BOOL_T);
-
- do_shifts (me);
- }
- return scm_make_real (0.0);
-}
-
-MAKE_SCHEME_CALLBACK (Dot_column,side_position, 2);
-SCM
-Dot_column::side_position (SCM element_smob, SCM axis)
-{
- Grob *me = unsmob_grob (element_smob);
- Axis a = (Axis) ly_scm2int (axis);
- assert (a == X_AXIS);
-
- Grob * stem = unsmob_grob (me->get_property ("stem"));
- if (stem
- && !Stem::get_beam (stem)
- && Stem::duration_log (stem) > 2
- && !Stem::is_invisible (stem)
- )
- {
- /*
- trigger stem end & direction calculation.
-
- This will add the stem to the support if a flag collision happens.
- */
- Stem::stem_end_position (stem);
- }
- return Side_position_interface::aligned_side (element_smob, axis);
-}
-
-
-
-struct Dot_position