]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-engraver.cc
* lily/font-select.cc (get_font_by_design_size): revert
[lilypond.git] / lily / text-engraver.cc
index 2da7fbe8e5c2d360dd6910b63325e4aff53a2dff..21d0b8f52541bd8d96678b7801527439605ec4f0 100644 (file)
@@ -1,21 +1,19 @@
 /*   
-  text-engraver.cc --  implement Text_engraver
+  text-engraver.cc -- implement Text_engraver
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
+
 #include "directional-element-interface.hh"
 #include "engraver.hh"
 #include "side-position-interface.hh"
-#include "item.hh"
-#include "event.hh"
 #include "stem.hh"
 #include "rhythmic-head.hh"
 #include "text-item.hh"
 
-
 /**
    typeset directions that are  plain text.
  */
@@ -48,10 +46,10 @@ Text_engraver::acknowledge_grob (Grob_info inf)
 {
   if (Rhythmic_head::has_interface (inf.grob_))
     {
-      for (int i=0; i < texts_.size (); i++)
+      for (int i = 0; i < texts_.size (); i++)
        {
          Grob*t = texts_[i];
-         Side_position_interface::add_support (t,inf.grob_);
+         Side_position_interface::add_support (t, inf.grob_);
 
          /*
            ugh.
@@ -67,9 +65,9 @@ Text_engraver::acknowledge_grob (Grob_info inf)
   
   if (Stem::has_interface (inf.grob_))
     {
-      for (int i=0; i < texts_.size (); i++)
+      for (int i = 0; i < texts_.size (); i++)
        {
-         Side_position_interface::add_support (texts_[i],inf.grob_);
+         Side_position_interface::add_support (texts_[i], inf.grob_);
        }
     }
 }
@@ -79,12 +77,12 @@ Text_engraver::process_acknowledged_grobs ()
 {
   if (texts_.size ())
     return;
-  for (int i=0; i < evs_.size (); i++)
+  for (int i = 0; i < evs_.size (); i++)
     {
       Music * r = evs_[i];
       
       // URG: Text vs TextScript
-      Item *text = make_item ("TextScript");
+      Item *text = make_item ("TextScript", r->self_scm ());
 
       
       Axis ax = Y_AXIS;
@@ -93,8 +91,8 @@ Text_engraver::process_acknowledged_grobs ()
       // Hmm
       int priority = 200;
       SCM s = text->get_property ("script-priority");
-      if (ly_number_p (s))
-       priority = ly_scm2int (s);
+      if (scm_is_number (s))
+       priority = scm_to_int (s);
       
       /* see script-engraver.cc */
       priority += i;
@@ -109,7 +107,6 @@ Text_engraver::process_acknowledged_grobs ()
       SCM mark = r->get_property ("text");
 
       text->set_property ("text", mark);
-      announce_grob (text, r->self_scm ());
       texts_.push (text);
     }
 }
@@ -117,11 +114,6 @@ Text_engraver::process_acknowledged_grobs ()
 void
 Text_engraver::stop_translation_timestep ()
 {
-  for (int i=0; i < texts_.size (); i++)
-    {
-      Item *ti = texts_[i];
-      typeset_grob (ti);
-    }
   texts_.clear ();
   evs_.clear ();
 }
@@ -131,7 +123,7 @@ Text_engraver::Text_engraver ()
 {
 }
 
-ENTER_DESCRIPTION (Text_engraver,
+ADD_TRANSLATOR (Text_engraver,
 /* descr */       "Create text-scripts",
 /* creats*/       "TextScript",
 /* accepts */     "text-script-event",