]> git.donarmstrong.com Git - lilypond.git/blob - simplestaff.hh
release: 0.0.6
[lilypond.git] / simplestaff.hh
1 /*
2   simplestaff.hh -- part of LilyPond
3
4   (c) 1996 Han-Wen Nienhuys
5 */
6
7 #ifndef SIMPLESTAFF_HH
8 #define SIMPLESTAFF_HH
9
10 #include "stcol.hh"
11 #include "staff.hh"
12 /*
13    mega-stupido staffs and cols: they do notes one at each moment.   
14    */
15
16 struct Simple_staff;
17
18 /// column of Simple_staff: store one request
19 struct Simple_column : Staff_column {
20
21     Request *the_note;
22     Simple_staff* staff_;
23
24     /****************/
25     
26     virtual void typeset_req(Request *rq)=0;
27     virtual void typeset_command(Command *, int brs)=0;
28     virtual void typeset_item(Item *, int=1);
29
30     Item *create_command_item(Command *com);
31     Item *create_req_item(Request *rq);
32     void take_request(Request *rq);
33     
34     virtual void process_commands( );
35     virtual void process_requests();
36
37     Simple_column(Score_column*s,Simple_staff*rs);
38 };
39
40
41 /// Simple  staff: one note at a time
42 struct Simple_staff : Staff {
43     /// indirection to the PStaff.
44     PStaff *theline;
45
46     /****************/
47     virtual void set_output(PScore *);
48
49     void process_commands( PCursor<Command*> &where);
50     void grant_requests();
51 //    virtual Staff*clone()const;
52
53     Simple_staff();
54 };
55
56 #endif // SIMPLESTAFF_HH
57
58
59