X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-alignment-interface.cc;h=a1d7606445353ece111cbf221a4bc9eda9257f53;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=bb7f02eda099cbce13e73a323ac4e3870b30fdcf;hpb=e0af94bb8939bc6f4998db6294010baa77139092;p=lilypond.git diff --git a/lily/break-alignment-interface.cc b/lily/break-alignment-interface.cc index bb7f02eda0..a1d7606445 100644 --- a/lily/break-alignment-interface.cc +++ b/lily/break-alignment-interface.cc @@ -73,7 +73,7 @@ Break_alignment_interface::ordered_elements (Grob *grob) for (vsize i = writable_elts.size (); i--;) { Grob *g = writable_elts[i]; - if (g && sym == g->get_property ("break-align-symbol")) + if (g && scm_is_eq (sym, g->get_property ("break-align-symbol"))) { new_elts.push_back (g); writable_elts.erase (writable_elts.begin () + i); @@ -94,7 +94,7 @@ MAKE_SCHEME_CALLBACK (Break_alignment_interface, calc_positioning_done, 1) SCM Break_alignment_interface::calc_positioning_done (SCM smob) { - Grob *grob = Grob::unsmob (smob); + Grob *grob = unsmob (smob); Item *me = dynamic_cast (grob); me->set_property ("positioning-done", SCM_BOOL_T); @@ -189,8 +189,8 @@ Break_alignment_interface::calc_positioning_done (SCM smob) sym_string = ly_symbol2string (rsym); string orig_string; - if (Grob::is_smob (l->get_property ("cause"))) - orig_string = Grob::unsmob (l->get_property ("cause"))->name (); + if (unsmob (l->get_property ("cause"))) + orig_string = unsmob (l->get_property ("cause"))->name (); programming_error (to_string ("No spacing entry from %s to `%s'", orig_string.c_str (), @@ -261,9 +261,9 @@ MAKE_SCHEME_CALLBACK (Break_alignable_interface, self_align_callback, 1) SCM Break_alignable_interface::self_align_callback (SCM grob) { - Grob *me = Grob::unsmob (grob); + Grob *me = unsmob (grob); Item *alignment = dynamic_cast (me->get_parent (X_AXIS)); - if (!Break_alignment_interface::has_interface (alignment)) + if (!has_interface (alignment)) return scm_from_int (0); SCM symbol_list = me->get_property ("break-align-symbols"); @@ -277,9 +277,10 @@ Break_alignable_interface::self_align_callback (SCM grob) SCM sym = scm_car (symbol_list); for (vsize i = 0; i < elements.size (); i++) { - if (elements[i]->get_property ("break-align-symbol") == sym) + if (scm_is_eq (sym, elements[i]->get_property ("break-align-symbol"))) { if (Item::break_visible (elements[i]) + // TODO SCM: simplify syntax? && !elements[i]->extent (elements[i], X_AXIS).is_empty ()) { break_aligned_grob = i; @@ -308,7 +309,7 @@ MAKE_SCHEME_CALLBACK (Break_aligned_interface, calc_average_anchor, 1) SCM Break_aligned_interface::calc_average_anchor (SCM grob) { - Grob *me = Grob::unsmob (grob); + Grob *me = unsmob (grob); Real avg = 0.0; int count = 0; @@ -331,7 +332,7 @@ MAKE_SCHEME_CALLBACK (Break_aligned_interface, calc_extent_aligned_anchor, 1) SCM Break_aligned_interface::calc_extent_aligned_anchor (SCM smob) { - Grob *me = Grob::unsmob (smob); + Grob *me = unsmob (smob); Real alignment = robust_scm2double (me->get_property ("break-align-anchor-alignment"), 0.0); Interval iv = me->extent (me, X_AXIS); @@ -346,7 +347,7 @@ SCM Break_aligned_interface::calc_break_visibility (SCM smob) { /* a BreakAlignGroup is break-visible if it has one element that is break-visible */ - Grob *me = Grob::unsmob (smob); + Grob *me = unsmob (smob); SCM ret = scm_c_make_vector (3, SCM_EOL); extract_grob_set (me, "elements", elts); for (int dir = 0; dir <= 2; dir++)