X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Frest-collision.hh;h=07d80ab144bb9dea80afbf0af4428e7c7b89821e;hb=9afca041a3068199609d98f580ffe2a175b90b0f;hp=c2ae9cd1fd1e4c772ea60cb438cc108fba22a15c;hpb=7181c77e5d46a271f5f76e99bee7f844611e23e4;p=lilypond.git diff --git a/lily/include/rest-collision.hh b/lily/include/rest-collision.hh index c2ae9cd1fd..07d80ab144 100644 --- a/lily/include/rest-collision.hh +++ b/lily/include/rest-collision.hh @@ -3,52 +3,24 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2007 Han-Wen Nienhuys */ - #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*); - static Real force_shift_callback (Score_element *, Axis); - static SCM do_shift (Score_element*,SCM); + static void add_column (Grob *me, Grob *); + + DECLARE_GROB_INTERFACE(); + DECLARE_SCHEME_CALLBACK (force_shift_callback, (SCM element)); + 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