]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/axis-group-element.hh
release: 0.1.61
[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--1998 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef AXIS_GROUP_ELEMENT_HH
11 #define AXIS_GROUP_ELEMENT_HH
12
13 #include "score-elem.hh"
14 #include "axis-group-administration.hh"
15 /** 
16   Treat a group of elements a unity in either or both axis sense .
17   This is a wrapper around Axis_group_administration
18   */
19 class Axis_group_element : public virtual Score_elem {
20 protected:
21   Axis_group_administration axis_admin_;
22   virtual void do_print() const;
23   virtual Link_array<Score_elem> get_extra_dependencies() const;
24   virtual void do_unlink();
25   virtual void do_junk_links();
26
27 public:
28   virtual Link_array<Score_elem> elem_l_arr() const;
29   Axis_group_element();
30   virtual void remove_all()=0;
31   virtual void add_element (Graphical_element*)=0;
32   virtual void remove_element (Graphical_element*)=0;
33   virtual bool contains_b (Graphical_element const *) const;
34   DECLARE_MY_RUNTIME_TYPEINFO;
35 };
36
37 #endif // AXIS_GROUP_ELEMENT_HH