X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fnote-head.hh;h=118022c7008b3d98aca5d30e01f8302d2eca00c6;hb=f6a7f7ec192579f3607f0bfbc1bd0f921432bcb1;hp=853fee35817515bfd2ebc538f29350e607bd9498;hpb=c5f4a0324c78423d91ccc2dd44823f692256d600;p=lilypond.git diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 853fee3581..118022c700 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,45 +1,34 @@ /* note-head.hh -- part of GNU LilyPond - (c) 1996--1998 Han-Wen Nienhuys + (c) 1996--2003 Han-Wen Nienhuys */ #ifndef NOTEHEAD_HH #define NOTEHEAD_HH -#include "rhythmic-head.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 + NoteHead is a kind of RhythmicHead, see there. - */ + Read-only: +*/ -class Note_head : public Rhythmic_head { +class Note_head +{ public: - - String note_head_type_str_; - - /// position of top line (5 linestaff: 8) - int position_i_; - - /// pitch in steps - int steps_i_; - - /// -1 = lowest, 0 = inside, 1 = top - int extremal_i_; - - /// needed for the help-lines - int staff_size_i_; - Direction x_dir_; - - Note_head (); - static int compare (Note_head * const &a, Note_head *const &b) ; - -protected: - virtual Interval do_width () const; - virtual void do_pre_processing(); - virtual Molecule* do_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); + DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM)); + DECLARE_SCHEME_CALLBACK (extent, (SCM,SCM)); + static bool has_interface (Grob*); + static Real stem_attachment_coordinate (Grob *, Axis a); + static int get_balltype (Grob*) ; }; #endif // NOTEHEAD_HH