]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/bar-line.cc
Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / lily / bar-line.cc
index df97638dba6b9faa9f43e95d1780454e35d0a5c7..f13d8697c3621eb4a9e4b59a677767d5367b298c 100644 (file)
@@ -198,6 +198,10 @@ Bar_line::compound_barline (Grob *me, string str, Real h,
     {
       m = dashed_bar_line (me, h, hair);
     }
+  else if (str == "'")
+    {
+      m = tick_bar_line (me, h, rounded);
+    }
   else if (str == ".")
     {
       m = dot;
@@ -222,6 +226,22 @@ Bar_line::simple_barline (Grob *me,
                                        Interval (-h / 2, h / 2)), blot);
 }
 
+Stencil
+Bar_line::tick_bar_line (Grob *me, 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)