]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/engraver-group.hh
release: 0.1.13
[lilypond.git] / lily / include / engraver-group.hh
1 /*
2   engraver-group.hh -- declare Engraver_group_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9
10 #ifndef ENGRAVERGROUP_HH
11 #define ENGRAVERGROUP_HH
12
13 #include "lily-proto.hh"
14 #include "parray.hh"
15 #include "plist.hh"
16 #include "score-elem-info.hh"
17 #include "engraver.hh"
18 #include "translator-group.hh"
19
20
21 /**
22   Group a number of engravers. Usually delegates everything to its contents.
23   Postfix: group
24   */
25 class Engraver_group_engraver : public Engraver, public virtual Translator_group {
26 protected:
27   Array<Score_elem_info> announce_info_arr_;
28 public:
29   TRANSLATOR_CLONE(Engraver_group_engraver);
30   Engraver_group_engraver();
31   ~Engraver_group_engraver();
32     
33   DECLARE_MY_RUNTIME_TYPEINFO;
34     
35   virtual Staff_info get_staff_info() const;
36   virtual void do_announces();    
37   virtual void announce_element (Score_elem_info);
38 };
39
40 #endif // ENGRAVERGROUP_HH
41
42