]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/scoreline.hh
release: 0.1.61
[lilypond.git] / lily / include / scoreline.hh
1 /*
2   scoreline.hh -- part of GNU LilyPond
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef SCORELINE_HH
8 #define SCORELINE_HH
9
10 #include "colhpos.hh"
11 #include "spanner.hh"
12
13 /// the columns of a score that form one line.
14 class Line_of_score : public Spanner 
15 {
16 public:
17   Link_array<Paper_column> cols;
18   bool error_mark_b_;
19
20   DECLARE_MY_RUNTIME_TYPEINFO;
21   Line_of_score();
22     
23   void add (Score_elem *);
24
25   /// is #c# contained in #*this#?
26   bool contains_b (Paper_column const *c) const;
27     
28   Link_array<Line_of_score> get_lines() const;
29   void set_breaking (Array<Col_hpositions> const&);
30
31 protected:
32   virtual Link_array<Score_elem> get_extra_dependencies () const;
33
34   virtual void do_unlink ();
35   virtual void do_junk_links ();
36   virtual void break_into_pieces (bool);
37   virtual Interval do_width() const;
38   virtual void do_print() const;
39   SCORE_ELEM_CLONE(Line_of_score);
40 };
41
42 #endif
43