]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/bar-line.cc
Add forgotten measure to horn concerto.
[lilypond.git] / lily / bar-line.cc
index a7a50a85317ef36b78d44931211b2cbb89ec6d3a..f13d8697c3621eb4a9e4b59a677767d5367b298c 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "bar-line.hh"
@@ -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)
@@ -337,14 +357,14 @@ ADD_INTERFACE (Bar_line,
               " is a string which specifies the kind of bar line to print."
               "  Options are @code{:|}, @code{|:}, @code{:|:}, @code{:|.|:},"
               " @code{:|.:}, @code{||}, @code{|.}, @code{.|}, @code{.|.},"
-              " @code{|.|}, @code{:} and @code{\"dashed\"}.\n"
+              " @code{|.|}, @code{:} and @code{dashed}.\n"
               "\n"
               "These produce, respectively, a right repeat, a left repeat,"
               " a thick double repeat, a thin-thick-thin double repeat,"
               " a thin-thick double repeat, a double bar, a start bar,"
               " an end bar, a thick double bar, a thin-thick-thin bar,"
-              " a dotted bar and a dashed bar. "
-              " In addition, there is an option"
+              " a dotted bar and a dashed bar."
+              "  In addition, there is an option"
               " @code{||:} which is equivalent to @code{|:} except at line"
               " breaks, where it produces a double bar (@code{||}) at the"
               " end of the line and a repeat sign (@code{|:}) at the"
@@ -367,5 +387,3 @@ ADD_INTERFACE (Bar_line,
               "bar-size "
               "bar-extent "
               );
-
-