#include "hara-kiri-group-spanner.hh"
#include "grob-array.hh"
#include "international.hh"
+#include "system.hh"
#include "warn.hh"
+#include "paper-column.hh"
/*
TODO: for vertical spacing, should also include a rod & spring
vector<Grob*> child_refpoints;
for (vsize i = 0; i < elements->size (); i++)
{
- extract_grob_set ((*elements)[i], "elements", child_elts);
- Grob *child_common = common_refpoint_of_array (child_elts, (*elements)[i], other_axis (a));
+ Grob *elt = (*elements)[i];
+ Grob *child_common = unsmob_grob ((a == Y_AXIS)
+ ? elt->get_object ("X-common")
+ : elt->get_object ("Y-common"));
+
+ if (!child_common)
+ {
+ extract_grob_set (elt, "elements", child_elts);
+ child_common = common_refpoint_of_array (child_elts, elt, other_axis (a));
+ }
+
child_refpoints.push_back (child_common);
}
Grob *common_refpoint = common_refpoint_of_array (child_refpoints, me, other_axis (a));
SCM line_break_details = SCM_EOL;
if (a == Y_AXIS && me_spanner)
{
- line_break_details = me_spanner->get_bound (LEFT)->get_property ("line-break-system-details");
+ if (pure)
+ line_break_details = get_root_system (me)->column (start)->get_property ("line-break-system-details");
+ else
+ line_break_details = me_spanner->get_bound (LEFT)->get_property ("line-break-system-details");
if (!me->get_system () && !pure)
me->warning (_ ("vertical alignment called before line-breaking.\n"