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 Link_array<Score_element> support_l_arr_;
38 bool staff_support_b_;
40 Staff_side_element ();
41 void set_victim (Score_element*);
42 void add_support (Score_element*);
44 VIRTUAL_COPY_CONS(Score_element);
45 virtual Direction get_default_direction () const;
47 virtual Interval do_height () const;
48 virtual void do_print () const;
49 virtual void do_add_processing ();
50 virtual void do_substitute_element_pointer (Score_element*,Score_element*);
51 virtual void do_pre_processing ();
52 virtual void do_post_processing ();
55 class Staff_side_item : public Staff_side_element, public Item
58 VIRTUAL_COPY_CONS(Score_element);
60 virtual Interval do_width () const;
61 virtual void do_print () const;
64 class Staff_side_spanner : public Staff_side_element, public Spanner
67 VIRTUAL_COPY_CONS(Score_element);
69 virtual void do_print () const;
72 #endif /* STAFF_SIDE_HH */