]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lyric-hyphen.cc
uniformize grob interface naming with C++.
[lilypond.git] / lily / lyric-hyphen.cc
index 19f27a766d6877e2b221c390e06b0fe1dd6745b5..b6636477c508e7b05f6e19792c1e5cb7deb8b668 100644 (file)
@@ -1,9 +1,9 @@
 /*
-  hyphen-spanner.cc -- implement Hyphen_spanner
+  hyphen-spanner.cc -- implement Lyric_hyphen
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2003--2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 2003--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "lyric-hyphen.hh"
@@ -19,9 +19,9 @@
   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),
@@ -47,10 +47,9 @@ Hyphen_spanner::print (SCM smob)
     }
   while (flip (&d) != LEFT);
 
-  Real lt = me->layout ()->get_dimension (ly_symbol2scm ("linethickness"));
+  Real lt = me->layout ()->get_dimension (ly_symbol2scm ("line-thickness"));
   Real th = robust_scm2double (me->get_property ("thickness"), 1) * lt;
-  Real font_size_step = robust_scm2double (ly_chain_assoc_get (ly_symbol2scm ("font-size"), chain, SCM_BOOL_F),
-                                0.0);
+  Real font_size_step = robust_scm2double (me->get_property ("font-size"), 0.0);
   Real h = robust_scm2double (me->get_property ("height"), 0.5)
     * pow (2.0, font_size_step / 6.0);
 
@@ -103,9 +102,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);
 
@@ -118,7 +117,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);
 
@@ -129,15 +128,20 @@ 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,
+
+              "lyric-hyphen-interface",
+              
+              "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 "
+              );