X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fside-position-interface.cc;h=30856416d8481c6841cf80dd645482817555e254;hb=e8b68d8a878a0ee0381719230cf911dbcefa168d;hp=e3830d3d2f7d5484f8e3291e58385808aa64f491;hpb=7891600a5dd421c1f25776ea3b405c64f4f14752;p=lilypond.git diff --git a/lily/side-position-interface.cc b/lily/side-position-interface.cc index e3830d3d2f..30856416d8 100644 --- a/lily/side-position-interface.cc +++ b/lily/side-position-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1998--2012 Han-Wen Nienhuys + Copyright (C) 1998--2014 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -72,7 +72,7 @@ get_support_set (Grob *me) acs = scm_cdr (acs)) for (SCM s = scm_cdar (acs); scm_is_pair (s); s = scm_cdr (s)) { - Grob *a = unsmob_grob (scm_car (s)); + Grob *a = Grob::unsmob (scm_car (s)); support.insert (a); } } @@ -96,7 +96,7 @@ axis_aligned_side_helper (SCM smob, Axis a, bool pure, int start, int end, SCM c current_off_ptr = &r; } - Grob *me = unsmob_grob (smob); + Grob *me = Grob::unsmob (smob); // We will only ever want widths of spanners after line breaking // so we can set pure to false if (dynamic_cast (me) && a == X_AXIS) @@ -138,7 +138,7 @@ MAKE_SCHEME_CALLBACK (Side_position_interface, calc_cross_staff, 1) SCM Side_position_interface::calc_cross_staff (SCM smob) { - Grob *me = unsmob_grob (smob); + Grob *me = Grob::unsmob (smob); extract_grob_set (me, "side-support-elements", elts); Direction my_dir = get_grob_direction (me) ; @@ -360,8 +360,8 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i } /* - Maintain a minimum distance to the staff. This is similar to side - position with padding, but it will put adjoining objects on a row if + Ensure 'staff-padding' from my refpoint to the staff. This is similar to + side-position with padding, but it will put adjoining objects on a row if stuff sticks out of the staff a little. */ Grob *staff = Staff_symbol_referencer::get_staff_symbol (me); @@ -392,8 +392,6 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i } else if (scm_is_number (me->get_maybe_pure_property ("staff-padding", pure, start, end)) && dir) { - Interval iv = me->maybe_pure_extent (me, a, pure, start, end); - Real staff_padding = Staff_symbol_referencer::staff_space (me) * scm_to_double (me->get_maybe_pure_property ("staff-padding", pure, start, end)); @@ -404,7 +402,7 @@ Side_position_interface::aligned_side (Grob *me, Axis a, bool pure, int start, i Real staff_position = staff->maybe_pure_coordinate (common, Y_AXIS, pure, start, end); Interval staff_extent = staff->maybe_pure_extent (staff, a, pure, start, end); Real diff = (dir * staff_extent[dir] + staff_padding - - dir * (total_off + iv[-dir]) + - dir * total_off + dir * (staff_position - parent_position)); total_off += dir * max (diff, 0.0); } @@ -442,7 +440,7 @@ MAKE_SCHEME_CALLBACK (Side_position_interface, move_to_extremal_staff, 1); SCM Side_position_interface::move_to_extremal_staff (SCM smob) { - Grob *me = unsmob_grob (smob); + Grob *me = Grob::unsmob (smob); System *sys = dynamic_cast (me->get_system ()); Direction dir = get_grob_direction (me); if (dir != DOWN) @@ -467,7 +465,7 @@ Side_position_interface::move_to_extremal_staff (SCM smob) Axis_group_interface::add_element (top_staff, me); // Remove any cross-staff side-support dependencies - Grob_array *ga = unsmob_grob_array (me->get_object ("side-support-elements")); + Grob_array *ga = Grob_array::unsmob (me->get_object ("side-support-elements")); if (ga) { vector const &elts = ga->array ();