trill spanner right sides.
* scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
* lily/align-interface.cc (get_extents_aligned_translates): add
support for padding variable.
2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
+ * lily/dynamic-text-spanner.cc (print): Add a special case for
+ trill spanner right sides.
+
+ * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
+
+ * lily/align-interface.cc (get_extents_aligned_translates): add
+ support for padding variable.
+
* lily/break-align-interface.cc (self_align_callback): oops: use
loop variable in guard.
? scm_cdr (extra_space_handle)
: SCM_EOL,
extra_space);
-
+
+ Real padding = robust_scm2double (me->get_property ("padding"),
+ 0.0);
vector<Real> translates;
for (vsize j = 0; j < elems.size (); j++)
{
if (j)
dy = min (max (dy, threshold[SMALLER]), threshold[BIGGER]);
- where += stacking_dir * (dy + extra_space / elems.size ());
+
+ where += stacking_dir * (dy + padding + extra_space / elems.size ());
total.unite (dims[j] + where);
translates.push_back (where);
}
- SCM offsets_handle = scm_assq (ly_symbol2scm ("alignment-offsets"), line_break_details);
+ SCM offsets_handle = scm_assq (ly_symbol2scm ("alignment-offsets"),
+ line_break_details);
if (scm_is_pair (offsets_handle))
{
vsize i = 0;
- for (SCM s = scm_cdr (offsets_handle); scm_is_pair (s) && i < translates.size (); s = scm_cdr (s), i++)
+ for (SCM s = scm_cdr (offsets_handle);
+ scm_is_pair (s) && i < translates.size (); s = scm_cdr (s), i++)
{
if (scm_is_number (scm_car (s)))
translates[i] = scm_to_double (scm_car (s));
/*
properties
*/
+ "align-dir "
+ "axes"
+ "elements "
"forced-distance "
+ "padding "
+ "positioning-done "
"stacking-dir "
- "align-dir "
"threshold "
- "positioning-done "
- "elements axes");
+ );
struct Foobar
{
encl = -d;
}
+ /*
+ ugh - a special case.
+ */
+ if (d == RIGHT && me->get_property ("style") == ly_symbol2scm ("trill"))
+ {
+ pad = 2.0;
+ encl = LEFT;
+ }
+
Interval ext = b->extent (common, X_AXIS);
span_points[d] = -d * pad
+ robust_relative_extent (b, common, X_AXIS)
}
#include "translator.icc"
+
ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
(Y-extent . ,ly:axis-group-interface::height)
(X-extent . ,ly:axis-group-interface::width)
(stacking-dir . -1)
+ (padding . 0.1)
(meta . ((class . Spanner)
(interfaces . (align-interface
axis-group-interface))))))