]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/g-staff-side.hh
patch::: 1.1.37.script1
[lilypond.git] / lily / include / g-staff-side.hh
1 /*   
2   g-staff-side.hh -- declare G_staff_side_item
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #ifndef G_STAFF_SIDE_HH
11 #define G_STAFF_SIDE_HH
12
13 #include "item.hh"
14 #include "staff-symbol-referencer.hh"
15
16 /**
17    Position myself next to a set of elements.  Configurable in axis
18    and direction.
19
20   Properties:
21
22     padding :: Real
23
24     Amount of extra space to add.
25 */
26 class G_staff_side_item : public Item, public Staff_symbol_referencer
27 {
28   void position_self ();
29 public:
30
31   Score_element * to_position_l_;
32   Direction dir_;
33   Link_array<Score_element> support_l_arr_;
34   Axis axis_;
35
36   bool staff_support_b_;
37   
38   G_staff_side_item ();
39   void set_victim (Score_element*);
40   void add_support (Score_element*);
41
42   VIRTUAL_COPY_CONS(Score_element);
43   virtual Direction get_default_direction () const;
44 protected:
45   virtual void do_add_processing ();
46   virtual void do_substitute_element_pointer (Score_element*,Score_element*);
47   virtual void do_pre_processing ();
48   virtual void do_post_processing ();
49 };
50
51 #endif /* G_STAFF_SIDE_HH */
52