X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbox.cc;h=68d53b39f69b73e2cf5c783ea96795c552ee3e47;hb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;hp=bc0a975ed0d3d91b0be837f5810af3fb8b991795;hpb=2f7fe0c6bc80ad57ae73e213f9b20bc9719ba2ce;p=lilypond.git diff --git a/lily/box.cc b/lily/box.cc index bc0a975ed0..68d53b39f6 100644 --- a/lily/box.cc +++ b/lily/box.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2012 Han-Wen Nienhuys + Copyright (C) 1996--2014 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,7 +23,8 @@ void Box::translate (Offset o) { for (Axis i = X_AXIS; i < NO_AXES; incr (i)) - interval_a_[i] += o[i]; + if (!is_empty (i)) + interval_a_[i] += o[i]; } void @@ -54,8 +55,16 @@ Box::set_empty () bool Box::is_empty () const { - return interval_a_[X_AXIS].is_empty () - || interval_a_[Y_AXIS].is_empty (); + return is_empty (X_AXIS) && is_empty (Y_AXIS); +} + +bool +Box::is_empty (Axis a) const +{ + Interval empty; + empty.set_empty (); + return interval_a_[a][LEFT] == empty[LEFT] + && interval_a_[a][RIGHT] == empty[RIGHT]; } Box::Box (Interval ix, Interval iy)