2 axis-group-element.hh -- declare Axis_group_element
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #ifndef AXIS_GROUP_ELEMENT_HH
11 #define AXIS_GROUP_ELEMENT_HH
13 #include "score-element.hh"
17 Treat a group of elements a unity in either or both axis sense .
18 This is a wrapper around Axis_group_administration
20 class Axis_group_element : public virtual Score_element
22 /// modify fields of E for removal.
23 void do_remove (Score_element*e);
29 virtual Link_array<Score_element> get_extra_dependencies() const;
30 virtual Link_array<Score_element> elem_l_arr() const;
31 static Interval extent_callback (Dimension_cache const*);
35 Interval extra_extent (Axis a) const;
37 // keep array in order.
41 Interval my_extent (Axis) const;
45 bool contains_b (Score_element const *) const;
46 void add_element (Score_element*);
49 add an element that only influences size, but does not have X/Y parent
50 relationship with THIS.
52 void add_extra_element (Score_element*);
55 Axis_group_element ();
56 void set_axes (Axis,Axis);
58 Link_array<Score_element> get_children ();
61 #endif // AXIS_GROUP_ELEMENT_HH