lilypond-0.0.27
[lilypond.git] / hdr / complexstaff.hh
blob4413add60e04fb25e096e87bd53ad4f2162bb67b
1 /*
2 complexstaff.hh -- part of LilyPond
4 (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
5 */
7 #ifndef COMPLEXSTAF_HH
8 #define COMPLEXSTAF_HH
11 #include "key.hh"
12 #include "stcol.hh"
13 #include "staff.hh"
14 #include "staffwalker.hh"
16 /// column of Complex_staff: store one request
17 struct Complex_column : Staff_column {
19 Array<Request*> todo_l_arr_;
20 Complex_staff* staff_l_;
22 /****************/
24 Slur_req *find_slur(Voice *);
26 void typeset_item(Item *, int=1);
27 void typeset_item_directional(Item *, int dir, int=1);
28 Molecule *create_command_mol(Command *com);
30 void take_request(Request *rq);
31 virtual void setup_requests();
33 Complex_column(Score_column*s,Complex_staff*rs);
37 /// Complex staff: one voicegroup at a time
38 struct Complex_staff : Staff {
39 /// indirection to the PStaff.
40 PStaff *theline_l_;
42 /****************/
43 Staff_column*create_col(Score_column*);
44 virtual Item *get_TYPESET_item(Command*);
45 virtual void set_output(PScore *);
46 void process_commands( PCursor<Command*> &where);
47 virtual void walk();
49 Complex_staff();
52 #endif // COMPLEXSTAF_HH