source file of the GNU LilyPond music typesetter
- (c) 2004--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include <map>
using namespace std;
-#include "item.hh"
#include "note-head.hh"
#include "staff-symbol-referencer.hh"
#include "staff-symbol.hh"
Interval x_extent,
Real left_shorten);
- static bool has_interface (Grob *);
+ 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)
{
// find size of note heads.
Grob *staff = Staff_symbol_referencer::get_staff_symbol (me);
if (!staff)
- return SCM_EOL;
+ {
+ me->suicide ();
+ return SCM_EOL;
+ }
Real min_length_fraction
= robust_scm2double (me->get_property ("minimum-length-fraction"), 0.15);
}
ADD_INTERFACE (Ledger_line_spanner,
- "ledger-line-interface",
-
- "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 "
+ "length-fraction "
+ "minimum-length-fraction "
"note-heads "
"thickness "
- "minimum-length-fraction "
- "length-fraction "
- "gap");
+ );
struct Ledgered_interface
{
- static bool has_interface (Grob *);
+ DECLARE_GROB_INTERFACE ();
};
ADD_INTERFACE (Ledgered_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-interface}.",
-
- "no-ledgers");
+ /* properties */
+ "no-ledgers "
+ );