X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbar-line.cc;h=0cd0339235b41c307459670210ea35c27f69d66d;hb=338b1a48ec8b2fb282ffb46fc96c00dcfaa15620;hp=e256e8fe55f16ceb8626bc134b08c0ef3c5f8e43;hpb=b92ea16ef75d8aaa7bdb9f492b58d7af906e7945;p=lilypond.git diff --git a/lily/bar-line.cc b/lily/bar-line.cc index e256e8fe55..0cd0339235 100644 --- a/lily/bar-line.cc +++ b/lily/bar-line.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2011 Han-Wen Nienhuys + Copyright (C) 1997--2012 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -46,9 +46,9 @@ Bar_line::calc_bar_extent (SCM smob) */ SCM bar_line_color = me->get_property ("color"); SCM staff_color = staff->get_property ("color"); - if (bar_line_color == staff_color) - result *= (1 - 0.5 * (Staff_symbol_referencer::line_thickness (me) / - Staff_symbol_referencer::staff_radius (me))); + Real radius = Staff_symbol_referencer::staff_radius (me); + if (bar_line_color == staff_color && radius) + result *= (1 - 0.5 * (Staff_symbol_referencer::line_thickness (me) / radius)); } return ly_interval2scm (result); } @@ -286,7 +286,12 @@ Bar_line::compound_barline (Grob *me, string str, Interval const &extent, m = dashed_bar_line (me, extent, hair); else if (str == "'") m = tick_bar_line (me, extent.at (UP), rounded); - + else if (str == "kievan") + { + me->set_property ("layer", scm_from_int (1)); + m.add_stencil (Font_interface::get_default_font (me)->find_by_name ("scripts.barline.kievan")); + m = *unsmob_stencil (scm_call_1 (ly_lily_module_constant ("stencil-whiteout"), m.smobbed_copy ())); + } return m; } @@ -467,6 +472,7 @@ ADD_INTERFACE (Bar_line, "kern " "thin-kern " "hair-thickness " + "has-span-bar " "thick-thickness " "glyph " "glyph-name "