]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/axis-group-interface.hh
patch::: 1.3.96.jcn9
[lilypond.git] / lily / include / axis-group-interface.hh
1 /*   
2   axis-group-interface.hh -- declare Axis_group_interface
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #ifndef AXIS_GROUP_INTERFACE_HH
11 #define AXIS_GROUP_INTERFACE_HH
12
13 #include "group-interface.hh"
14
15 /**
16    Treat a group of elements as a union. This sets the parent of any S
17    added to ELT_L_ to ELT_L_.
18
19    Properties:
20 */
21 struct Axis_group_interface 
22 {
23   DECLARE_SCHEME_CALLBACK(group_extent_callback, (SCM smob, SCM axis));
24   static Interval relative_group_extent (Axis, Score_element * common, SCM list);
25
26   static void add_element (Score_element* me, Score_element*);
27   static void set_axes (Score_element*,Axis,Axis);
28   static bool axis_b (Score_element*,Axis);
29   static Link_array<Score_element> get_children (Score_element*);
30   static bool has_interface (Score_element*);
31   static void set_interface (Score_element*);
32   
33 };
34
35 #endif /* AXIS_GROUP_INTERFACE_HH */
36