public:
//
- flexible_const_iterator operator++() {
+ flexible_const_iterator & operator++() {
if (pile_.empty())
++cit_;
else
if (!at_end && !row.flushed())
row.back().rtrim();
// boundary exists when there was no space at the end of row
- row.right_boundary(!at_end && row.back().endpos == row.endpos());
+ row.end_boundary(!at_end && row.back().endpos == row.endpos());
// make sure that the RTL elements are in reverse ordering
row.reverseRTL();
}
&& prevpar.getLabelWidthString() == par.getLabelWidthString()) {
layoutasc = layout.itemsep * dh;
} else if (pit != 0 && layout.topsep > 0)
- layoutasc = layout.topsep * dh;
+ // combine the separation between different layouts (with same depth)
+ layoutasc = max(0.0,
+ prevpar.getDepth() != par.getDepth() ? layout.topsep
+ : layout.topsep - prevpar.layout().bottomsep) * dh;
asc += int(layoutasc * 2 / (2 + pars[pit].getDepth()));
|| inset->lyxCode() == SEPARATOR_CODE))
pos = row.back().pos;
else
- boundary = row.right_boundary();
+ boundary = row.end_boundary();
}
x += xo - offset;