]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/text-def.cc
release: 0.0.61
[lilypond.git] / lily / text-def.cc
index b440003fd2b5044e88fc78f86df919fccd2694f9..a601d4367ca031b03dd8870b668a47bc4ac95f1b 100644 (file)
@@ -3,24 +3,37 @@
 #include "paper-def.hh"
 #include "molecule.hh"
 #include "text-def.hh"
+#include "dimen.hh"
+
+Interval
+Text_def::width() const
+{
+    Atom a = create_atom();
+
+    Real guess_width_f = text_str_.length_i() * a.sym.dim.x.length(); // ugh
+    Interval i(0, guess_width_f);
+    i += - (align_i_ + 1)* i.center();
+    return i;
+}
+
 
 Text_def::Text_def()
 {   
     align_i_ = 1;                      // right
+    pdef_l_ = 0;
     style_str_ = "roman";
-    defined_ch_c_l_ = 0;
 }
 bool
-Text_def::compare(const Text_def&def)
+Text_def::compare(Text_def const &def)
 {
     return align_i_ == def.align_i_ && text_str_ == def.text_str_
        && style_str_ == def.style_str_;
 }
 
 Atom
-Text_def::create_atom(Paper_def*p) const
+Text_def::create_atom() const
 {
-    return p->lookup_l()->text(style_str_, text_str_, -align_i_);
+    return pdef_l_->lookup_l()->text(style_str_, text_str_, -align_i_);
 }
 
 void