Interval staff;
if (Grob *st = Staff_symbol_referencer::get_staff_symbol (me))
- staff = st->extent (commony, Y_AXIS);
-
+ {
+ staff = st->extent (commony, Y_AXIS);
+ Real pad = robust_scm2double (me->get_property ("staff-padding"), 0.5);
+ staff.widen (pad);
+ }
+
Direction dir = get_grob_direction (me);
/*
Real x0 = robust_relative_extent (lgr, commonx, X_AXIS)[LEFT];
Real x1 = robust_relative_extent (rgr, commonx, X_AXIS)[RIGHT];
- /*
- offset
- */
- Real factor = columns.size () > 1 ? 1 / (x1 - x0) : 1.0;
-
Array<Offset> points;
- points.push (Offset (x0, staff[dir]));
- points.push (Offset (x1, staff[dir]));
+ points.push (Offset (x0 - x0, staff[dir]));
+ points.push (Offset (x1 - x0, staff[dir]));
for (int i = 0; i < columns.size (); i++)
{
while (flip (&d) != LEFT);
}
+ Real factor = (columns.size () > 1) ? 1 / (x1 - x0) : 1.0;
for (int i = 0; i < points.size (); i++)
{
Real x = points[i][X_AXIS];
- Real tuplety = *dy * x * factor;
+ Real tuplety = (*dy) * x * factor;
if (points[i][Y_AXIS] * dir > (*offset + tuplety) * dir)
- *offset = points[i][Y_AXIS] - tuplety * sign (*dy) * dir;
+ *offset = points[i][Y_AXIS] - tuplety;
}
*offset += scm_to_double (me->get_property ("padding")) * dir;
"At a line break, the markups in the @code{edge-text} are printed "
"at the edges. ",
- "note-columns bracket-flare edge-height shorten-pair "
- "tuplets edge-text break-overshoot "
- "padding left-position right-position bracket-visibility "
- "number-visibility thickness direction");
+
+ "bracket-flare "
+ "bracket-visibility "
+ "break-overshoot "
+ "direction "
+ "edge-height "
+ "edge-text "
+ "left-position "
+ "note-columns "
+ "number-visibility "
+ "padding "
+ "right-position "
+ "shorten-pair "
+ "staff-padding "
+ "thickness "
+ "tuplets ");