From: Joe Neeman Date: Wed, 31 Jan 2007 10:54:51 +0000 (+0200) Subject: Handle hara-kiri piano staves correctly in the new vertical alignment X-Git-Tag: release/2.11.15-1~9^2~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=63a3195112d1e2753e2699442841f3c760b2f705;p=lilypond.git Handle hara-kiri piano staves correctly in the new vertical alignment stuff. --- diff --git a/lily/align-interface.cc b/lily/align-interface.cc index 68077c8176..4854383d9e 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -208,13 +208,17 @@ Align_interface::get_extents_aligned_translates (Grob *me, Real padding = robust_scm2double (me->get_property ("padding"), 0.0); vector translates; + Skyline down_skyline (stacking_dir); for (vsize j = 0; j < elems.size (); j++) { Real dy = 0; if (j == 0) dy = skylines[j][-stacking_dir].max_height (); else - dy = skylines[j-1][stacking_dir].distance (skylines[j][-stacking_dir]); + { + down_skyline.merge (skylines[j-1][stacking_dir]); + dy = down_skyline.distance (skylines[j][-stacking_dir]); + } where += stacking_dir * max (0.0, dy + padding + extra_space / elems.size ()); translates.push_back (where); diff --git a/lily/hara-kiri-group-spanner.cc b/lily/hara-kiri-group-spanner.cc index 81e2c7d971..73fe4d6775 100644 --- a/lily/hara-kiri-group-spanner.cc +++ b/lily/hara-kiri-group-spanner.cc @@ -24,6 +24,15 @@ Hara_kiri_group_spanner::y_extent (SCM smob) return Axis_group_interface::generic_group_extent (me, Y_AXIS); } +MAKE_SCHEME_CALLBACK (Hara_kiri_group_spanner, calc_skylines, 1); +SCM +Hara_kiri_group_spanner::calc_skylines (SCM smob) +{ + Grob *me = unsmob_grob (smob); + consider_suicide (me); + return Axis_group_interface::calc_skylines (smob); +} + MAKE_SCHEME_CALLBACK (Hara_kiri_group_spanner, pure_height, 3); SCM Hara_kiri_group_spanner::pure_height (SCM smob, SCM start_scm, SCM end_scm) diff --git a/lily/include/hara-kiri-group-spanner.hh b/lily/include/hara-kiri-group-spanner.hh index 6505287a4d..7a5ddd6a7c 100644 --- a/lily/include/hara-kiri-group-spanner.hh +++ b/lily/include/hara-kiri-group-spanner.hh @@ -17,6 +17,7 @@ class Hara_kiri_group_spanner public: DECLARE_SCHEME_CALLBACK (force_hara_kiri_callback, (SCM)); DECLARE_SCHEME_CALLBACK (y_extent, (SCM smob)); + DECLARE_SCHEME_CALLBACK (calc_skylines, (SCM smob)); DECLARE_SCHEME_CALLBACK (pure_height, (SCM smob, SCM start, SCM end)); DECLARE_SCHEME_CALLBACK (force_hara_kiri_in_y_parent_callback, (SCM)); DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM)); diff --git a/lily/text-interface.cc b/lily/text-interface.cc index 86a1381bb4..55e7bb7ec4 100644 --- a/lily/text-interface.cc +++ b/lily/text-interface.cc @@ -26,7 +26,7 @@ Text_interface::interpret_string (SCM layout_smob, SCM markup) { LY_ASSERT_SMOB (Output_def, layout_smob, 1); - LY_ASSERT_TYPE (scm_is_string, props, 3); + LY_ASSERT_TYPE (scm_is_string, markup, 3); string str = ly_scm2string (markup); Output_def *layout = unsmob_output_def (layout_smob); diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index eefc76fe13..6cfc4ed188 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -2066,7 +2066,7 @@ (Y-offset . ,ly:hara-kiri-group-spanner::force-hara-kiri-callback) (Y-extent . ,ly:hara-kiri-group-spanner::y-extent) (X-extent . ,ly:axis-group-interface::width) - (skylines . ,ly:axis-group-interface::calc-skylines) + (skylines . ,ly:hara-kiri-group-spanner::calc-skylines) (max-stretch . ,ly:axis-group-interface::calc-max-stretch) (meta . ((class . Spanner) (object-callbacks . ((X-common . ,ly:axis-group-interface::calc-x-common)))