/*
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
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,
actual_style = "";
}
- return ("rests." + to_string (durlog) + (is_ledgered ? "o" : "")
+ return ("rests." + ::to_string (durlog) + (is_ledgered ? "o" : "")
+ actual_style);
}
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 ()));