X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fhara-kiri-group-spanner.hh;h=42692c73969f7d1a847408ae69c5219a7997d3ca;hb=955f7d961f7cca354a4c5d0bc6f36d157149f7e9;hp=476a18a915db3fa0d2a33289eba48b4d68082e11;hpb=4ef78bcae9cb502769f3ff7051b92381b9093e9f;p=lilypond.git diff --git a/lily/include/hara-kiri-group-spanner.hh b/lily/include/hara-kiri-group-spanner.hh index 476a18a915..42692c7396 100644 --- a/lily/include/hara-kiri-group-spanner.hh +++ b/lily/include/hara-kiri-group-spanner.hh @@ -3,39 +3,27 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2000 Jan Nieuwenhuizen + (c) 1998--2006 Jan Nieuwenhuizen */ - #ifndef HARA_KIRI_VERTICAL_GROUP_SPANNER_HH #define HARA_KIRI_VERTICAL_GROUP_SPANNER_HH -#include "spanner.hh" - -/** - As Vertical_group_spanner, but keep track of interesting items. If - we don't contain any interesting items after linebreaking, then - gracefully commit suicide. Objective: don't disgrace Lily by - typesetting empty lines in orchestral scores. - - properties: - - items-worth-living -- list of interesting items. If empty in a particular system, - clear this line +#include "lily-proto.hh" +#include "grob-interface.hh" -*/ -class Hara_kiri_group_spanner : public Spanner +class Hara_kiri_group_spanner { public: - static Real force_hara_kiri_callback (Score_element const* , Axis); - Hara_kiri_group_spanner (SCM); - SCM member_after_line_breaking (); - static SCM after_line_breaking (SCM); - - void add_interesting_item (Item* n); - - VIRTUAL_COPY_CONS(Score_element); + DECLARE_SCHEME_CALLBACK (force_hara_kiri_callback, (SCM)); + DECLARE_SCHEME_CALLBACK (y_extent, (SCM smob)); + DECLARE_SCHEME_CALLBACK (pure_height, (SCM smob, SCM start, SCM end)); + DECLARE_SCHEME_CALLBACK (force_hara_kiri_in_y_parent_callback, (SCM)); + DECLARE_SCHEME_CALLBACK (after_line_breaking, (SCM)); + DECLARE_GROB_INTERFACE(); + static bool request_suicide (Grob *me, int start, int end); + static void consider_suicide (Grob *me); + static void add_interesting_item (Grob *me, Grob *n); }; - #endif // HARA_KIRI_VERTICAL_GROUP_SPANNER_HH