]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/ligature-engraver.hh
Issue 5167/6: Changes: show \markup xxx = ... \etc assignments
[lilypond.git] / lily / include / ligature-engraver.hh
index f74cf6b6cedfcc2c7ac42a341f45ff442468b6f3..6e117a2ea3f244f7531634442a95091b8637a66c 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  ligature-engraver.hh -- declare Ligature_engraver
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 2002--2015 Juergen Reuter <reuter@ipd.uka.de>
 
-  (c) 2002--2008 Juergen Reuter <reuter@ipd.uka.de>
+  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/>.
 */
 
 #ifndef LIGATURE_ENGRAVER_HH
 class Ligature_engraver : public Engraver
 {
 protected:
-  Ligature_engraver ();
+  Ligature_engraver (Context *c);
   void stop_translation_timestep ();
   virtual void finalize ();
 
-  DECLARE_ACKNOWLEDGER (rest);
-  DECLARE_ACKNOWLEDGER (note_head);
-  virtual void listen_ligature (Stream_event *ev);
+  void acknowledge_rest (Grob_info);
+  void acknowledge_ligature_head (Grob_info);
+  void listen_ligature (Stream_event *ev);
   void process_music ();
   virtual Spanner *create_ligature_spanner () = 0;
   virtual void typeset_ligature (Spanner *ligature,
-                                vector<Grob_info> primitives) = 0;
+                                 vector<Grob_info> const &primitives) = 0;
   virtual Spanner *current_ligature ();
   SCM brew_ligature_primitive_proc;
 
 public:
   // no TRANSLATOR_DECLARATIONS (Ligature_engraver) needed since this
   // class is abstract
+  DECLARE_TRANSLATOR_CALLBACKS (Ligature_engraver);
 
 private:
   Drul_array<Stream_event *> events_drul_;