]> git.donarmstrong.com Git - lilypond.git/blob - lily/elem-group.cc
partial: 0.1.52.jcn
[lilypond.git] / lily / elem-group.cc
1 /*
2   elem-group.cc -- implement Horizontal_vertical_group_element
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9 #include "elem-group.hh"
10 #include "interval.hh"
11 #include "item.hh"
12 #include "debug.hh"
13
14
15 void
16 Vertical_group_element::add_element (Graphical_element*e)
17 {
18   axis_admin_.add_element (e, this, Y_AXIS, Y_AXIS);
19 }
20
21 void
22 Vertical_group_element::remove_element (Graphical_element*e)
23 {
24   axis_admin_.remove_element (e, Y_AXIS, Y_AXIS);
25 }
26
27
28 Interval
29 Vertical_group_element::do_height() const
30 {
31   return axis_admin_.extent (Y_AXIS);
32 }
33 void
34 Vertical_group_element::remove_all()
35 {
36   axis_admin_.remove_all (Y_AXIS,Y_AXIS);
37 }
38
39 // ****************
40
41 void
42 Horizontal_group_element::remove_all()
43 {
44   axis_admin_.remove_all (X_AXIS,X_AXIS);
45 }
46
47 void
48 Horizontal_group_element::add_element (Graphical_element*e)
49 {
50   axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
51 }
52
53 void
54 Horizontal_group_element::remove_element (Graphical_element*e)
55 {
56   axis_admin_.remove_element (e,X_AXIS,X_AXIS);
57 }
58
59
60 Interval
61 Horizontal_group_element::do_width() const
62 {
63   return axis_admin_.extent (X_AXIS);
64 }
65
66
67 // ****************
68
69 void
70 Horizontal_vertical_group_element::remove_all()
71 {
72   axis_admin_.remove_all (X_AXIS,Y_AXIS);
73 }
74 void
75 Horizontal_vertical_group_element::add_element (Graphical_element *e)
76 {
77   axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
78 }
79
80 void
81 Horizontal_vertical_group_element::remove_element (Graphical_element*e)
82 {
83   axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
84 }
85
86
87
88 IMPLEMENT_IS_TYPE_B1(Axis_group_element, Score_elem);
89 IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
90 IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
91 IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);