X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fnote-head.hh;h=aba379dec6ec4bf19643b939e9ef6a2dcc880336;hb=fc2be417b37ab7e5a59b783950292a903c566b16;hp=14cd2491a803b449cdff3c545eaf33d7014748e9;hpb=6dc4e4d14a67f65f337ec1a06466e748c68dcad5;p=lilypond.git diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 14cd2491a8..aba379dec6 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,54 +1,33 @@ /* note-head.hh -- part of GNU LilyPond - (c) 1996,97 Han-Wen Nienhuys + (c) 1996--2002 Han-Wen Nienhuys */ #ifndef NOTEHEAD_HH #define NOTEHEAD_HH -#include "item.hh" +#include "lily-guile.hh" +#include "molecule.hh" -/** ball at the end of the stem takes care of: +/** ball at the end of the stem. Also takes care of ledger lines. - * help lines - * proper placing of dots + NoteHead is a kind of RhythmicHead, see there. - It also is the item for a Rest - - */ + Read-only: +*/ -class Note_head : public Item { +class Note_head +{ public: - DECLARE_MY_RUNTIME_TYPEINFO; - - 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 dot_delta_y_i_; - int x_dir_i_; - - /* *************** */ - - void set_rhythmic(Rhythmic_req *); - - /** - position of top line (5 linestaff: 8) - */ - Note_head(int staff_size); - void set_dots(); - static int compare(Note_head * const &a, Note_head *const &b) ; -protected: - virtual void do_print()const; - virtual void do_pre_processing(); - virtual Molecule* brew_molecule_p()const; + DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM )); + static Interval head_extent (Grob*, Axis); + static Molecule brew_ledger_lines (Grob *me, int pos, int interspaces, + Interval x_extent, bool take_space); + DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM )); + static bool has_interface (Grob*); + static Real stem_attachment_coordinate (Grob *, Axis a); + static int balltype_i (Grob*) ; }; #endif // NOTEHEAD_HH