X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbox.cc;h=5cce139fd4154b28625de8eb571bfb8f64034d4f;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=1dc85ea63ff253b93a97c59f62f4e075c46d3ecb;hpb=c659cb200486c2f908703696a1b2873e78c8160a;p=lilypond.git diff --git a/lily/box.cc b/lily/box.cc index 1dc85ea63f..5cce139fd4 100644 --- a/lily/box.cc +++ b/lily/box.cc @@ -3,39 +3,34 @@ source file of the GNU LilyPond music typesetter - (c) 1996--2004 Han-Wen Nienhuys + (c) 1996--2008 Han-Wen Nienhuys */ #include "box.hh" -#include "array.hh" - void Box::translate (Offset o) { - for (Axis i=X_AXIS; i < NO_AXES; incr (i)) + 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)) + for (Axis i = X_AXIS; i < NO_AXES; incr (i)) interval_a_[i].unite (b[i]); } -/** - Initialize to empty. - */ Box::Box () -{ +{ } void Box::set_empty () { interval_a_[X_AXIS].set_empty (); - interval_a_[Y_AXIS].set_empty (); + interval_a_[Y_AXIS].set_empty (); } Box::Box (Interval ix, Interval iy) @@ -45,13 +40,13 @@ Box::Box (Interval ix, Interval iy) } Interval & -Box::operator[] (Axis a) +Box::operator [] (Axis a) { return interval_a_[a]; } Interval -Box::operator[] (Axis a)const +Box::operator [] (Axis a) const { return interval_a_[a]; } @@ -67,18 +62,42 @@ void Box::add_point (Offset o) { interval_a_[X_AXIS].add_point (o[X_AXIS]); - interval_a_[Y_AXIS].add_point (o[Y_AXIS]); + interval_a_[Y_AXIS].add_point (o[Y_AXIS]); } Offset Box::center () const { return Offset (interval_a_[X_AXIS].center (), - interval_a_[Y_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); } + +/****************************************************************/ + +#include "ly-smobs.icc" + +IMPLEMENT_SIMPLE_SMOBS (Box); +IMPLEMENT_TYPE_P (Box, "ly:box?"); +IMPLEMENT_DEFAULT_EQUAL_P (Box); + +SCM +Box::mark_smob (SCM x) +{ + (void)x; + return SCM_EOL; +} + +int +Box::print_smob (SCM x, SCM p, scm_print_state*) +{ + (void)x; + scm_puts ("#", p); + return 1; +}