]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/spanner.hh
patch::: 1.3.8.uu1
[lilypond.git] / lily / include / spanner.hh
index 09e37a8962406818f8e729abfcc61afe9a287f8f..339280466640b8b7953bac84660047402faedd68 100644 (file)
@@ -1,7 +1,7 @@
 /*
   spanner.hh -- part of GNU LilyPond
 
-  (c) 1996--1998 Han-Wen Nienhuys
+  (c) 1996--1999 Han-Wen Nienhuys
 */
 
 #ifndef SPANNER_HH
@@ -12,6 +12,8 @@
 #include "drul-array.hh"
 #include "rod.hh"
 
+
+class Axis_group_spanner;
 /** A symbol which is attached between two columns. A spanner is a
   symbol which spans across several columns, so its final appearance
   can only be calculated after the breaking problem is solved.
 class Spanner : public virtual Score_element {
 public:
   Drul_array<Item*> spanned_drul_;
+  Link_array<Spanner> broken_into_l_arr_;
   void set_bounds (Direction d, Item*);
 
   
   Spanner ();
   Spanner (Spanner const &);
   bool broken_b () const;
+
+  static int compare (Spanner * const &,Spanner * const &);
   virtual Array<Rod> get_rods () const;
-  Spanner* find_broken_piece (Line_of_score*) const;
+  virtual Array<Spring> get_springs () const;  
+  virtual Score_element* find_broken_piece (Line_of_score*) const;
 protected:
   void set_my_columns ();
   VIRTUAL_COPY_CONS(Score_element);
@@ -51,14 +57,12 @@ protected:
     this is virtual; for instance, Line_of_score overrides it.
     */
   virtual void break_into_pieces ();
+  Real get_broken_left_end_align () const;
 
-  Link_array<Spanner> broken_into_l_arr_;
-  Spanner * unbroken_original_l_;
+  friend Axis_group_spanner; // UGH
 
-  virtual void do_unlink ();
-  virtual void do_junk_links ();
-  virtual void output_processing ();
   virtual void do_space_processing ();
+  void handle_broken_dependents ();
   virtual void do_break_processing ();
   virtual Interval do_width () const;
   virtual void do_print () const;