]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/boxes.cc
partial: 0.1.61.jcn
[lilypond.git] / lily / boxes.cc
index 1798cb93c3033162798b3131d29d248aab1976d2..1529c7074915798270cde15212c9054caceeafd7 100644 (file)
@@ -1,14 +1,49 @@
+/*
+  boxes.cc -- implement Box
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
 #include "boxes.hh"
 #include "varray.hh"
 
+void
+Box::translate (Offset o)
+{
+  for (Axis i=X_AXIS; i < NO_AXES; incr(i))
+    interval_a_[i] += o[i];
+}
 
+void
+Box::unite (Box b)
+{
+  for (Axis i=X_AXIS; i < NO_AXES; incr(i))
+    interval_a_[i].unite (b[i]);
+}
+
+/**
+  Initialize to empty.
+ */
 Box::Box()
 {        
 }
 
-Box::Box(Interval ix, Interval iy)
+Box::Box (Interval ix, Interval iy)
+{
+  x() = ix;
+  y() = iy;
+}
+
+Interval &
+Box::operator[] (Axis a)
 {
-    x = ix;
-    y = iy;
+  return interval_a_[a];
 }
 
+Interval
+Box::operator[] (Axis a)const
+{
+  return interval_a_[a];
+}