--- /dev/null
+
+\header { texidoc = "A ticked bar line is a short line of the same length as a
+ staff space, centered on the top-most barline." }
+
+\version "2.11.65"
+
+\paper { ragged-right = ##t }
+
+\relative \new StaffGroup <<
+ \new Staff {
+ c4 \bar "'" c }
+ \new Staff {
+ c c
+ }
+>>
+
{
m = dashed_bar_line (me, h, hair);
}
+ else if (str == "'")
+ {
+ m = tick_bar_line (me, hair, h, rounded);
+ }
else if (str == ".")
{
m = dot;
Interval (-h / 2, h / 2)), blot);
}
+Stencil
+Bar_line::tick_bar_line (Grob *me, Real w, Real h, bool rounded)
+{
+ Real th = Staff_symbol_referencer::staff_space (me) / 2;
+ Real line_thick = Staff_symbol_referencer::line_thickness (me);
+
+ Real blot
+ = rounded
+ ? me->layout ()->get_dimension (ly_symbol2scm ("blot-diameter"))
+ : 0.0;
+
+ return Lookup::round_filled_box (Box (Interval (0, line_thick),
+ Interval (h / 2 - th, h / 2 + th)), blot);
+}
+
+
MAKE_SCHEME_CALLBACK (Bar_line, calc_bar_size, 1);
SCM
Bar_line::calc_bar_size (SCM smob)
DECLARE_GROB_INTERFACE();
static Stencil dashed_bar_line (Grob *me, Real h, Real thick);
+ static Stencil tick_bar_line (Grob *me, Real w, Real h, bool rounded);
static Stencil compound_barline (Grob *, string, Real height, bool rounded);
static Stencil simple_barline (Grob *, Real wid, Real height, bool rounded);
static Interval bar_y_extent (Grob *, Grob *);