It doesn't make sense to specify placement using multiple added
callbacks or closures when we can use aligned_on_parent. What's
more, aligned_on_parent should expose more consistent interface
for the users - affected grobs should now behave similarly to
LyricTexts and DynamicTexts. For example, this
\relative c'' \context Voice {
\compressFullBarRests
\override MultiMeasureRestNumber.self-alignment-X = #RIGHT
R1*100
}
will result in right edge of the MultiMeasureRestNumber being
aligned on the right edge of the MultiMeasureRest.
Affected grobs:
- AccidentalSuggestion
- ClefModifier
- DoublePercentRepeatCounter
- Fingering
- GridLine
- MultiMeasureRestNumber
- MultiMeasureRestText
- PercentRepeatCounter
- StemTremolo
Expected changes in output: none.
fingerings for chords need different settings.
*/
Side_position_interface::set_axis (fingering, Y_AXIS);
fingerings for chords need different settings.
*/
Side_position_interface::set_axis (fingering, Y_AXIS);
- Self_alignment_interface::set_align_self (fingering, X_AXIS);
- Self_alignment_interface::set_center_parent (fingering, X_AXIS);
+ Self_alignment_interface::set_aligned_on_parent (fingering, X_AXIS);
// Hmm
int priority = 200;
// Hmm
int priority = 200;
static SCM aligned_on_self (Grob *me, Axis a, bool pure, int start, int end);
static SCM centered_on_object (Grob *me, Axis a);
static SCM aligned_on_parent (Grob *me, Axis a);
static SCM aligned_on_self (Grob *me, Axis a, bool pure, int start, int end);
static SCM centered_on_object (Grob *me, Axis a);
static SCM aligned_on_parent (Grob *me, Axis a);
- static void set_center_parent (Grob *me, Axis a);
- static void set_align_self (Grob *me, Axis a);
+ static void set_aligned_on_parent (Grob *me, Axis a);
DECLARE_SCHEME_CALLBACK (x_aligned_on_self, (SCM element));
DECLARE_SCHEME_CALLBACK (y_aligned_on_self, (SCM element));
DECLARE_SCHEME_CALLBACK (x_aligned_on_self, (SCM element));
DECLARE_SCHEME_CALLBACK (y_aligned_on_self, (SCM element));
Side_position_interface::add_support (f,
unsmob_grob (ft.head_->get_object ("dot")));
Side_position_interface::add_support (f,
unsmob_grob (ft.head_->get_object ("dot")));
- Self_alignment_interface::set_align_self (f, Y_AXIS);
- Self_alignment_interface::set_center_parent (f, Y_AXIS);
+ Self_alignment_interface::set_aligned_on_parent (f, Y_AXIS);
Side_position_interface::set_axis (f, X_AXIS);
f->set_property ("direction", scm_from_int (hordir));
Side_position_interface::set_axis (f, X_AXIS);
f->set_property ("direction", scm_from_int (hordir));
f->set_property ("script-priority",
scm_from_int (finger_prio + d * ft.position_));
f->set_property ("script-priority",
scm_from_int (finger_prio + d * ft.position_));
- Self_alignment_interface::set_align_self (f, X_AXIS);
- Self_alignment_interface::set_center_parent (f, X_AXIS);
+ Self_alignment_interface::set_aligned_on_parent (f, X_AXIS);
Side_position_interface::set_axis (f, Y_AXIS);
f->set_property ("direction", scm_from_int (d));
Side_position_interface::set_axis (f, Y_AXIS);
f->set_property ("direction", scm_from_int (d));
-Self_alignment_interface::set_center_parent (Grob *me, Axis a)
+Self_alignment_interface::set_aligned_on_parent (Grob *me, Axis a)
{
add_offset_callback (me,
{
add_offset_callback (me,
- (a == X_AXIS) ? centered_on_x_parent_proc : centered_on_y_parent_proc,
- a);
-}
-
-void
-Self_alignment_interface::set_align_self (Grob *me, Axis a)
-{
- add_offset_callback (me,
- (a == X_AXIS) ? x_aligned_on_self_proc : y_aligned_on_self_proc,
+ (a == X_AXIS) ? aligned_on_x_parent_proc : aligned_on_y_parent_proc,
(staff-padding . 0.25)
(stencil . ,ly:accidental-interface::print)
(X-extent . ,ly:accidental-interface::width)
(staff-padding . 0.25)
(stencil . ,ly:accidental-interface::print)
(X-extent . ,ly:accidental-interface::width)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::x-aligned-on-self)))))
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(Y-extent . ,accidental-interface::height)
(Y-offset . ,side-position-interface::y-aligned-side)
(meta . ((class . Item)
(Y-extent . ,accidental-interface::height)
(Y-offset . ,side-position-interface::y-aligned-side)
(meta . ((class . Item)
(self-alignment-X . ,CENTER)
(staff-padding . 0.7)
(stencil . ,ly:text-interface::print)
(self-alignment-X . ,CENTER)
(staff-padding . 0.7)
(stencil . ,ly:text-interface::print)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::x-aligned-on-self))
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent)))))
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(Y-offset . ,side-position-interface::y-aligned-side)
(vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(Y-offset . ,side-position-interface::y-aligned-side)
(vertical-skylines . ,grob::always-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(side-axis . ,Y)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
(side-axis . ,Y)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list 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)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(Y-offset . ,side-position-interface::y-aligned-side)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Item)
(layer . 0)
(self-alignment-X . ,CENTER)
(stencil . ,ly:grid-line-interface::print)
(layer . 0)
(self-alignment-X . ,CENTER)
(stencil . ,ly:grid-line-interface::print)
- (X-extent . ,ly:grid-line-interface::width)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::x-aligned-on-self)))))
+ (X-extent . ,ly:grid-line-interface::width)
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(meta . ((class . Item)
(interfaces . (grid-line-interface
self-alignment-interface))))))
(meta . ((class . Item)
(interfaces . (grid-line-interface
self-alignment-interface))))))
(springs-and-rods . ,ly:multi-measure-rest::set-text-rods)
(staff-padding . 0.4)
(stencil . ,ly:text-interface::print)
(springs-and-rods . ,ly:multi-measure-rest::set-text-rods)
(staff-padding . 0.4)
(stencil . ,ly:text-interface::print)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::x-aligned-on-self))
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent)))))
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(Y-offset . ,side-position-interface::y-aligned-side)
(vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(Y-offset . ,side-position-interface::y-aligned-side)
(vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(skyline-horizontal-padding . 0.2)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
(skyline-horizontal-padding . 0.2)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list 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)
(vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(Y-offset . ,side-position-interface::y-aligned-side)
(vertical-skylines . ,grob::unpure-vertical-skylines-from-stencil)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(self-alignment-X . ,CENTER)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
(self-alignment-X . ,CENTER)
(staff-padding . 0.25)
(stencil . ,ly:text-interface::print)
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list 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)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Spanner)
(Y-offset . ,side-position-interface::y-aligned-side)
(Y-extent . ,grob::always-Y-extent-from-stencil)
(meta . ((class . Spanner)
(style . ,ly:stem-tremolo::calc-style)
(X-extent . ,ly:stem-tremolo::width)
(Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:stem-tremolo::pure-height))
(style . ,ly:stem-tremolo::calc-style)
(X-extent . ,ly:stem-tremolo::width)
(Y-extent . ,(grob::unpure-Y-extent-from-stencil ly:stem-tremolo::pure-height))
- (X-offset . ,(ly:make-simple-closure
- `(,+
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::centered-on-x-parent))
- ,(ly:make-simple-closure
- (list ly:self-alignment-interface::x-aligned-on-self)))))
+ (X-offset . ,ly:self-alignment-interface::aligned-on-x-parent)
(Y-offset . ,(ly:make-unpure-pure-container ly:stem-tremolo::calc-y-offset ly:stem-tremolo::pure-calc-y-offset))
(meta . ((class . Item)
(interfaces . (self-alignment-interface
(Y-offset . ,(ly:make-unpure-pure-container ly:stem-tremolo::calc-y-offset ly:stem-tremolo::pure-calc-y-offset))
(meta . ((class . Item)
(interfaces . (self-alignment-interface