]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/ligature-engraver.hh
* Another grand 2003 update.
[lilypond.git] / lily / include / ligature-engraver.hh
index 975d0d2f9baa5190f7d49e5f11034040abaf2b6e..137d94688ccdb487f89973e603bf4a7627775164 100644 (file)
@@ -3,11 +3,11 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 2002 Juergen Reuter <reuter@ipd.uka.de>
+  (c)  2002--2003 Juergen Reuter <reuter@ipd.uka.de>
   
  */
-#ifndef LIGATUREENGRAVER_HH
-#define LIGATUREEENGRAVER_HH
+#ifndef LIGATURE_ENGRAVER_HH
+#define LIGATURE_ENGRAVER_HH
 
 #include "engraver.hh"
 
@@ -21,26 +21,31 @@ protected:
   virtual void acknowledge_grob (Grob_info);
   virtual bool try_music (Music*);
   virtual void process_music ();
-  virtual void try_stop_ligature ();
-  virtual Spanner *create_ligature_spanner ();
-
-  Spanner *finished_ligature_p_;
-  Spanner *ligature_p_;
+  virtual Spanner *create_ligature_spanner (); /* abstract method */
+  virtual void typeset_ligature (Spanner *ligature,
+                                Array<Grob_info> primitives); /* abstract method */
+  virtual Spanner *current_ligature ();
   SCM brew_ligature_primitive_proc;
 
 public:
   TRANSLATOR_DECLARATIONS(Ligature_engraver);
 
 private:
-  Drul_array<Span_req*> reqs_drul_;
+  Drul_array<Music*> reqs_drul_;
   
-  Span_req *prev_start_req_;
+  Spanner *ligature_;
+  Array<Grob_info> primitives_;
+
+  Spanner *finished_ligature_;
+  Array<Grob_info> finished_primitives_;
+
+  Music *prev_start_req_;
 
   // moment where ligature started.
   Moment ligature_start_mom_;
 
-  Grob *last_bound;
+  Grob *last_bound_;
 
 };
 
-#endif // ENGRAVERGROUP_HH
+#endif // LIGATURE_ENGRAVER_HH