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
42 Molecule*m = brew_molecule_p();
46 r = output->extent().x;
48 if (!r.empty()) // float exception on DEC Alpha
54 Staff_elem::height() const
59 Molecule*m = brew_molecule_p();
63 r = output->extent().y;
73 Staff_elem::print()const
81 Staff_elem::Staff_elem()
83 calc_children = false;
85 offset_ = Offset(0,0);
92 Staff_elem::paper() const
95 return pstaff_l_->pscore_l_->paper_l_;
99 Staff_elem::add_processing()
101 if (status >= VIRGIN)
109 Staff_elem::pre_processing()
111 if (status >= PRECALCED )
113 for (int i=0; i < dependencies.size(); i++)
115 dependencies[i]->pre_processing();
121 Staff_elem::post_processing()
123 if (status > POSTCALCED)
125 for (int i=0; i < dependencies.size(); i++)
127 dependencies[i]->post_processing();
129 do_post_processing();
134 Staff_elem::molecule_processing()
136 if (status >= OUTPUT)
138 for (int i=0; i < dependencies.size(); i++)
140 dependencies[i]->molecule_processing();
142 output= brew_molecule_p();
147 Staff_elem::do_post_processing()
152 Staff_elem::do_pre_processing()
157 Staff_elem::do_add_processing()