source file of the GNU LilyPond music typesetter
- (c) 2002--2003 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
*/
+
#include "ligature-engraver.hh"
#include "note-column.hh"
#include "tuplet-bracket.hh"
#include "spanner.hh"
-#include "warn.hh"
+/*
+ * This engraver marks ligatures of any kind by just printing a
+ * horizontal square bracket on top of each ligature. See class
+ * Ligature_engraver for more information on the interaction between
+ * this class and its superclass.
+ */
class Ligature_bracket_engraver : public Ligature_engraver
{
protected:
virtual Spanner *create_ligature_spanner ();
virtual void acknowledge_grob (Grob_info);
- virtual void typeset_ligature (Spanner *ligature, Array<Grob_info>);
-
public:
- TRANSLATOR_DECLARATIONS(Ligature_bracket_engraver);
-
-private:
- void typeset_ligature_bracket ();
+ TRANSLATOR_DECLARATIONS (Ligature_bracket_engraver);
};
Spanner *
Ligature_bracket_engraver::create_ligature_spanner ()
{
- return new Spanner (get_property ("LigatureBracket"));
+ return make_spanner ("LigatureBracket", SCM_EOL);
}
-void
-Ligature_bracket_engraver::typeset_ligature (Spanner *ligature, Array<Grob_info>)
-{
- typeset_grob (ligature);
-}
void
Ligature_bracket_engraver::acknowledge_grob (Grob_info info)
}
}
-ENTER_DESCRIPTION(Ligature_bracket_engraver,
+ADD_TRANSLATOR (Ligature_bracket_engraver,
/* descr */ "Handles Ligature_events by engraving Ligature brackets.",
/* creats*/ "TupletBracket",
-/* accepts */ "ligature-event abort-event",
-/* acks */ "ligature-head-interface rest-interface note-column-interface",
+/* accepts */ "ligature-event",
+/* acks */ "rest-interface note-column-interface",
/* reads */ "",
/* write */ "");