X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Ftext-engraver.cc;h=e87234978e2a9bc537c82cbd2583fe467df56ab5;hb=abd05b0ad0ccc4b63bb77ed128a8f28d5d48f330;hp=5cdc157f0dbf9daab9f0b789c2d5dcca45de762f;hpb=cd93507bb0b0559c7d916c1b19d7ac1f83d1cc8e;p=lilypond.git diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 5cdc157f0d..e87234978e 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -3,11 +3,10 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2003 Han-Wen Nienhuys + (c) 1998--2004 Han-Wen Nienhuys */ - - +#include "directional-element-interface.hh" #include "engraver.hh" #include "side-position-interface.hh" #include "item.hh" @@ -25,11 +24,10 @@ class Text_engraver : public Engraver Link_array reqs_; Link_array texts_; public: - TRANSLATOR_DECLARATIONS(Text_engraver); + TRANSLATOR_DECLARATIONS (Text_engraver); protected: virtual bool try_music (Music* m); virtual void stop_translation_timestep (); - virtual void start_translation_timestep (); virtual void process_acknowledged_grobs (); virtual void acknowledge_grob (Grob_info); }; @@ -86,37 +84,31 @@ Text_engraver::process_acknowledged_grobs () Music * r = reqs_[i]; // URG: Text vs TextScript - String basic = "TextScript"; - - Item *text = new Item (get_property (basic.to_str0 ())); + Item *text = make_item ("TextScript"); - /* - FIXME -> need to use basic props. - */ - SCM axisprop = get_property ("scriptHorizontal"); - Axis ax = to_boolean (axisprop) ? X_AXIS : Y_AXIS; + Axis ax = Y_AXIS; Side_position_interface::set_axis (text, ax); // Hmm int priority = 200; - SCM s = text->get_grob_property ("script-priority"); + SCM s = text->get_property ("script-priority"); if (gh_number_p (s)) priority = gh_scm2int (s); /* see script-engraver.cc */ priority += i; - text->set_grob_property ("script-priority", gh_int2scm (priority)); + text->set_property ("script-priority", gh_int2scm (priority)); - Direction dir = to_dir (r->get_mus_property ("direction")); + Direction dir = to_dir (r->get_property ("direction")); if (dir) - Side_position_interface::set_direction (text, dir); + set_grob_direction (text, dir); - SCM mark = r->get_mus_property ("text"); + SCM mark = r->get_property ("text"); - text->set_grob_property ("text", mark); + text->set_property ("text", mark); announce_grob (text, r->self_scm ()); texts_.push (text); } @@ -128,8 +120,6 @@ Text_engraver::stop_translation_timestep () for (int i=0; i < texts_.size (); i++) { Item *ti = texts_[i]; - if (!to_boolean (get_property ("scriptHorizontal"))) - Side_position_interface::add_staff_support (ti); typeset_grob (ti); } texts_.clear (); @@ -137,12 +127,14 @@ Text_engraver::stop_translation_timestep () } -Text_engraver::Text_engraver(){} +Text_engraver::Text_engraver () +{ +} -ENTER_DESCRIPTION(Text_engraver, +ENTER_DESCRIPTION (Text_engraver, /* descr */ "Create text-scripts", /* creats*/ "TextScript", /* accepts */ "text-script-event", /* acks */ "rhythmic-head-interface stem-interface", -/* reads */ "scriptHorizontal", +/* reads */ "", /* write */ "");