]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/clef-item.hh
3b82f9d426e77d994707d7cb8bca3033e752d883
[lilypond.git] / lily / include / clef-item.hh
1 /*
2   clef-item.hh -- declare Clef_item
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef CLEFITEM_HH
8 #define CLEFITEM_HH
9 #include "item.hh"
10 #include "text-def.hh"
11 #include "direction.hh"
12
13 /**
14   Set a clef in a staff.
15  */
16 class Clef_item : public Item {
17 protected:
18     virtual void do_pre_processing();
19     Molecule* brew_molecule_p() const;
20 public:
21     
22     String symbol_;
23     int y_position_i_;
24
25     /// is this a change clef (smaller size)?
26     bool change_b_;
27     
28     /// set because of existence of a bar
29     bool default_b_;
30
31     /// should we print an octave symbol (8), and where? (up=1, down=1)?
32     Direction octave_dir_;
33
34     /// text def to put above/below clef (ugh: should be const)
35     Text_def * octave_marker_td_p_;
36   
37     /* *************** */
38     DECLARE_MY_RUNTIME_TYPEINFO;
39     SCORE_ELEM_CLONE(Clef_item);
40     Clef_item();
41     void read (Clef_engraver const&);
42     void read (String);
43 };
44
45 #endif // CLEFITEM_HH
46
47