/*
- ledger-line-spanner.cc -- implement Ledger_line_spanner
+ This file is part of LilyPond, the GNU music typesetter.
- source file of the GNU LilyPond music typesetter
+ Copyright (C) 2004--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
- (c) 2004--2006 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
+ 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 <http://www.gnu.org/licenses/>.
*/
#include <map>
Interval x_extent,
Real left_shorten);
- DECLARE_GROB_INTERFACE();
+ DECLARE_GROB_INTERFACE ();
};
Stencil
{
int line_count = (staff_extent.contains (pos)
? 0
- : sign (pos) * int (rint(pos - staff_extent[Direction (sign (pos))])) / 2);
+ : sign (pos) * int (rint (pos - staff_extent[Direction (sign (pos))])) / 2);
Stencil stencil;
if (line_count)
{
Item *h = dynamic_cast<Item *> (heads[i]);
int pos = Staff_symbol_referencer::get_rounded_position (h);
- if (!staff_extent.contains (pos - sign (pos)))
+ if (!staff_extent.contains (pos - sign (pos)) && !staff_extent.is_empty ())
{
Interval head_size = h->extent (common[X_AXIS], X_AXIS);
Interval ledger_size = head_size;
}
ADD_INTERFACE (Ledger_line_spanner,
-
- "This spanner draws the ledger lines of a staff.\n"
- "This is a separate grob because it has to process\n"
- "all potential collisions between all note heads.",
+ "This spanner draws the ledger lines of a staff. This is a"
+ " separate grob because it has to process all potential"
+ " collisions between all note heads.",
/* properties */
"gap "
struct Ledgered_interface
{
- DECLARE_GROB_INTERFACE();
+ DECLARE_GROB_INTERFACE ();
};
ADD_INTERFACE (Ledgered_interface,
+ "Objects that need ledger lines, typically note heads. See"
+ " also @ref{ledger-line-spanner-interface}.",
- "Objects that need ledger lines, typically "
- "note heads. See also @ref{ledger-line-spanner-interface}.",
-
- "no-ledgers");
+ /* properties */
+ "no-ledgers "
+ );