X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftext-item.cc;h=3f19466ee141456af55d37c084ec8be5def38bcf;hb=refs%2Ftags%2Frelease%2F1.2.8;hp=b6252548673cafea2353d7422e8d9625db60e54a;hpb=8a4b84458c8fc5e8e1e2288a92da01cd5eda1b2f;p=lilypond.git diff --git a/lily/text-item.cc b/lily/text-item.cc index b625254867..3f19466ee1 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -1,85 +1,33 @@ -/* +/* text-item.cc -- implement Text_item source file of the GNU LilyPond music typesetter + + (c) 1998--1999 Han-Wen Nienhuys + + */ - (c) 1997--1998 Han-Wen Nienhuys -*/ - - -#include "musical-request.hh" -#include "paper-def.hh" #include "text-item.hh" -#include "stem.hh" +#include "debug.hh" #include "molecule.hh" +#include "paper-def.hh" #include "lookup.hh" -#include "debug.hh" -Text_item::Text_item (General_script_def* tdef_l, Direction d) +Molecule* +Text_item::do_brew_molecule_p () const { - dir_ = d; - fat_b_ = false; - tdef_p_ = tdef_l->clone (); -} + Molecule a= paper_l ()->lookup_l(0)->text (style_str_,text_str_, paper_l ()); -Text_item::~Text_item () -{ - delete tdef_p_; + return new Molecule (a); } -void -Text_item::do_pre_processing () +Text_item::Text_item () { - if (!dir_) - dir_ = DOWN; + style_str_ = "roman"; } -Real -Text_item::get_position_f () const -{ - // uhuh, tdef/gdef? - if (Text_def *tdl = dynamic_cast(tdef_p_)) - { - if (tdl->style_str_ != "finger") // HUHH? - return Staff_side::get_position_f (); - } - - if (!dir_) - { - warning (_ ("Text_item::get_position_f(): " - "somebody forgot to set my vertical direction, returning -20")); - return -20; - } - - Interval v = support_extent (); - // add no extra: fingers should be just above note, no? - return v[dir_]; -} - -Interval -Text_item::symbol_height () const -{ - return tdef_p_->get_atom (paper (), dir_).dim_.y (); -} - -Molecule* -Text_item::brew_molecule_p () const +void +Text_item::do_print () const { - Atom a (tdef_p_->get_atom (paper (), dir_)); - - - if (fat_b_) - a.dim_[X_AXIS] = tdef_p_->width (paper ()); - Molecule* mol_p = new Molecule (a); - - if (dir_<0) // should do something better anyway. - mol_p->translate_axis (mol_p->extent ().y ().left , Y_AXIS); - mol_p->translate_axis (coordinate_offset_f_, Y_AXIS); - // fine for one lyric, urg for lyric chord - mol_p->translate_axis (a.dim_.y ().length (), Y_AXIS); - - return mol_p; + DOUT << "text= " << text_str_; } - - -