2 text-def.cc -- implement Text_def
4 source file of the GNU LilyPond music typesetter
6 (c) 1996,1997 Han-Wen Nienhuys <hanwen@stack.nl>
11 #include "paper-def.hh"
12 #include "molecule.hh"
13 #include "text-def.hh"
17 Text_def::width(Paper_def * p) const
19 Atom a = get_atom(p,0);
21 Real guess_width_f = text_str_.length_i() * a.sym.dim.x.length(); // ugh
22 Interval i(0, guess_width_f);
23 i += - (align_i_ + 1)* i.center();
30 align_i_ = 1; // right
34 Text_def::do_equal_b(Text_def const &def)const
36 return align_i_ == def.align_i_ && text_str_ == def.text_str_
37 && style_str_ == def.style_str_;
41 Text_def::get_atom(Paper_def *p, int ) const
43 return p->lookup_l()->text(style_str_, text_str_, -align_i_);
47 Text_def::print() const
49 mtor << "Text `" << text_str_ << "\', style " <<
50 style_str_ << "align " << align_i_ << '\n';
52 IMPLEMENT_STATIC_NAME(Text_def);