]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/bar-script-engraver.hh
patch::: 1.1.37.mb1: Re: LilyPond 1.1.37
[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 protected:
22   G_staff_side_item* staff_side_p_;
23   G_text_item* text_p_;
24   Protected_scm visibility_lambda_;
25   String type_;
26   Axis axis_;
27   bool hang_on_clef_b_;
28 protected:
29   /**
30     Put the script on #it#
31    */
32   void do_acknowledge_element (Item *it);
33   /**
34      Return non-nil if we want to hang something on this.
35    */
36   Item *cast_to_interesting_item (Score_element*);
37   Bar_script_engraver ();
38   virtual void do_creation_processing ();
39   virtual void do_pre_move_processing ();
40   virtual void acknowledge_element (Score_element_info);
41   void create_items(Request*);
42 };
43
44
45 #endif /* BAR_SCRIPT_ENGRAVER_HH */
46