]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/bar-engraver.hh
release: 1.1.31
[lilypond.git] / lily / include / bar-engraver.hh
1 /*
2   bar-engraver.hh -- declare Bar_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef BAR_ENGRAVER_HH
11 #define BAR_ENGRAVER_HH
12
13 #include "engraver.hh"
14
15 /**
16   generate bars. Either user ("|:"), or default (new measure)
17   */
18 class Bar_engraver : public Engraver
19 {
20 public:
21   Bar_engraver();
22   VIRTUAL_COPY_CONS(Translator);
23   
24   void request_bar (String type_str);
25     
26 protected:
27   virtual void acknowledge_element (Score_element_info i);
28   virtual void do_creation_processing ();
29   virtual void do_removal_processing ();
30   virtual bool do_try_music (Music *req_l);
31   virtual void do_process_requests();
32   virtual void do_pre_move_processing();
33   virtual void do_post_move_processing();
34
35 private:
36   void create_bar ();
37
38   Bar_req * bar_req_l_;
39   Bar * bar_p_;
40 };
41
42 #endif // BAR_ENGRAVER_HH