]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/spanner.hh
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / include / spanner.hh
index 6c0fc1cbed436b0a4bebb5dcefc381663033df00..c64c61d6364a1f664b8a8fe334b1a32e1586636c 100644 (file)
@@ -1,7 +1,7 @@
 /*
   spanner.hh -- part of GNU LilyPond
 
-  (c) 1996--2005 Han-Wen Nienhuys
+  (c) 1996--2006 Han-Wen Nienhuys
 */
 
 #ifndef SPANNER_HH
 class Spanner : public Grob
 {
   Drul_array<Item *> spanned_drul_;
-  int break_index_;
+  vsize break_index_;
+
+  DECLARE_CLASSNAME(Spanner);
 
 public:
   DECLARE_SCHEME_CALLBACK (set_spacing_rods, (SCM));
 
-  Link_array<Spanner> broken_intos_;
+  vector<Spanner*> broken_intos_;
+
+  vsize get_break_index () const;
 
-  int get_break_index () const;
   // todo: move to somewhere else.
   Real get_broken_left_end_align () const;
   void substitute_one_mutable_property (SCM sym, SCM val);
-  bool fast_fubstitute_grob_list (SCM sym, SCM grob_list);
+  bool fast_substitute_grob_array (SCM sym, Grob_array *);
+
   // TODO: make virtual and do this for Items as well.
   Interval_t<int> spanned_rank_iv ();
   void set_bound (Direction d, Grob *);
@@ -54,7 +58,7 @@ public:
 
   static int compare (Spanner *const &, Spanner *const &);
   virtual Grob *find_broken_piece (System *) const;
-  virtual SCM do_derived_mark () const;
+  virtual void derived_mark () const;
   static bool has_interface (Grob *);
   virtual System *get_system () const;