+
+ if (Rhythmic_head::dot_count (current) > 0)
+ // Move dots above/behind the ligature.
+ {
+ if (i + 1 < primitives.size ())
+ // dot in the midst => move above head
+ {
+ // FIXME: Amount of vertical dot-shift should depend on
+ // pitch.
+ //
+ // FIXME: dot placement is horizontally slightly off.
+ Rhythmic_head::get_dots (current)->translate_axis (dot_shift, Y_AXIS);
+ }
+ else
+ // trailing dot => move behind head
+ {
+ double head_width =
+ scm_to_double (current->get_property ("head-width"));
+ Rhythmic_head::get_dots (current)->
+ translate_axis (head_width, X_AXIS);
+ }
+ }