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