X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fside-position-interface.cc;h=52551e8b5286452342d4eae53dbc1f9396efef36;hb=2bbacb364aa29041af9cbbbd32cfad2e8e387cb3;hp=08ac17285d4b9b1c6fa5bf7805a3a9609e4b1ba8;hpb=0c14539bc83d6bb405141b6f21430b33d1e8fcf0;p=lilypond.git diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index 08ac17285d..52551e8b52 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -65,7 +65,7 @@ get_support_set (Grob *me) for (vsize i = 0; i < proto_support.size (); i++) { - if (Accidental_placement::has_interface (proto_support[i])) + if (has_interface (proto_support[i])) { Grob *accs = proto_support[i]; for (SCM acs = accs->get_object ("accidental-grobs"); scm_is_pair (acs); @@ -220,7 +220,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i // skyline will likely be of infinite width anyway // and we don't want to prematurely trigger H spacing Real xc = a == X_AXIS || (pure && dynamic_cast (me)) - ? me->get_parent (X_AXIS)->relative_coordinate (common[X_AXIS], X_AXIS) + ? me->parent_relative (common[X_AXIS], X_AXIS) : me->relative_coordinate (common[X_AXIS], X_AXIS); // same here, for X_AXIS spacing, if it's happening, it should only be // before line breaking. because there is no thing as "pure" x spacing, @@ -252,7 +252,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i continue; // so 'me' may not move in response to 'e' if (a == Y_AXIS - && Stem::has_interface (e)) + && has_interface (e)) { // If called as 'pure' we may not force a stem to set its direction, if (pure && !is_direction (e->get_property_data ("direction"))) @@ -274,7 +274,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i if (unsmob (sp)) { Real xc = pure && dynamic_cast (e) - ? e->get_parent (X_AXIS)->relative_coordinate (common[X_AXIS], X_AXIS) + ? e->parent_relative (common[X_AXIS], X_AXIS) : e->relative_coordinate (common[X_AXIS], X_AXIS); // same logic as above // we assume horizontal spacing is always pure @@ -283,7 +283,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i : e->maybe_pure_coordinate (common[Y_AXIS], Y_AXIS, pure, start, end); Skyline_pair copy = *unsmob (sp); if (a == Y_AXIS - && Stem::has_interface (e) + && has_interface (e) && to_boolean (me->get_maybe_pure_property ("add-stem-support", pure, start, end))) copy[dir].set_minimum_height (copy[dir].max_height ()); copy.shift (a == X_AXIS ? yc : xc); @@ -381,7 +381,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i staff_span.widen (1); if (staff_span.contains (position) /* If we are between notehead and staff, quantize for ledger lines. */ - || (Note_head::has_interface (head) + || (has_interface (head) && dir * position < 0)) { total_off += (rounded - position) * 0.5 * ss;