]> git.donarmstrong.com Git - lilypond.git/blob - src/textitem.cc
8be0d378cce2144fc1bac569b2a8367922bdc2ed
[lilypond.git] / src / textitem.cc
1 #include "request.hh"
2 #include "paper.hh"
3 #include "textitem.hh"
4 #include "stem.hh"
5 #include "molecule.hh"
6 #include "lookup.hh"
7
8 Text_item::Text_item(Text_req* treq_l, int staffsize_i)
9 {
10     staffsize_i_ = staffsize_i;
11     dir_i_ = treq_l->dir_i_;
12     if (!dir_i_)
13         dir_i_ = -1;
14     tdef_l_ = treq_l->tdef_p_;
15 }
16
17 void
18 Text_item::set_default_pos()
19 {
20     pos_i_  = (dir_i_ > 0) ? staffsize_i_ + 2: -4;
21 }
22
23 void
24 Text_item::do_pre_processing()
25 {
26     set_default_pos();
27 }
28
29     
30 Molecule*
31 Text_item::brew_molecule_p() const
32 {
33     Molecule* mol_p = new Molecule(tdef_l_->create_atom(paper()));
34     mol_p->translate(Offset(0, pos_i_ * paper()->internote()));
35
36     if(dir_i_<0)
37         mol_p->translate(Offset(0, -mol_p->extent().y.length() ));
38     
39     return mol_p;
40 }