+std::pair<int,int> TexRow::rowFromCursor(Cursor const & cur) const
+{
+ DocIterator beg = cur.selectionBegin();
+ std::pair<int,int> beg_rows = rowFromDocIterator(beg);
+ if (cur.selection()) {
+ DocIterator end = cur.selectionEnd();
+ if (!cur.selIsMultiCell()
+ // backwardPos asserts without the following test, IMO it's not my
+ // duty to check this.
+ && (end.top().pit() != 0
+ || end.top().idx() != 0
+ || end.top().pos() != 0))
+ end.top().backwardPos();
+ std::pair<int,int> end_rows = rowFromDocIterator(end);
+ return std::make_pair(std::min(beg_rows.first, end_rows.first),
+ std::max(beg_rows.second, end_rows.second));
+ } else
+ return std::make_pair(beg_rows.first, beg_rows.second);
+}
+
+