summaryrefslogtreecommitdiff
path: root/lily/include/hara-kiri-group-spanner.hh
diff options
context:
space:
mode:
Diffstat (limited to 'lily/include/hara-kiri-group-spanner.hh')
-rw-r--r--lily/include/hara-kiri-group-spanner.hh41
1 files changed, 41 insertions, 0 deletions
diff --git a/lily/include/hara-kiri-group-spanner.hh b/lily/include/hara-kiri-group-spanner.hh
new file mode 100644
index 0000000000..476a18a915
--- /dev/null
+++ b/lily/include/hara-kiri-group-spanner.hh
@@ -0,0 +1,41 @@
+/*
+ hara-kiri-vertical-group-spanner.hh -- declare Har_kiri_vertical_group_spanner
+
+ source file of the GNU LilyPond music typesetter
+
+ (c) 1998--2000 Jan Nieuwenhuizen <janneke@gnu.org>
+*/
+
+
+#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
+
+*/
+class Hara_kiri_group_spanner : public 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);
+};
+
+
+#endif // HARA_KIRI_VERTICAL_GROUP_SPANNER_HH