]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/staff-side.hh
release: 0.0.55
[lilypond.git] / lily / include / staff-side.hh
1 /*
2   staff-side.hh -- declare Staff_side
3
4   source file of the LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef STAFF_SIDE_HH
11 #define STAFF_SIDE_HH
12
13 #include "staff-elem.hh"
14
15 /// A symbol which sits along  the staff
16 class Staff_side  {
17     Array<Staff_elem*> support_l_arr_;
18     int staff_size_i_;
19     Staff_elem * elem_l_;
20     Interval support_height()const;
21     Staff_symbol* staff_sym_l_;
22     void read_staff_sym();
23 public:
24     Real inter_f_;
25     /**
26       Vertical dir of symbol relative to staff. -1 = below staff?
27       */
28     int dir_i_;
29     
30     /// follow the support inside the staff?
31     bool inside_staff_b_;
32
33     void set_staffsym(Staff_symbol*);
34   
35     Staff_side(Staff_elem*);
36     void add_support(Staff_elem*);
37     
38 protected:
39     int get_position_i()const;
40     int get_position_i(Interval)const;
41 };
42 #endif // STAFF_SIDE_HH