]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/note-head.hh
release: 0.0.65
[lilypond.git] / lily / include / note-head.hh
1 /*
2   note-head.hh -- part of GNU LilyPond
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef NOTEHEAD_HH
8 #define NOTEHEAD_HH
9
10 #include "item.hh"
11
12 /** ball at the end of the stem takes care of:
13
14   * help lines  
15   * proper placing of dots 
16
17   It also is the item for a Rest
18   
19   */
20
21 class Note_head : public Item {
22 public:
23     NAME_MEMBERS(Note_head);
24
25     bool rest_b_;
26     int position_i_;
27     
28     /// -1 = lowest, 0 = inside, 1 = top
29     int extremal_i_;
30     
31     /// needed for the help-lines
32     int staff_size_i_;
33     int dots_i_;
34     int balltype_i_;
35     int x_dir_i_;
36     
37     /* *************** */
38     
39     void set_rhythmic(Rhythmic_req *);
40
41     /**
42       position of top line (5 linestaff: 8)
43       */
44     Note_head(int staff_size);
45     static int compare(Note_head * const &a, Note_head *const &b) ;
46 protected:
47     virtual    void do_print()const;
48     virtual    Molecule* brew_molecule_p()const;
49 };
50 #endif // NOTEHEAD_HH
51