2 beam.hh -- part of LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
10 #include "directionalspanner.hh"
13 /// a beam connects multiple stems
14 struct Beam: public Directional_spanner {
15 PointerList<Stem*> stems;
18 /// dir: -1 below heads, +1 above heads.
21 const char * name() const;
23 virtual Interval width()const;
24 Offset center() const;
25 Spanner *do_break_at(PCol *, PCol *) const;
30 void set_default_dir();
31 void do_pre_processing();
32 void do_post_processing();
34 void do_print() const;
35 void set_grouping(Rhythmic_grouping def, Rhythmic_grouping current);
40 Molecule stem_beams(Stem *here, Stem *next, Stem *prev)const;
42 Molecule*brew_molecule_p()const;
44 /** Beam adjusts the stems its owns to make sure that they reach the
45 beam and that point in the correct direction */