(c) 2000--2007 Jan Nieuwenhuizen <janneke@gnu.org>
*/
+#include "align-interface.hh"
#include "axis-group-interface.hh"
-#include "spanner.hh"
-#include "output-def.hh"
-#include "item.hh"
-#include "staff-symbol-referencer.hh"
#include "font-interface.hh"
-#include "warn.hh"
-#include "align-interface.hh"
+#include "grob-interface.hh"
+#include "item.hh"
+#include "lily-proto.hh"
#include "line-interface.hh"
#include "moment.hh"
+#include "output-def.hh"
+#include "pointer-group-interface.hh"
+#include "spanner.hh"
+#include "staff-symbol-referencer.hh"
#include "system.hh"
-
-#include "lily-proto.hh"
-#include "grob-interface.hh"
#include "text-interface.hh"
+#include "warn.hh"
class Line_spanner
{
details, SCM_BOOL_F),
CENTER);
+ Item *bound_item = me->get_bound (dir);
+ Grob *bound_grob = bound_item;
+ if (to_boolean (ly_assoc_get (ly_symbol2scm ("end-on-note"), details, SCM_BOOL_F))
+ && bound_item->break_status_dir ())
+ {
+ extract_grob_set (me, "note-columns", columns);
+ if (columns.size ())
+ bound_grob = (dir == LEFT)
+ ? columns[0] : columns.back();
+ }
+
details = scm_acons (ly_symbol2scm ("X"),
- scm_from_double (me->get_bound (dir)->extent (commonx, X_AXIS)
+ scm_from_double (bound_grob->extent (commonx, X_AXIS)
.linear_combination (attach)),
details);
}
"@code{dotted-line} or @code{zigzag}.\n"
"\n",
+ "bound-details "
"extra-dy "
"gap "
- "thickness "
- "bound-details "
- "left-bound-info "
+ "left-bound-info "
+ "note-columns "
"right-bound-info "
+ "thickness "
);
#include "international.hh"
#include "note-column.hh"
+#include "pointer-group-interface.hh"
#include "side-position-interface.hh"
#include "stream-event.hh"
#include "spanner.hh"
protected:
virtual void finalize ();
DECLARE_TRANSLATOR_LISTENER (trill_span);
+ DECLARE_ACKNOWLEDGER (note_column);
+
void stop_translation_timestep ();
void process_music ();
ASSIGN_EVENT_ONCE (event_drul_[d], ev);
}
+void
+Trill_spanner_engraver::acknowledge_note_column (Grob_info info)
+{
+ if (!span_)
+ return;
+
+ Pointer_group_interface::add_grob (span_,
+ ly_symbol2scm ("note-columns"),
+ info.grob());
+}
+
+ADD_ACKNOWLEDGER (Trill_spanner_engraver, note_column);
+
+
void
Trill_spanner_engraver::process_music ()
{