X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fbreak-alignment-interface.cc;h=a1d7606445353ece111cbf221a4bc9eda9257f53;hb=2bbacb364aa29041af9cbbbd32cfad2e8e387cb3;hp=f9993b0892eeaeeef84fb363bce37edc737453cf;hpb=0fe24db3936774a8fb913cb14c997036db7aeb1c;p=lilypond.git diff --git a/lily/break-alignment-interface.cc b/lily/break-alignment-interface.cc index f9993b0892..a1d7606445 100644 --- a/lily/break-alignment-interface.cc +++ b/lily/break-alignment-interface.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 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 @@ -58,7 +58,7 @@ Break_alignment_interface::ordered_elements (Grob *grob) SCM order = break_align_order (me); - if (order == SCM_BOOL_F) + if (scm_is_false (order)) return elts; vector writable_elts (elts); @@ -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); @@ -144,8 +144,8 @@ Break_alignment_interface::calc_positioning_done (SCM smob) Grob *elt = elts[i]; if (edge_idx == VPOS - && (elt->get_property ("break-align-symbol") - == ly_symbol2scm ("left-edge"))) + && scm_is_eq (elt->get_property ("break-align-symbol"), + ly_symbol2scm ("left-edge"))) edge_idx = idx; SCM l = elt->get_property ("space-alist"); @@ -174,7 +174,7 @@ Break_alignment_interface::calc_positioning_done (SCM smob) } } - if (rsym == ly_symbol2scm ("left-edge")) + if (scm_is_eq (rsym, ly_symbol2scm ("left-edge"))) edge_idx = next_idx; SCM entry = SCM_EOL; @@ -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 (), @@ -210,11 +210,11 @@ Break_alignment_interface::calc_positioning_done (SCM smob) if (r) { - if (type == ly_symbol2scm ("extra-space")) + if (scm_is_eq (type, ly_symbol2scm ("extra-space"))) offsets[next_idx] = extents[idx][RIGHT] + distance - extents[next_idx][LEFT]; /* should probably junk minimum-space */ - else if (type == ly_symbol2scm ("minimum-space")) + else if (scm_is_eq (type, ly_symbol2scm ("minimum-space"))) offsets[next_idx] = max (extents[idx][RIGHT], distance); } else @@ -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++)