X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fside-position-interface.cc;h=dcd6f237d34e962f2456979dec476cb76a3d6bb9;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=c1b848bfce7370007b95f9d033c0bf0b6bb0ae6b;hpb=2909349bdbefbf880fa9c8c47ba2eddf9f9855ca;p=lilypond.git diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index c1b848bfce..dcd6f237d3 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1998--2007 Han-Wen Nienhuys + (c) 1998--2008 Han-Wen Nienhuys */ #include "side-position-interface.hh" @@ -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) {