From c20ab52aa7944d33cfbcbe07148f8280b352f2f2 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 23 Aug 2005 22:34:53 +0000 Subject: [PATCH] (print): try Tie_column::set_directions () if control-points not yet defined. --- lily/tie-column.cc | 4 ++-- lily/tie.cc | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/lily/tie-column.cc b/lily/tie-column.cc index 4f6eae212c..cd2eed2b8d 100644 --- a/lily/tie-column.cc +++ b/lily/tie-column.cc @@ -159,14 +159,14 @@ set_chord_outlines (Drul_array< Array > *skyline_drul, continue; Grob *dots = unsmob_grob (head->get_object ("dot")); - if (dots) + if (dots && d == LEFT) { Interval x = dots->extent (common, X_AXIS); Real p = Staff_symbol_referencer::get_position (dots); Interval y (-1,1); y *= (staff_space /4); - y.translate ( p * staff_space * .5); + y.translate (p * staff_space * .5); insert_extent_into_skyline (&skyline_drul->elem_ref (d), Box (x,y), Y_AXIS, -d); diff --git a/lily/tie.cc b/lily/tie.cc index 52c323d876..4e103bb2ad 100644 --- a/lily/tie.cc +++ b/lily/tie.cc @@ -347,8 +347,11 @@ Tie::get_configuration (Grob *me_grob, Grob *common, if (skylines) { - Real y = staff_space * 0.5 * staff_position; + Real half_space = 0.5 * staff_space; + Real y = staff_position * half_space; + attachments = get_skyline_attachment (*skylines, y); + attachments.widen (-gap); } conf->attachment_x_ = attachments; @@ -410,6 +413,19 @@ Tie::print (SCM smob) set_direction (me); SCM cp = me->get_property ("control-points"); + if (!scm_is_pair (cp)) + { + /* + UGH. dependency tracking! + */ + if (Tie_column::has_interface (me->get_parent (Y_AXIS))) + { + Tie_column::set_directions (me->get_parent (Y_AXIS)); + } + + cp = me->get_property ("control-points"); + } + if (!scm_is_pair (cp)) { set_default_control_points (me); -- 2.39.2