From: Janek WarchoĊ‚ Date: Sun, 10 Aug 2014 19:09:42 +0000 (+0200) Subject: Use aligned-on-x-parent instead of other callbacks for some grobs X-Git-Tag: release/2.19.13-1~12 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=48678617b169957433c562612151f2a71be50b59;p=lilypond.git Use aligned-on-x-parent instead of other callbacks for some grobs Now that we have an easy way of specifying different alignments for grob and its parent (see 0c4f221e5d), we can use aligned-on-.-parent in places that we previously used .-aligned-on-self. With this change, the users have more control over the placement of grobs. Affected grobs: - InstrumentSwitch - Script - SostenutoPedal - SustainPedal - UnaCordaPedal --- diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 46b15b6ce6..673398149f 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1180,12 +1180,13 @@ (extra-spacing-width . (+inf.0 . -inf.0)) (outside-staff-priority . 500) (padding . 0.5) + (parent-alignment-X . #f) (self-alignment-X . ,LEFT) (side-axis . ,Y) (staff-padding . 0.5) (stencil . ,ly:text-interface::print) (Y-extent . ,grob::always-Y-extent-from-stencil) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-offset . ,side-position-interface::y-aligned-side) (meta . ((class . Item) (interfaces . (font-interface @@ -1901,6 +1902,7 @@ (font-encoding . fetaMusic) (horizon-padding . 0.1) ; to avoid interleaving with accidentals (positioning-done . ,ly:script-interface::calc-positioning-done) + (self-alignment-X . ,CENTER) (side-axis . ,Y) ;; padding set in script definitions. @@ -1916,6 +1918,7 @@ (interfaces . (font-interface outside-staff-interface script-interface + self-alignment-interface side-position-interface)))))) (ScriptColumn @@ -1957,10 +1960,11 @@ (extra-spacing-width . (+inf.0 . -inf.0)) (font-shape . italic) (padding . 0.0) ;; padding relative to SostenutoPedalLineSpanner + (parent-alignment-X . #f) (self-alignment-X . ,CENTER) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . ((class . Item) (interfaces . (font-interface @@ -2208,10 +2212,11 @@ . ( (extra-spacing-width . (+inf.0 . -inf.0)) (padding . 0.0) ;; padding relative to SustainPedalLineSpanner + (parent-alignment-X . #f) (self-alignment-X . ,CENTER) (stencil . ,ly:sustain-pedal::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (Y-extent . ,grob::always-Y-extent-from-stencil) (meta . ((class . Item) (interfaces . (font-interface @@ -2621,11 +2626,12 @@ (extra-spacing-width . (+inf.0 . -inf.0)) (font-shape . italic) (padding . 0.0) ;; padding relative to UnaCordaPedalLineSpanner + (parent-alignment-X . #f) (self-alignment-X . ,CENTER) (stencil . ,ly:text-interface::print) (vertical-skylines . ,grob::always-vertical-skylines-from-stencil) (Y-extent . ,grob::always-Y-extent-from-stencil) - (X-offset . ,ly:self-alignment-interface::x-aligned-on-self) + (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent) (meta . ((class . Item) (interfaces . (font-interface piano-pedal-script-interface diff --git a/scm/output-lib.scm b/scm/output-lib.scm index 2df06bd528..8701b6b188 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -1157,7 +1157,7 @@ parent or the parent has no setting." (ly:grob-property grob 'positioning-done) (let* ((shift (ly:grob-property grob 'toward-stem-shift 0.0)) (note-head-location - (ly:self-alignment-interface::centered-on-x-parent grob)) + (ly:self-alignment-interface::aligned-on-x-parent grob)) (note-head-grob (ly:grob-parent grob X)) (stem-grob (ly:grob-object note-head-grob 'stem)))