]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/system.hh
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / lily / include / system.hh
index 686dfb33ebe869747edd868402ea26753fb4e99a..e1a91bf4fa24fe5c8bc41690c1ff4ff13fa1abb9 100644 (file)
@@ -2,7 +2,7 @@
 /*
   line-of-score.hh -- part of GNU LilyPond
 
-  (c) 1996--2005 Han-Wen Nienhuys
+  (c) 1996--2006 Han-Wen Nienhuys
 */
 
 #ifndef SYSTEM_HH
@@ -10,7 +10,7 @@
 
 #include "column-x-positions.hh"
 #include "spanner.hh"
-#include "grob-array.hh"
+#include "skyline.hh"
 
 /*
   If you keep following offset reference points, you will always end
@@ -21,11 +21,14 @@ class System : public Spanner
 {
   int rank_;
   Grob_array *all_elements_;
+  Drul_array<Skyline> skylines_;
+  void build_skylines ();
   void init_elements ();
   friend class Paper_score;    // ugh.
   Paper_score *pscore_;        // ugh.
   
 public:
+  Paper_score *paper_score () const;
   int get_rank () const;
   void post_processing ();
   SCM get_paper_system ();
@@ -37,11 +40,11 @@ public:
   int element_count () const;
   int spanner_count () const;
 
-  void break_into_pieces (Array<Column_x_positions> const &);
-  static bool has_interface (Grob *);
+  void break_into_pieces (vector<Column_x_positions> const &);
+  DECLARE_GROB_INTERFACE();
 
-  Link_array<Item> broken_col_range (Item const *, Item const *) const;
-  Link_array<Grob> columns () const;
+  vector<Item*> broken_col_range (Item const *, Item const *) const;
+  vector<Grob*> columns () const;
 
   void add_column (Paper_column *);
   void typeset_grob (Grob *);