X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fside-position-interface.cc;h=ceede5d9f1c6d65a5130aa587d0a9de348a5788d;hb=f0781acda2e0c2ef936a2c4c2f90b57f989faf6c;hp=c1b848bfce7370007b95f9d033c0bf0b6bb0ae6b;hpb=ac6c83f047635535d0481a15654c13e776334dc6;p=lilypond.git diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index c1b848bfce..ceede5d9f1 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -96,13 +96,15 @@ Side_position_interface::general_side_position (Grob *me, Axis a, bool use_exten continue; if (e) - if (use_extents) - dim.unite (e->maybe_pure_extent (common, a, pure, start, end)); - else - { - Real x = e->maybe_pure_coordinate (common, a, pure, start, end); - dim.unite (Interval (x, x)); - } + { + if (use_extents) + dim.unite (e->maybe_pure_extent (common, a, pure, start, end)); + else + { + Real x = e->maybe_pure_coordinate (common, a, pure, start, end); + dim.unite (Interval (x, x)); + } + } } if (dim.is_empty ()) @@ -218,6 +220,10 @@ Side_position_interface::calc_cross_staff (SCM smob) Grob *me = unsmob_grob (smob); extract_grob_set (me, "side-support-elements", elts); + for (vsize i = 0; i < elts.size (); i++) + if (to_boolean (elts[i]->get_property ("cross-staff"))) + return SCM_BOOL_T; + Grob *common = common_refpoint_of_array (elts, me->get_parent (Y_AXIS), Y_AXIS); return scm_from_bool (common != me->get_parent (Y_AXIS)); } @@ -263,7 +269,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i { Interval iv = me->maybe_pure_extent (me, a, pure, start, end); - Real padding + Real padding = Staff_symbol_referencer::staff_space (me) * scm_to_double (me->get_property ("staff-padding")); @@ -290,6 +296,7 @@ Side_position_interface::set_axis (Grob *me, Axis a) a); } } + Axis Side_position_interface::get_axis (Grob *me) {