]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lyric-hyphen.cc
Merge branch 'jneeman' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond into jneeman
[lilypond.git] / lily / lyric-hyphen.cc
index f37be209710130af357446b093db9f84b5f9d775..d38460be74541729fbd271f2f37525684ad65d9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  hyphen-spanner.cc -- implement Hyphen_spanner
+  hyphen-spanner.cc -- implement Lyric_hyphen
 
   source file of the GNU LilyPond music typesetter
 
 #include "output-def.hh"
 #include "paper-column.hh"
 #include "moment.hh"
+#include "spanner.hh"
 
 /*
   TODO: should extract hyphen dimensions or hyphen glyph from the
   font.
  */
 
-MAKE_SCHEME_CALLBACK (Hyphen_spanner, print, 1);
+MAKE_SCHEME_CALLBACK (Lyric_hyphen, print, 1);
 SCM
-Hyphen_spanner::print (SCM smob)
+Lyric_hyphen::print (SCM smob)
 {
   Spanner *me = unsmob_spanner (smob);
   Drul_array<Item *> bounds (me->get_bound (LEFT),
@@ -102,9 +103,9 @@ Hyphen_spanner::print (SCM smob)
   return total.smobbed_copy ();
 }
 
-MAKE_SCHEME_CALLBACK (Hyphen_spanner, set_spacing_rods, 1);
+MAKE_SCHEME_CALLBACK (Lyric_hyphen, set_spacing_rods, 1);
 SCM
-Hyphen_spanner::set_spacing_rods (SCM smob)
+Lyric_hyphen::set_spacing_rods (SCM smob)
 {
   Grob *me = unsmob_grob (smob);
 
@@ -117,7 +118,7 @@ Hyphen_spanner::set_spacing_rods (SCM smob)
     {
       r.item_drul_[d] = sp->get_bound (d);
       if (r.item_drul_[d])
-       r.distance_ += r.item_drul_[d]->extent (r.item_drul_[d], X_AXIS)[-d];
+       r.distance_ += -d * r.item_drul_[d]->extent (r.item_drul_[d], X_AXIS)[-d];
     }
   while (flip (&d) != LEFT);
 
@@ -128,15 +129,18 @@ Hyphen_spanner::set_spacing_rods (SCM smob)
   return SCM_UNSPECIFIED;
 }
 
-ADD_INTERFACE (Hyphen_spanner, "lyric-hyphen-interface",
-              "A centered hyphen is a simple line between lyrics used to divide syllables",
+ADD_INTERFACE (Lyric_hyphen,
+
+              "A centered hyphen is a simple line between "
+              "lyrics used to divide syllables",
 
               /* props */
-              "padding "
-              "thickness "
-              "height "
               "dash-period "
-              "minimum-length "
+              "height "
+              "length "
               "minimum-distance "
-              "length");
+              "minimum-length "
+              "padding "
+              "thickness "
+              );