]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/axis-group-element.hh
patch::: 1.3.35.jcn1
[lilypond.git] / lily / include / axis-group-element.hh
1 /*
2   axis-group-element.hh -- declare Axis_group_element
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef AXIS_GROUP_ELEMENT_HH
11 #define AXIS_GROUP_ELEMENT_HH
12
13 #include "score-element.hh"
14
15
16 /** 
17   Treat a group of elements a unity in either or both axis sense .
18   This is a wrapper around Axis_group_administration
19
20   FIXME: remove this class, and make interface of it, so we can remove multiple inheritance.
21 */
22 class Axis_group_element : public virtual Score_element
23 {
24 protected:
25   virtual Link_array<Score_element> elem_l_arr() const;
26   static Interval extent_callback (Dimension_cache const*);
27
28 public:
29   void add_element (Score_element*);
30   bool axis_b (Axis) const;
31   Axis_group_element ();
32   void set_axes (Axis,Axis);
33
34   Link_array<Score_element> get_children ();
35 };
36
37 #endif // AXIS_GROUP_ELEMENT_HH