X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fbar.hh;h=8fbe6797df51b6e88e5a48b78612150da632b830;hb=17932f720e8e07049b52fe1f5c7697a7def5114a;hp=8d408c04b9313e6aac495d77c82ad15f93ff7cf4;hpb=c52973e438ce3490d688860bb71849a7b3c26fef;p=lilypond.git diff --git a/lily/include/bar.hh b/lily/include/bar.hh index 8d408c04b9..8fbe6797df 100644 --- a/lily/include/bar.hh +++ b/lily/include/bar.hh @@ -1,30 +1,41 @@ /* - bar.hh -- part of GNU LilyPond + This file is part of LilyPond, the GNU music typesetter. - (c) 1996--2000 Han-Wen Nienhuys + Copyright (C) 1996--2010 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 BAR_HH #define BAR_HH -#include "item.hh" + +#include "lily-proto.hh" +#include "grob-interface.hh" /** - A vertical bar. - */ -class Bar:public Item { + A vertical bar. +*/ +class Bar +{ public: - VIRTUAL_COPY_CONS(Score_element); - Bar(SCM); - - Molecule compound_barline (String, Real height) const; - Molecule simple_barline (Real wid, Real height) const; - static SCM scheme_molecule (SCM); - - -protected: - virtual void before_line_breaking (); + DECLARE_GROB_INTERFACE(); - virtual Real get_bar_size () const; + static Stencil compound_barline (Grob *, string, Real height); + static Stencil simple_barline (Grob *, Real wid, Real height); + DECLARE_SCHEME_CALLBACK (get_staff_bar_size, (SCM)); + DECLARE_SCHEME_CALLBACK (print, (SCM)); + DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM)); }; #endif // BAR_HH