]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/staff-side.hh
release: 0.1.54
[lilypond.git] / lily / include / staff-side.hh
1 /*
2   staff-side.hh -- declare Staff_side
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 STAFF_SIDE_HH
11 #define STAFF_SIDE_HH
12
13 #include "score-elem.hh"
14 #include "interval.hh"
15 #include "direction.hh"
16
17 /** A symbol which sits along a staff.
18
19   */
20 class Staff_side : virtual Score_elem
21 {
22 public:
23
24   /**
25     Vertical dir of symbol relative to staff. -1 = below staff?
26     */
27   Direction dir_;
28   Interval sym_int_;
29     
30   Real y_;
31
32
33   void set_staffsym (Staff_symbol * );
34   Staff_side ();
35   void add_support (Score_elem*);
36   DECLARE_MY_RUNTIME_TYPEINFO;
37     
38 protected:
39   virtual Interval symbol_height () const;
40   virtual Real get_position_f () const;
41   virtual void do_substitute_dependency (Score_elem *, Score_elem*);
42   virtual void do_post_processing ();
43   Interval support_height () const;
44
45 private:
46   Link_array<Score_elem> support_l_arr_;
47 //  Interval support_height () const;
48 };
49 #endif // STAFF_SIDE_HH