]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/line-of-score.hh
release: 1.2.9
[lilypond.git] / lily / include / line-of-score.hh
1 /*
2   line-of-score.hh -- part of GNU LilyPond
3
4   (c) 1996--1999 Han-Wen Nienhuys
5 */
6
7 #ifndef SCORELINE_HH
8 #define SCORELINE_HH
9
10 #include "column-x-positions.hh"
11 #include "axis-group-spanner.hh"
12 #include "super-element.hh"
13
14 /// the columns of a score that form one line.
15 class Line_of_score : public Axis_group_spanner, public Super_element
16 {
17 public:
18   Link_array<Paper_column> cols_;
19   int rank_i_;
20   
21   Line_of_score();
22     
23   /// is #c# contained in #*this#?
24   bool contains_b (Paper_column const *c) const;
25     
26   Line_of_score * set_breaking (Array<Column_x_positions> const&, int j);
27   static int compare (Line_of_score* const &,Line_of_score* const &);
28
29   void output_all (bool last_line);
30   void add_column (Paper_column*);
31   
32 protected:
33   virtual void do_substitute_element_pointer (Score_element*, Score_element*);
34   virtual Link_array<Score_element> get_extra_dependencies () const;
35   virtual void do_print() const;
36   VIRTUAL_COPY_CONS(Score_element);
37 };
38
39 #endif
40