+
+Offset
+Box::center () const
+{
+ return Offset (interval_a_[X_AXIS].center (),
+ interval_a_[Y_AXIS].center ());
+}
+
+void
+Box::widen (Real x, Real y)
+{
+ interval_a_[X_AXIS].widen (x);
+ interval_a_[Y_AXIS].widen (y);
+}
+
+void
+Box::intersect (Box b)
+{
+ interval_a_[X_AXIS].intersect (b[X_AXIS]);
+ interval_a_[Y_AXIS].intersect (b[Y_AXIS]);
+}
+
+// for debugging
+
+void
+Box::print ()
+{
+ printf ("X left %4.4f right %4.4f Y down %4.4f up %4.4f\n",
+ interval_a_[X_AXIS][LEFT], interval_a_[X_AXIS][RIGHT],
+ interval_a_[Y_AXIS][DOWN], interval_a_[Y_AXIS][UP]);
+}
+
+/****************************************************************/
+
+
+const char * const Box::type_p_name_ = "ly:box?";