2 staff-side.hh -- declare Staff_side_{element,spanner,item}
4 source file of the GNU LilyPond music typesetter
6 (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
16 #include "staff-symbol-referencer.hh"
19 Position myself next to a set of elements. Configurable in axis
26 Amount of extra space to add.
28 class Staff_side_element : public Staff_symbol_referencer
30 void position_self ();
33 Score_element * to_position_l_;
35 void set_direction (Direction d ) { dir_ = d; }
36 Direction get_direction () const { return dir_; }
39 Link_array<Score_element> support_l_arr_;
42 bool staff_support_b_;
44 Staff_side_element ();
45 void set_victim (Score_element*);
46 void add_support (Score_element*);
48 VIRTUAL_COPY_CONS(Score_element);
49 virtual Direction get_default_direction () const;
51 virtual Interval do_height () const;
52 virtual void do_print () const;
53 virtual void do_add_processing ();
54 virtual void do_substitute_element_pointer (Score_element*,Score_element*);
55 virtual void do_pre_processing ();
56 virtual void do_post_processing ();
59 class Staff_side_item : public Staff_side_element, public Item
62 VIRTUAL_COPY_CONS(Score_element);
64 virtual Interval do_width () const;
65 virtual void do_print () const;
68 class Staff_side_spanner : public Staff_side_element, public Spanner
71 VIRTUAL_COPY_CONS(Score_element);
73 virtual void do_print () const;
76 #endif /* STAFF_SIDE_HH */