X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Finclude%2Fnote-head.hh;h=6155dd7dc6513a4bf4cda1c759282dc38e24d2c1;hb=d46572826e777ed3e9fa4656535a6e9000f2ed9e;hp=50395212238feb11224959d7d374522ed03e0120;hpb=cec6dfa6bf0fb931eb7f42b1ee44ca2ec19a9f34;p=lilypond.git diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 5039521223..6155dd7dc6 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,41 +1,42 @@ /* - note-head.hh -- part of GNU LilyPond + This file is part of LilyPond, the GNU music typesetter. - (c) 1996,97 Han-Wen Nienhuys + Copyright (C) 1996--2012 Han-Wen Nienhuys + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #ifndef NOTEHEAD_HH #define NOTEHEAD_HH -#include "rhythmic-head.hh" +#include "stencil.hh" +#include "grob-interface.hh" -/** ball at the end of the stem. Takes care of: - - * help lines +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_SCHEME_CALLBACK (include_ledger_line_height, (SCM)); + DECLARE_GROB_INTERFACE (); - */ + static Real stem_attachment_coordinate (Grob *, Axis a); + static int get_balltype (Grob *); -class Note_head : public Rhythmic_head { -public: - DECLARE_MY_RUNTIME_TYPEINFO; - - int position_i_; - - /// -1 = lowest, 0 = inside, 1 = top - int extremal_i_; - - /// needed for the help-lines - int staff_size_i_; - Direction x_dir_; - - /** - position of top line (5 linestaff: 8) - */ - Note_head (); - static int compare (Note_head * const &a, Note_head *const &b) ; -protected: - virtual void do_pre_processing(); - virtual Molecule* brew_molecule_p() const; + static Offset get_stem_attachment (Font_metric *, const string&); }; #endif // NOTEHEAD_HH