#include "axis-group-interface.hh"
#include "group-interface.hh"
#include "grob.hh"
-#include "bar.hh"
+#include "bar-line.hh"
void
Span_bar::add_bar (Grob*me, Grob*b)
Interval l(prev_extent [UP],
ext[DOWN]);
- Molecule interbar
- = Bar::compound_barline (staff_bar, glyph_str, l.length());
- interbar.translate_axis (l.center (), Y_AXIS);
- span_bar_mol.add_molecule (interbar);
+ if (l.empty_b ())
+ {
+ /* there is overlap between the bar lines. We do nothign here.
+ */
+ }
+ else
+ {
+ Molecule interbar
+ = Bar_line::compound_barline (staff_bar, glyph_str, l.length());
+ interbar.translate_axis (l.center (), Y_AXIS);
+ span_bar_mol.add_molecule (interbar);
+ }
}
prev_extent = ext;
}
/*
urg.
*/
- Molecule m = Bar::compound_barline (se, gl, 40 PT);
+ Molecule m = Bar_line::compound_barline (se, gl, 40 PT);
return ly_interval2scm (m.extent (X_AXIS));
}
evaluate_glyph (unsmob_grob (smob));
/*
- no need to call Bar::before_line_breaking (), because the info
- in ELEMENTS already has been procced by Bar::before_line_breaking ().
+ no need to call Bar_line::before_line_breaking (), because the info
+ in ELEMENTS already has been procced by Bar_line::before_line_breaking ().
*/
return SCM_UNSPECIFIED;
}
Interval i (get_spanned_interval (me));
/*
- Bar::brew_molecule delivers a barline of y-extent (-h/2,h/2), so
+ Bar_line::brew_molecule delivers a barline of y-extent (-h/2,h/2), so
we have to translate ourselves to be in the center of the
interval that we span. */
if (i.empty_b ())
void
Span_bar::set_interface (Grob *me)
{
- Bar::set_interface (me);
+ Bar_line::set_interface (me);
me->set_interface (ly_symbol2scm ("span-bar-interface"));
me->set_extent_callback (SCM_EOL, Y_AXIS);