X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fnote-head.hh;h=de2d61a07df8e54eb004fbd27b3e6d6aed1159d7;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=4a1bf349eb5e1d0f06d100a129ff977b0ecfc949;hpb=04f01c7e890bd4f1b358378e5911fb7c117c3802;p=lilypond.git diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 4a1bf349eb..de2d61a07d 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,51 +1,29 @@ /* note-head.hh -- part of GNU LilyPond - (c) 1996,97 Han-Wen Nienhuys + (c) 1996--2008 Han-Wen Nienhuys */ #ifndef NOTEHEAD_HH #define NOTEHEAD_HH -#include "item.hh" +#include "stencil.hh" +#include "grob-interface.hh" -/** ball at the end of the stem takes care of: - * help lines - * proper placing of dots +class Note_head +{ +public: + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (brew_ez_stencil, (SCM)); + DECLARE_SCHEME_CALLBACK (stem_x_shift, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_stem_attachment, (SCM)); + DECLARE_GROB_INTERFACE(); - It also is the item for a Rest - - */ + static Real stem_attachment_coordinate (Grob *, Axis a); + static int get_balltype (Grob *); -class Note_head : public Item { -public: - NAME_MEMBERS(Note_head); - - bool rest_b_; - int position_i_; - - /// -1 = lowest, 0 = inside, 1 = top - int extremal_i_; - - /// needed for the help-lines - int staff_size_i_; - int dots_i_; - int balltype_i_; - int x_dir_i_; - - /* *************** */ - - void set_rhythmic(Rhythmic_req *); - - /** - position of top line (5 linestaff: 8) - */ - Note_head(int staff_size); - static int compare(Note_head * const &a, Note_head *const &b) ; -protected: - virtual void do_print()const; - virtual Molecule* brew_molecule_p()const; + static Offset get_stem_attachment (Font_metric *, string); }; #endif // NOTEHEAD_HH