lilypond-1.1.44
[lilypond.git] / lily / include / key-item.hh
blob82f72cb871c8d5795c4b7c98798b5599265e42c2
1 /*
2 key-item.hh -- part of GNU LilyPond
4 (c) 1996--1999 Han-Wen Nienhuys
5 */
7 #ifndef KEYITEM_HH
8 #define KEYITEM_HH
10 #include "item.hh"
11 #include "array.hh"
12 #include "staff-symbol-referencer.hh"
14 /// An item which places accidentals at the start of the line
15 class Key_item :public Item, public Staff_symbol_referencer {
16 Array<int> pitch_arr_;
17 Array<int> acc_arr_;
18 Array<int> old_pitch_arr_;
19 Array<int> old_acc_arr_;
20 int c0_position_;
23 public:
24 bool multi_octave_b_;
26 int get_c_position () const;
29 VIRTUAL_COPY_CONS(Score_element);
31 Key_item ();
32 void add (int pitch, int acc);
33 void add_old (int pitch, int acc);
34 void set_c_position (int);
35 int calculate_position(int p, int a) const;
37 protected:
38 virtual Molecule* do_brew_molecule_p() const;
41 #endif // KEYITEM_HH