]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/staff-elem-info.hh
2d58add6fb4de6f580eb66667c7e7ae479c85b42
[lilypond.git] / lily / include / staff-elem-info.hh
1 /*
2   staff-elem-info.hh -- declare Staff_elem_info
3
4   source file of the LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef STAFFELEMINFO_HH
11 #define STAFFELEMINFO_HH
12
13 #include "proto.hh"
14 #include "varray.hh"
15
16 /// data container.
17 struct Staff_elem_info {
18     Staff_elem * elem_p_;
19     Request*req_l_;
20     Voice const * voice_l_;
21     Array<Request_register*> origin_reg_l_arr_;
22
23     /* *** */
24     Staff_elem_info(Staff_elem*, Request*);
25     Staff_elem_info();
26 };
27
28 /// struct to pass staff info along a Request_register hierarchy.
29 struct Staff_info {
30     int *c0_position_i_;
31     Staff_walker *walk_l_;
32
33     /// when is now?
34     Time_description const *time_C_;
35     Rhythmic_grouping const *rhythmic_C_;
36     bool break_allowed_b_;
37 };
38
39
40 struct Features {
41     bool initialiser_b_;
42     int direction_i_;
43     
44     Features();
45     static Features dir(int);
46 };
47 #endif // STAFFELEMINFO_HH