]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/bar-line.cc
Docs: AU 3.4: Improve convert-ly usage
[lilypond.git] / lily / bar-line.cc
index cc1d61adcbb5b80fd81dda6b53495baa11d18fd0..c9d9159a4cfff26591f12404053947c623ef6cba 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2009 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)
@@ -334,15 +354,17 @@ ADD_INTERFACE (Bar_line,
               "\n"
               "Print a special bar symbol.  It replaces the regular bar"
               " symbol with a special symbol.  The argument @var{bartype}"
-              " is a string which specifies the kind of bar to print."
-              "  Options are @code{:|}, @code{|:}, @code{:|:}, @code{||},"
-              " @code{|.}, @code{.|}, @code{.|.}, @code{:} and"
-              " @code{dashed}.\n"
+              " 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"
               "\n"
               "These produce, respectively, a right repeat, a left repeat,"
-              " a double repeat, a double bar, a start bar, an end bar,"
-              " a thick double bar, a dotted bar and a dashed bar. "
-              " In addition, there is an option"
+              " 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"
               " @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"