]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-reg.hh
release: 0.0.68pre
[lilypond.git] / lily / include / score-reg.hh
1 /*
2   score-reg.hh -- declare Score_register
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef SCORE_REG_HH
11 #define SCORE_REG_HH
12
13 #include "register-group.hh"
14 #include "pqueue.hh"
15
16 class Score_register : public Register_group_register {
17     Line_of_score * scoreline_l_;
18     Score * score_l_;
19     
20     Array<Item*> nobreak_item_p_arr_;
21     Link_array<Score_elem> musical_item_p_arr_;
22     
23     Score_column* command_column_l_;
24     Score_column* musical_column_l_;
25     
26     friend class Score;
27     void set_cols(Score_column*,Score_column*);
28     void typeset_all();
29     
30     PQueue<Moment> extra_mom_pq_;
31     Moment last_mom_;
32 public:
33     NAME_MEMBERS();
34
35     void add_moment_to_process(Moment);
36     Score_register();
37     int depth_i() const;
38 protected:   
39     void set_score(Score * score_l);
40     
41
42     virtual Staff_info get_staff_info()const;
43     virtual bool do_try_request(Request*);
44     virtual void do_creation_processing();
45     virtual void do_removal_processing();
46     virtual void announce_element(Score_elem_info);
47     virtual void typeset_breakable_item(Item * nobreak_p);
48     virtual void do_announces();
49     virtual void typeset_element(Score_elem*elem_p);
50     virtual Paper_def * paper() const;
51     virtual void do_pre_move_processing();
52     
53 };
54
55 #endif // SCORE_REG_HH