5 #include "staffelem.hh"
8 Staff_elem::TeXstring() const
10 assert(!calc_children);
12 m.translate(offset_); // ugh?
16 Staff_elem::Staff_elem(Staff_elem const&s)
17 : dependencies(s.dependencies)
22 pstaff_l_ = s.pstaff_l_;
23 calc_children = false;
24 offset_ = Offset(0,0);
27 Staff_elem::~Staff_elem()
32 Staff_elem::translate(Offset O)
37 Staff_elem::width() const
39 Molecule*m= brew_molecule();
43 Molecule*m = brew_molecule();
47 r = output->extent().x;
49 if (!r.empty()) // float exception on DEC Alpha
55 Staff_elem::height() const
60 Molecule*m = brew_molecule();
64 r = output->extent().y;
74 Staff_elem::print()const
82 Staff_elem::Staff_elem()
84 calc_children = false;
86 offset_ = Offset(0,0);
93 Staff_elem::paper() const
96 return pstaff_l_->pscore_l_->paper_l_;
100 Staff_elem::add_processing()
102 if (status >= VIRGIN)
110 Staff_elem::pre_processing()
112 if (status >= PRECALCED )
114 for (int i=0; i < dependencies.size(); i++)
116 dependencies[i]->pre_processing();
122 Staff_elem::post_processing()
124 if (status > POSTCALCED)
126 for (int i=0; i < dependencies.size(); i++)
128 dependencies[i]->post_processing();
130 do_post_processing();
135 Staff_elem::molecule_processing()
137 if (status >= OUTPUT)
139 for (int i=0; i < dependencies.size(); i++)
141 dependencies[i]->molecule_processing();
143 output= brew_molecule();
148 Staff_elem::do_post_processing()
153 Staff_elem::do_pre_processing()
158 Staff_elem::do_add_processing()