From: Joe Neeman Date: Thu, 7 Jan 2010 02:28:54 +0000 (+1100) Subject: Fix 784. X-Git-Tag: release/2.13.11-1~86 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9155495020e59ea29080f13fafc0745fa8d718e3;p=lilypond.git Fix 784. Use staff-spaces to compute the skylines for dot-columns rather than the extent of the note-heads. --- diff --git a/input/regression/dot-column-note-collision.ly b/input/regression/dot-column-note-collision.ly new file mode 100644 index 0000000000..a03bfcb7a6 --- /dev/null +++ b/input/regression/dot-column-note-collision.ly @@ -0,0 +1,9 @@ +\version "2.13.10" + +\header { + texidoc = "Dots and note-heads should not collide." +} + +{ + 4. s8 \small 4. s8 4. s8 4. s8 +} diff --git a/lily/dot-column.cc b/lily/dot-column.cc index 345e47f7d9..cfbb92895c 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -110,12 +110,17 @@ Dot_column::calc_positioning_done (SCM smob) y.add_point (y1); y.add_point (y2); } + else if (Note_head::has_interface (s)) + y = Interval (-1, 1); else - y = s->extent (s, Y_AXIS); + { + programming_error ("unknown grob in dot col support"); + continue; + } y *= 2 / ss; y += Staff_symbol_referencer::get_position (s); - + Box b (s->extent (commonx, X_AXIS), y); boxes.push_back (b); @@ -133,7 +138,7 @@ Dot_column::calc_positioning_done (SCM smob) Interval y = flag.extent (Y_AXIS) * (2 / ss) + Stem::stem_end_position (stem); - + Interval x = stem->relative_coordinate (commonx, X_AXIS) + flag.extent (X_AXIS);