]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/graphical-axis-group.hh
release: 1.1.37
[lilypond.git] / lily / include / graphical-axis-group.hh
1 /*
2   axis-group-administration.hh -- declare Graphical_axis_group
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef GRAPHICAL_AXIS_GROUP_HH
11 #define GRAPHICAL_AXIS_GROUP_HH
12
13
14 #include "parray.hh"
15 #include "axes.hh"
16 #include "real.hh"
17 #include "lily-proto.hh"
18 #include "graphical-element.hh"
19
20 /**
21   Treat a group of graphical elements as an aggegrate.
22  */
23 class Graphical_axis_group : public virtual Graphical_element {
24 public:
25   // keep array in order.
26   bool ordered_b_;              
27   Link_array<Graphical_element> elem_l_arr_;
28   Axis axes_[2];
29     
30   Interval extent (Axis) const;
31   virtual void do_print() const;
32   Graphical_axis_group (Graphical_axis_group const&);
33   Graphical_axis_group ();
34   virtual void set_axes (Axis,Axis);
35   void remove_all ();
36
37   bool contains_b (Graphical_element const *) const;
38   void add_element (Graphical_element*);
39   void remove_element (Graphical_element*);
40 };
41
42 #endif // Graphical_axis_group_HH