X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fnote-head.hh;h=451bdb9f8d65adbf33469cea7a7b79d18ca75449;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=85442c0b004ba7f984b12ed4a29e1684cc3e9e42;hpb=76f13ab50fc726c89fa7c96f3deed519d2d773dc;p=lilypond.git diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 85442c0b00..451bdb9f8d 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -1,34 +1,42 @@ /* - note-head.hh -- part of GNU LilyPond + This file is part of LilyPond, the GNU music typesetter. - (c) 1996--2000 Han-Wen Nienhuys -*/ - -#ifndef NOTEHEAD_HH -#define NOTEHEAD_HH - -#include "rhythmic-head.hh" + Copyright (C) 1996--2015 Han-Wen Nienhuys -/** ball at the end of the stem. Takes care of: + 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. - * help lines + 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. - Properties + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . +*/ - style -- symbol that sets note head style +#ifndef NOTEHEAD_HH +#define NOTEHEAD_HH - */ +#include "stencil.hh" +#include "grob-interface.hh" -class Note_head : public Rhythmic_head +class Note_head { public: - static int compare (Note_head * const &a, Note_head *const &b) ; + 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 *); - Molecule ledger_line (Interval) const; - Note_head (SCM); -protected: - virtual void before_line_breaking (); - virtual Molecule do_brew_molecule() const; + static Offset get_stem_attachment (Font_metric *, const string&); }; #endif // NOTEHEAD_HH