]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/dynamic-text-spanner.cc (print): Add a special case for
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 30 Sep 2006 12:10:39 +0000 (12:10 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 30 Sep 2006 12:10:39 +0000 (12:10 +0000)
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.

ChangeLog
lily/align-interface.cc
lily/dynamic-text-spanner.cc
lily/staff-collecting-engraver.cc
scm/define-grobs.scm

index 375b306b0ce830e220d84afa705550f0f30ff8f6..56e7a9c57eaa1d4f10f20d34a4121641c1454223 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 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.
 
index 4f1e83d4fa8f742c0566b588a2e2cf80fdf2c27c..725555d550ce6d6dcede439ed1e2f95153d5c6f6 100644 (file)
@@ -206,7 +206,9 @@ Align_interface::get_extents_aligned_translates (Grob *me,
                                   ? 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++)
     {
@@ -221,17 +223,20 @@ Align_interface::get_extents_aligned_translates (Grob *me,
       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));
@@ -375,12 +380,15 @@ ADD_INTERFACE (Align_interface,
               /*
                 properties
                */
+              "align-dir "
+              "axes"
+              "elements "
               "forced-distance "
+              "padding "
+              "positioning-done "
               "stacking-dir "
-              "align-dir "
               "threshold "
-              "positioning-done "
-              "elements axes");
+              );
 
 struct Foobar
 {
index a5d76e4bca52b5f5197be5a6a67fbd85462fd381..1ebb70fe8cbe186669e4c8ae5cd6fecd3efc79a3 100644 (file)
@@ -79,6 +79,15 @@ Dynamic_text_spanner::print (SCM smob)
              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)
index 95e9b1c30530252c27e93f662d6761b9b2e9465e..a7ee6d181a58cb8db5bbd18a2712da99a39438ae 100644 (file)
@@ -42,6 +42,7 @@ Staff_collecting_engraver::acknowledge_end_staff_symbol (Grob_info gi)
 }
 
 #include "translator.icc"
+
 ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
 ADD_END_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
 
index 94218f824ac5a97693dd4b10a41e281dc32ea534..d0e0f341bf2147ebae4a9e576af0d31ad2e59733 100644 (file)
        (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))))))