source file of the GNU LilyPond music typesetter
- (c) 1998--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "separating-group-spanner.hh"
if (lb)
{
- Interval li (Separation_item::width (lb));
- Interval ri (Separation_item::conditional_width (r, lb));
- if (!li.is_empty () && !ri.is_empty ())
- {
- Rod rod;
-
- rod.item_drul_[LEFT] = lb;
- rod.item_drul_[RIGHT] = r;
-
- rod.distance_ = li[RIGHT] - ri[LEFT] + padding;
- rod.add_to_cols ();
- }
+ Separation_item::set_distance (Drul_array<Item*> (lb, r), padding);
}
- Interval li (Separation_item::width (l));
- Interval ri (Separation_item::conditional_width (r, l));
- if (!li.is_empty () && !ri.is_empty ())
- {
- Rod rod;
-
- rod.item_drul_[LEFT] = l;
- rod.item_drul_[RIGHT] = r;
-
- rod.distance_ = li[RIGHT] - ri[LEFT] + padding;
-
- if (rod.distance_ > 0.0)
- rod.add_to_cols ();
- break;
- }
+ if (Separation_item::set_distance (Drul_array<Item *> (l, r), padding))
+ break;
/*
this grob doesn't cause a constraint. We look further until we
void
Separating_group_spanner::add_spacing_unit (Grob *me, Item *i)
{
- Pointer_group_interface::add_grob (me, ly_symbol2scm ("elements"), i);
+ Pointer_group_interface::add_unordered_grob (me, ly_symbol2scm ("elements"), i);
}
-ADD_INTERFACE (Separating_group_spanner, "separation-spanner-interface",
+ADD_INTERFACE (Separating_group_spanner,
"A spanner that calculates spacing constraints (\"rods\") "
"using the @code{separation-item-interface} grobs in @code{elements}.",
/* properties */
"elements "
- "padding");
+ "padding ");