X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fspanner.cc;h=9a8ff83a3ffca20c2579e67ec9770b716c5779bc;hb=f7d264fa89c39f8d86e9ba5eb991ee904ce3d0be;hp=ba44e83e19627a69facda2f2f17a532ca2c0f78b;hpb=96f03c80a17fb0f6971ef695a77d134eb938e42a;p=lilypond.git diff --git a/lily/spanner.cc b/lily/spanner.cc index ba44e83e19..9a8ff83a3f 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1996--2011 Han-Wen Nienhuys + Copyright (C) 1996--2012 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 @@ -50,8 +50,7 @@ Spanner::do_break_processing () /* If we have a spanner spanning one column, we must break it anyway because it might provide a parent for another item. */ - Direction d = LEFT; - do + for (LEFT_and_RIGHT (d)) { Item *bound = left->find_prebroken_piece (d); if (!bound) @@ -67,7 +66,6 @@ Spanner::do_break_processing () broken_intos_.push_back (span); } } - while ((flip (&d)) != LEFT); } else { @@ -95,13 +93,11 @@ Spanner::do_break_processing () Drul_array bounds; bounds[LEFT] = break_points[i - 1]; bounds[RIGHT] = break_points[i]; - Direction d = LEFT; - do + for (LEFT_and_RIGHT (d)) { if (!bounds[d]->get_system ()) bounds[d] = bounds[d]->find_prebroken_piece (- d); } - while ((flip (&d)) != LEFT); if (!bounds[LEFT] || ! bounds[RIGHT]) { @@ -151,13 +147,11 @@ Spanner::get_break_index () const void Spanner::set_my_columns () { - Direction i = (Direction) LEFT; - do + for (LEFT_and_RIGHT (d)) { - if (!spanned_drul_[i]->get_system ()) - set_bound (i, spanned_drul_[i]->find_prebroken_piece ((Direction) - i)); + if (!spanned_drul_[d]->get_system ()) + set_bound (d, spanned_drul_[d]->find_prebroken_piece ((Direction) - d)); } - while (flip (&i) != LEFT); } Interval_t @@ -249,26 +243,22 @@ Real Spanner::spanner_length () const { Interval lr = robust_scm2interval (get_property ("X-positions"), - Interval (1,-1)); + Interval (1, -1)); if (lr.is_empty ()) { Drul_array bounds (get_property ("left-bound-info"), get_property ("right-bound-info")); - Direction d = LEFT; - do + for (LEFT_and_RIGHT (d)) lr[d] = robust_scm2double (ly_assoc_get (ly_symbol2scm ("X"), - bounds[d], SCM_BOOL_F), -d); - while (flip (&d) != LEFT); + bounds[d], SCM_BOOL_F), -d); } if (lr.is_empty ()) { - Direction d = LEFT; - do + for (LEFT_and_RIGHT (d)) lr[d] = spanned_drul_[d]->relative_coordinate (0, X_AXIS); - while (flip (&d) != LEFT); } if (lr.is_empty ()) @@ -360,11 +350,9 @@ Spanner::derived_mark () const { scm_gc_mark (pure_property_cache_); - Direction d = LEFT; - do + for (LEFT_and_RIGHT (d)) if (spanned_drul_[d]) scm_gc_mark (spanned_drul_[d]->self_scm ()); - while (flip (&d) != LEFT) ; for (vsize i = broken_intos_.size (); i--;)