]> git.donarmstrong.com Git - lilypond.git/commitdiff
Fix 449.
authorJoe Neeman <joeneeman@gmail.com>
Sat, 20 Oct 2007 22:18:26 +0000 (08:18 +1000)
committerJoe Neeman <joeneeman@gmail.com>
Sat, 20 Oct 2007 22:18:26 +0000 (08:18 +1000)
Ensure that a TrillPitchGroup is included in the horizontal skylines.

lily/separation-item.cc
scm/define-grobs.scm

index a8d63c2e1a033d59834086068c4d45dd5611a391..f8d1cb739ffc59c20a5da2c7f85cb4136bf2b6cd 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "axis-group-interface.hh"
 #include "lookup.hh"
+#include "note-head.hh"
 #include "stencil.hh"
 #include "skyline.hh"
 #include "paper-column.hh"
@@ -109,7 +110,14 @@ Separation_item::boxes (Grob *me, Grob *left)
       Item *il = dynamic_cast<Item *> (elts[i]);
       if (pc != il->get_column ())
        continue;
-      if (Axis_group_interface::has_interface (il))
+
+      /* ugh. We want to exclude groups of grobs (so that we insert each grob
+        individually into the skyline instead of adding a single box that
+        bounds all of them). However, we can't exclude an axis-group that
+        adds to its childrens' stencil. Currently, this is just TrillPitchGroup;
+        hence the check for note-head-interface. */
+      if (Axis_group_interface::has_interface (il)
+         && !Note_head::has_interface (il))
        continue;
 
       Interval y (il->pure_height (ycommon, 0, very_large));
index b11cc8a13ee51e00309d2e36bb014568ef0331ea..ef27cbd1e3bfe4fc845f610a3abc39b56c2de299 100644 (file)
 
 (define pure-functions
   (list
+   parenthesize-elements
    ly:staff-symbol-referencer::callback
    ly:staff-symbol::height))