*/
#include "tuplet-bracket.hh"
+#include "axis-group-interface.hh"
#include "line-interface.hh"
#include "beam.hh"
#include "warn.hh"
Direction d = LEFT;
do
{
- x_span[d] = robust_relative_extent (bounds[d], commonx, X_AXIS)[d];
-
+ x_span[d] = bounds[d]->break_status_dir ()
+ ? Axis_group_interface::generic_bound_extent (bounds[d], commonx, X_AXIS)[d]
+ : robust_relative_extent (bounds[d], commonx, X_AXIS)[d];
if (connect_to_other[d])
{
Interval overshoot (robust_scm2drul (me->get_property ("break-overshoot"),
if (d == RIGHT)
x_span[d] += d * overshoot[d];
else
- x_span[d] = robust_relative_extent (bounds[d],
- commonx, X_AXIS)[RIGHT]
+ x_span[d] = (bounds[d]->break_status_dir ()
+ ? Axis_group_interface::generic_bound_extent (bounds[d], commonx, X_AXIS)[-d]
+ : robust_relative_extent (bounds[d], commonx, X_AXIS)[-d])
- overshoot[LEFT];
}
number->extent (commony, Y_AXIS)[dir]));
}
- if (to_boolean (me->get_property ("avoid-scripts")))
+ if (to_boolean (me->get_property ("avoid-scripts"))
+ && !scm_is_number (me->get_property ("outside-staff-priority")))
{
extract_grob_set (me, "scripts", scripts);
for (vsize i = 0; i < scripts.size (); i++)
{
if (!scripts[i]->is_live ())
continue;
+ if (scm_is_number (scripts[i]->get_property ("outside-staff-priority")))
+ continue;
Interval script_x (scripts[i]->extent (commonx, X_AXIS));
Interval script_y (scripts[i]->extent (commony, Y_AXIS));