alist_chain));
Stencil elt = fm->find_by_name ("scripts.trill_element");
-
+ elt.align_to (Y_AXIS, CENTER);
Real elt_len = elt.extent (X_AXIS).length ();
if (elt_len <= 0.0)
{
}
while (len + elt_len < dz.length ());
- line.rotate (dz.arg (), Offset (0,0));
+ line.rotate (dz.arg (), Offset (LEFT, CENTER));
line.translate (from);
return line;
Real period = Staff_symbol_referencer::staff_space (me)
* robust_scm2double (me->get_property ("dash-period"), 1.0);
- if (period < 0)
+ if (period <= 0)
return Stencil ();
+ Real len = (to-from).length();
+
+ int n = (int) rint ((len - period * fraction) / period);
+ if (n > 0)
+ {
+ /*
+ TODO: figure out something intelligent for really short
+ sections.
+ */
+ period = ((to-from).length() - period * fraction) / n;
+ }
stil = make_dashed_line (thick, from, to, period, fraction);
}
else