2 beam.hh -- part of GNU LilyPond
4 (c) 1996,97 Han-Wen Nienhuys
9 #include "lily-proto.hh"
10 #include "directional-spanner.hh"
13 /** a beam connects multiple stems Beam adjusts the stems its owns to
14 make sure that they reach the beam and that point in the correct
16 class Beam: public Directional_spanner {
18 Link_array<Stem> stems;
19 /// the slope of the beam in posns / point (dimension)
22 /// position of leftmost end of beam
31 void set_grouping(Rhythmic_grouping def, Rhythmic_grouping current);
33 SCORE_ELEM_CLONE(Beam)
35 virtual Interval do_width()const;
36 virtual Offset center() const;
37 virtual void set_default_dir();
38 virtual void do_pre_processing();
39 virtual void do_post_processing();
40 virtual void do_substitute_dependency(Score_elem*, Score_elem*);
42 virtual void do_print() const;
45 Molecule stem_beams(Stem *here, Stem *next, Stem *prev)const;
47 Molecule*brew_molecule_p()const;