]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/chord-tremolo-engraver.hh
release: 1.3.2
[lilypond.git] / lily / include / chord-tremolo-engraver.hh
1 /*
2   chord-tremolo-engraver.hh -- declare Chord_tremolo_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7            Jan Nieuwenhuizen <janneke@gnu.org>
8 */
9
10
11 #ifndef Chord_tremolo_ENGRAVER_HH
12 #define Chord_tremolo_ENGRAVER_HH
13
14 #include "engraver.hh"
15 #include "drul-array.hh"
16
17 /**
18   Generate an abbreviation beam.  Eat stems.
19
20   UGH. Derive me from Beam_engraver.
21   
22  */
23 class Chord_tremolo_engraver : public Engraver
24 {
25 public:
26   VIRTUAL_COPY_CONS(Translator);
27   
28
29   Chord_tremolo_engraver();
30
31 protected:
32   virtual void do_removal_processing();
33   virtual void do_process_requests();
34   virtual bool do_try_music (Music*);
35   virtual void acknowledge_element (Score_element_info);
36   virtual void do_pre_move_processing();
37   virtual void do_post_move_processing();
38
39 private:
40   void typeset_beam ();
41   Drul_array<Chord_tremolo_req*> reqs_drul_;
42   Chord_tremolo_req* prev_start_req_;
43   Beam* abeam_p_;
44   Beam* finished_abeam_p_;
45 };
46
47 #endif // Chord_tremolo_ENGRAVER_HH