X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxrow_funcs.C;h=e4cd8c26ddd1cd767e0b52edb5716cb9ee24f8a9;hb=67f9c9fdae42211aa3ff8d0c6f62485bd721d8eb;hp=446e53979fc21b253cf5e40d24b3c79219deff68;hpb=7f3eb7cf70c473a30653efa48ead955554354579;p=lyx.git diff --git a/src/lyxrow_funcs.C b/src/lyxrow_funcs.C index 446e53979f..e4cd8c26dd 100644 --- a/src/lyxrow_funcs.C +++ b/src/lyxrow_funcs.C @@ -24,31 +24,16 @@ using std::min; using std::endl; -bool isParEnd(Paragraph const & par, Row const & row) -{ - return row.end() == par.size(); -} - - -pos_type lastPos(Paragraph const & par, Row const & row) -{ - if (par.empty()) - return 0; - pos_type pos = row.end() - 1; - if (pos == par.size()) - --pos; - return pos; -} - - int numberOfSeparators(Paragraph const & par, Row const & row) { - pos_type const last = lastPos(par, row); + pos_type const first = max(row.pos(), par.beginOfBody()); + pos_type const last = row.endpos() - 1; int n = 0; - pos_type p = max(row.pos(), par.beginningOfBody()); - for ( ; p < last; ++p) + for (pos_type p = first; p < last; ++p) { if (par.isSeparator(p)) ++n; + } + return n; } @@ -57,7 +42,7 @@ int numberOfSeparators(Paragraph const & par, Row const & row) // an anonymous namespace there. (Lgb) int numberOfHfills(Paragraph const & par, Row const & row) { - pos_type const last = lastPos(par, row); + pos_type const last = row.endpos() - 1; pos_type first = row.pos(); // hfill *DO* count at the beginning of paragraphs! @@ -66,7 +51,7 @@ int numberOfHfills(Paragraph const & par, Row const & row) ++first; } - first = max(first, par.beginningOfBody()); + first = max(first, par.beginOfBody()); int n = 0; @@ -84,7 +69,7 @@ int numberOfHfills(Paragraph const & par, Row const & row) // an anonymous namespace there. (Lgb) int numberOfLabelHfills(Paragraph const & par, Row const & row) { - pos_type last = lastPos(par, row); + pos_type last = row.endpos() - 1; pos_type first = row.pos(); // hfill *DO* count at the beginning of paragraphs! @@ -93,7 +78,7 @@ int numberOfLabelHfills(Paragraph const & par, Row const & row) ++first; } - last = min(last, par.beginningOfBody()); + last = min(last, par.beginOfBody()); int n = 0; // last, because the end is ignored @@ -113,18 +98,19 @@ bool hfillExpansion(Paragraph const & par, Row const & row, pos_type pos) // at the end of a row it does not count // unless another hfill exists on the line - if (pos >= lastPos(par, row)) + if (pos >= row.endpos()) { for (pos_type i = row.pos(); i < pos && !par.isHfill(i); ++i) return false; + } // at the beginning of a row it does not count, if it is not // the first row of a paragaph - if (row.isParStart()) + if (row.pos() == 0) return true; // in some labels it does not count if (par.layout()->margintype != MARGIN_MANUAL - && pos < par.beginningOfBody()) + && pos < par.beginOfBody()) return false; // if there is anything between the first char of the row and