X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fdot-column.hh;h=a816f426ae7e74b520c409ff125168c9c7e0f16d;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=01e3e3d3e5ef2f1f16cd94011f47b91d8e4a8c43;hpb=cec6dfa6bf0fb931eb7f42b1ee44ca2ec19a9f34;p=lilypond.git diff --git a/lily/include/dot-column.hh b/lily/include/dot-column.hh index 01e3e3d3e5..a816f426ae 100644 --- a/lily/include/dot-column.hh +++ b/lily/include/dot-column.hh @@ -1,31 +1,41 @@ /* - dot-column.hh -- declare Dot_column Dot_column + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2015 Han-Wen Nienhuys - (c) 1997 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 DOT_COLUMN_HH #define DOT_COLUMN_HH -#include "horizontal-group-item.hh" +#include "lily-proto.hh" +#include "grob-interface.hh" + +class Grob; /** - Group dots. This is needed because, the dots have to be aligned per voice - */ -class Dot_column : public Horizontal_group_item + Group dots. This is needed because, the dots have to be aligned per voice +*/ +class Dot_column // interface { - Link_array head_l_arr_; - Link_array dot_l_arr_; - void add (Dots*); - public: - DECLARE_MY_RUNTIME_TYPEINFO; - void add (Rhythmic_head*); -protected: - virtual void do_pre_processing (); - virtual void do_substitute_dependency (Score_elem *o, Score_elem*n); + static int compare (Grob *const &, Grob *const &); + static void add_head (Grob *dotcol, Grob *rh); + + DECLARE_GROB_INTERFACE (); + DECLARE_SCHEME_CALLBACK (side_position, (SCM)); + DECLARE_SCHEME_CALLBACK (calc_positioning_done, (SCM)); }; #endif // DOT_COLUMN_HH