X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Frest-collision.hh;h=39fa8e1bda85ef6eb989d07bf49c2f5bf68d71df;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=94055324c7ea3821f86cab0050bd6800105a4fa7;hpb=9b40d66187029df3dca86fc5ecc65f64db315a48;p=lilypond.git diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index 94055324c7..39fa8e1bda 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -1,55 +1,36 @@ /* - rest-collision.hh -- declare Rest_collision + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2014 Han-Wen Nienhuys - (c) 1997--2000 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 REST_COLLISION_HH #define REST_COLLISION_HH +#include "grob-interface.hh" #include "lily-proto.hh" -#include "lily-guile.hh" - - - - -/* - Move rests in note-columns so that they do not collide. - - properties: - - read-only - maximum-rest-count -- kill off rests so we don't more than this - number left. - - minimum-distance -- minimum distance between notes and rests. - - read/write - - elements -- list of elts (both rests and notes) participating in the - collision. - - - sets in elements: - - rest-collision -- pointer to self. - - - - -*/ - -class Rest_collision // interface +class Rest_collision { public: - static void add_column (Score_element*me,Score_element*); - static void set_interface (Score_element*me); - static bool has_interface (Score_element*); - DECLARE_SCHEME_CALLBACK(force_shift_callback, (SCM element, SCM axis)); - static SCM do_shift (Score_element*,SCM); + static void add_column (Grob *me, Grob *); + + DECLARE_GROB_INTERFACE (); + DECLARE_SCHEME_CALLBACK (calc_positioning_done, (SCM element)); + DECLARE_SCHEME_CALLBACK (force_shift_callback_rest, (SCM element, SCM off)); + static SCM do_shift (Grob *); }; #endif // REST_COLLISION_HH