2 elem-group.cc -- implement Horizontal_vertical_group_element
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
9 #include "elem-group.hh"
10 #include "interval.hh"
15 Axis_group_element::do_unlink()
21 Axis_group_element::do_junk_links()
23 axis_admin_.elem_l_arr_.set_size (0);
28 Axis_group_element::contains_b (Score_elem const*e) const
30 return axis_admin_.contains_b (e);
33 Link_array<Score_elem>
34 Axis_group_element::get_extra_dependencies() const
36 return axis_admin_.elem_l_arr_;
40 Axis_group_element::do_print() const
46 Axis_group_element::Axis_group_element()
48 transparent_b_ = true;
55 Vertical_group_element::add_element (Score_elem*e)
57 axis_admin_.add_element (e, this, Y_AXIS, Y_AXIS);
61 Vertical_group_element::remove_element (Score_elem*e)
63 axis_admin_.remove_element (e, Y_AXIS, Y_AXIS);
68 Vertical_group_element::do_height() const
70 return axis_admin_.extent (Y_AXIS);
73 Vertical_group_element::remove_all()
75 axis_admin_.remove_all (Y_AXIS,Y_AXIS);
81 Horizontal_group_element::remove_all()
83 axis_admin_.remove_all (X_AXIS,X_AXIS);
87 Horizontal_group_element::add_element (Score_elem*e)
89 axis_admin_.add_element (e,this, X_AXIS,X_AXIS);
93 Horizontal_group_element::remove_element (Score_elem*e)
95 axis_admin_.remove_element (e,X_AXIS,X_AXIS);
100 Horizontal_group_element::do_width() const
102 return axis_admin_.extent (X_AXIS);
109 Horizontal_vertical_group_element::remove_all()
111 axis_admin_.remove_all (X_AXIS,Y_AXIS);
114 Horizontal_vertical_group_element::add_element (Score_elem *e)
116 axis_admin_.add_element (e, this, X_AXIS, Y_AXIS);
120 Horizontal_vertical_group_element::remove_element (Score_elem*e)
122 axis_admin_.remove_element (e, X_AXIS, Y_AXIS);
127 IMPLEMENT_IS_TYPE_B1(Axis_group_element, Score_elem);
128 IMPLEMENT_IS_TYPE_B1(Horizontal_group_element, Axis_group_element);
129 IMPLEMENT_IS_TYPE_B1(Vertical_group_element, Axis_group_element);
130 IMPLEMENT_IS_TYPE_B2(Horizontal_vertical_group_element, Horizontal_group_element, Vertical_group_element);