]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/rest.cc
Issue 3796: Doc: Bump version number
[lilypond.git] / lily / rest.cc
index 4a46b7312aa8feab0946a83fa6ad17552a8601e6..2dbb2c9f9b3d465d135f65a376fce240cb709c36 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -159,13 +159,14 @@ Rest::calc_cross_staff (SCM smob)
   make this function easily usable in C++
 */
 string
-Rest::glyph_name (Grob *me, int durlog, string style, bool try_ledgers)
+Rest::glyph_name (Grob *me, int durlog, const string &style, bool try_ledgers,
+                  Real offset)
 {
   bool is_ledgered = false;
   if (try_ledgers && (durlog == -1 || durlog == 0 || durlog == 1))
     {
-      int const pos = int (Staff_symbol_referencer::get_position (me));
-
+      int const pos = int (Staff_symbol_referencer::get_position (me)
+                           + offset);
       /*
         half rests need ledger if not lying on a staff line,
         whole rests need ledger if not hanging from a staff line,
@@ -216,7 +217,7 @@ Rest::glyph_name (Grob *me, int durlog, string style, bool try_ledgers)
       actual_style = "";
     }
 
-  return ("rests." + to_string (durlog) + (is_ledgered ? "o" : "")
+  return ("rests." + ::to_string (durlog) + (is_ledgered ? "o" : "")
           + actual_style);
 }
 
@@ -233,7 +234,7 @@ Rest::brew_internal_stencil (Grob *me, bool ledgered)
   string style = robust_symbol2string (me->get_property ("style"), "default");
 
   Font_metric *fm = Font_interface::get_default_font (me);
-  string font_char = glyph_name (me, durlog, style, ledgered);
+  string font_char = glyph_name (me, durlog, style, ledgered, 0.0);
   Stencil out = fm->find_by_name (font_char);
   if (out.is_empty ())
     me->warning (_f ("rest `%s' not found", font_char.c_str ()));