]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/bar-script-engraver.hh
release: 1.3.18
[lilypond.git] / lily / include / bar-script-engraver.hh
1 /*   
2   bar-script-engraver.hh -- declare Bar_script_engraver
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #ifndef BAR_SCRIPT_ENGRAVER_HH
11 #define BAR_SCRIPT_ENGRAVER_HH
12 #include "engraver.hh"
13 #include "protected-scm.hh"
14
15 /**
16   put stuff over or next to  bars.  Examples: bar numbers, marginal notes,
17   rehearsal marks.
18  */
19 class Bar_script_engraver : public Engraver
20 {
21 public:
22   VIRTUAL_COPY_CONS(Translator);
23 protected:
24   Text_item* text_p_;
25   Protected_scm visibility_lambda_;
26   String type_;
27   Axis axis_;
28
29 protected:
30   /**
31     Put the script on #it#
32    */
33   void attach_script_to_item (Item *it);
34   /**
35      Return non-nil if we want to hang something on this.
36    */
37   Item *cast_to_interesting_item (Score_element*);
38   Bar_script_engraver ();
39   virtual void do_creation_processing ();
40   virtual void do_pre_move_processing ();
41   virtual void acknowledge_element (Score_element_info);
42   void create_items(Request*);
43 };
44
45
46 #endif /* BAR_SCRIPT_ENGRAVER_HH */
47