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"
16 Vertical_group_element::add_element (Graphical_element
*e
)
18 axis_admin_
.add_element (e
, this, Y_AXIS
, Y_AXIS
);
22 Vertical_group_element::remove_element (Graphical_element
*e
)
24 axis_admin_
.remove_element (e
, Y_AXIS
, Y_AXIS
);
29 Vertical_group_element::do_height() const
31 return axis_admin_
.extent (Y_AXIS
);
34 Vertical_group_element::remove_all()
36 axis_admin_
.remove_all (Y_AXIS
,Y_AXIS
);
42 Horizontal_group_element::remove_all()
44 axis_admin_
.remove_all (X_AXIS
,X_AXIS
);
48 Horizontal_group_element::add_element (Graphical_element
*e
)
50 axis_admin_
.add_element (e
,this, X_AXIS
,X_AXIS
);
54 Horizontal_group_element::remove_element (Graphical_element
*e
)
56 axis_admin_
.remove_element (e
,X_AXIS
,X_AXIS
);
61 Horizontal_group_element::do_width() const
63 return axis_admin_
.extent (X_AXIS
);
70 Horizontal_vertical_group_element::remove_all()
72 axis_admin_
.remove_all (X_AXIS
,Y_AXIS
);
75 Horizontal_vertical_group_element::add_element (Graphical_element
*e
)
77 axis_admin_
.add_element (e
, this, X_AXIS
, Y_AXIS
);
81 Horizontal_vertical_group_element::remove_element (Graphical_element
*e
)
83 axis_admin_
.remove_element (e
, X_AXIS
, Y_AXIS
);
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
);