- Interval w = width (me);
-
- Item *item = dynamic_cast<Item *> (me);
- Paper_column *pc = item->get_column ();
-
- extract_grob_set (me, "conditional-elements", elts);
- for (vsize i = 0; i < elts.size (); i++)
- {
- Item *il = dynamic_cast<Item *> (elts[i]);
- if (pc != il->get_column ())
- {
- programming_error ("Separation_item element from wrong column");
- continue;
- }
-
- if (to_boolean (il->get_property ("no-spacing-rods")))
- continue;
-
- if (Accidental_placement::has_interface (il))
- w.unite (Accidental_placement::get_relevant_accidental_extent (il, pc, left));
- }
-
- SCM pad = me->get_property ("padding");
-
- w.widen (robust_scm2double (pad, 0.0));
- return w;
+ vector<Box> bs = boxes (me, left);
+ return Skyline (bs, 0.0, Y_AXIS, LEFT);