]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/item.cc
Run grand replace for 2015.
[lilypond.git] / lily / item.cc
index 97fe1de208b89215800d151144993b438ab5b1da..220176e55b8803fc64e4834309f2e49b354ead97 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -43,7 +43,7 @@ Item::Item (SCM s)
 }
 
 /**
-   Item copy ctor.  Copy nothing: everything should be a elt property
+   Item copy ctor.  Copy nothing: everything should be an elt property
    or a special purpose pointer (such as broken_to_drul_[]) */
 Item::Item (Item const &s)
   : Grob (s)
@@ -77,15 +77,13 @@ void
 Item::copy_breakable_items ()
 {
   Drul_array<Item *> new_copies;
-  Direction i = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *dolly = clone ();
       Item *item = dynamic_cast<Item *> (dolly);
       get_root_system (this)->typeset_grob (item);
-      new_copies[i] = item;
+      new_copies[d] = item;
     }
-  while (flip (&i) != LEFT);
 
   broken_to_drul_ = new_copies;
 }
@@ -115,27 +113,16 @@ Item::find_broken_piece (System *l) const
   if (get_system () == l)
     return (Item *) (this);
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       Grob *s = broken_to_drul_[d];
       if (s && s->get_system () == l)
         return s;
     }
-  while (flip (&d) != LEFT);
 
   return 0;
 }
 
-Item *
-Item::maybe_find_prebroken_piece (Item *g, Direction d)
-{
-  Item *ret = g->find_prebroken_piece (d);
-  if (ret)
-    return ret;
-  return g;
-}
-
 Item *
 Item::find_prebroken_piece (Direction d) const
 {
@@ -211,21 +198,18 @@ spanned_time_interval (Item *l, Item *r)
   Drul_array<Item *> bounds (l, r);
   Interval_t<Moment> iv;
 
-  Direction d = LEFT;
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (bounds[d] && bounds[d]->get_column ())
         iv[d] = robust_scm2moment (bounds[d]->get_column ()->get_property ("when"),
                                    iv[d]);
     }
-  while (flip (&d) != LEFT);
 
-  do
+  for (LEFT_and_RIGHT (d))
     {
       if (!bounds[d] || !bounds[d]->get_column ())
         iv[d] = iv[-d];
     }
-  while (flip (&d) != LEFT);
 
   return iv;
 }
@@ -239,17 +223,14 @@ Item::derived_mark () const
     scm_gc_mark (broken_to_drul_[RIGHT]->self_scm ());
 }
 
-Item *
-unsmob_item (SCM s)
-{
-  return dynamic_cast<Item *> (unsmob_grob (s));
-}
-
 Interval
 Item::pure_height (Grob *g, int start, int end)
 {
   if (cached_pure_height_valid_)
     return cached_pure_height_ + pure_relative_y_coordinate (g, start, end);
+  /* Note: cached_pure_height_ does not notice if start changes, implicitly
+     assuming that Items' pure_heights do not depend on 'start' or 'end'.
+  */
 
   cache_pure_height (Grob::pure_height (this, start, end));
   return cached_pure_height_ + pure_relative_y_coordinate (g, start, end);