X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fvolta-bracket.cc;h=6877a1a2eb05f7046eb04bf55b34652760524788;hb=e90f0536f9be39ada0bef0aeb0d275dec3b2fb5b;hp=e1d3fa8a4ad5565fd7cac78bff1029340164f1fa;hpb=566d4aa89192eedd7930b3dda8e69900270c289e;p=lilypond.git diff --git a/lily/volta-bracket.cc b/lily/volta-bracket.cc index e1d3fa8a4a..6877a1a2eb 100644 --- a/lily/volta-bracket.cc +++ b/lily/volta-bracket.cc @@ -1,9 +1,20 @@ /* - volta-bracket.cc -- implement Volta_bracket_interface + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2011 Jan Nieuwenhuizen - (c) 1997--2007 Jan Nieuwenhuizen + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include @@ -46,14 +57,17 @@ Volta_bracket_interface::print (SCM smob) Item *bound = dynamic_cast (me)->get_bound (LEFT); /* - not a start, but really broken in two + If the volta bracket appears after a line-break, make + it start after the prefatory matter. */ Real left = 0.; if (bound->break_status_dir () == RIGHT) { Paper_column *pc = bound->get_column (); - left = pc->extent (pc, X_AXIS)[RIGHT] - - bound->relative_coordinate (pc, X_AXIS); + left = pc->break_align_width (pc, ly_symbol2scm ("break-alignment"))[RIGHT] + // For some reason, break_align_width is relative to + // the x-parent of the column. + - bound->relative_coordinate (pc->get_parent (X_AXIS), X_AXIS); } else { @@ -132,6 +146,8 @@ Volta_bracket_interface::modify_edge_height (Spanner *me) && str != "|:" && str != "|." && str != ":|:" + && str != ":|.|:" + && str != ":|.:" && str != ".|"); if (no_vertical_end || no_vertical_start) @@ -160,10 +176,11 @@ Volta_bracket_interface::add_bar (Grob *me, Item *b) } ADD_INTERFACE (Volta_bracket_interface, - "Volta bracket with number", + "Volta bracket with number.", /* properties */ "bars " "thickness " - "height"); + "height " + );