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"
14 #include "graphical-axis-group.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,
21 public virtual Graphical_axis_group
23 Link_array<Score_element> extra_elems_;
26 virtual void do_print() const;
27 virtual Link_array<Score_element> get_extra_dependencies() const;
29 virtual void do_substitute_element_pointer (Score_element*,Score_element*);
30 virtual Link_array<Score_element> elem_l_arr() const;
32 virtual Interval do_height () const;
33 virtual Interval do_width () const;
36 Interval extra_extent (Axis a ) const;
40 add an element that only influences size, but does not have X/Y parent
41 relationship with THIS.
43 void add_extra_element (Score_element*);
46 Axis_group_element ();
47 virtual void set_axes (Axis,Axis);
49 virtual Link_array<Score_element> get_children ();
52 #endif // AXIS_GROUP_ELEMENT_HH