Cleanup bruteFind.

This commit is contained in:
Jean-Marc Lasgouttes 2016-02-28 16:56:00 +01:00 committed by Richard Heck
parent 27bc2e4b63
commit 700e480a18

View File

@ -73,25 +73,25 @@ DocIterator bruteFind(Cursor const & c, int x, int y)
DocIterator result; DocIterator result;
DocIterator it = c; DocIterator it = c;
it.top().pos() = 0; it.pos() = 0;
DocIterator et = c; DocIterator et = c;
et.top().pos() = et.top().asInsetMath()->cell(et.top().idx()).size(); et.pos() = et.lastpos();
for (size_t i = 0;; ++i) { for (size_t i = 0;; ++i) {
int xo; int xo;
int yo; int yo;
Inset const * inset = &it.inset(); Inset const * inset = &it.inset();
CoordCache const & cache = c.bv().coordCache(); CoordCache::Insets const & insetCache = c.bv().coordCache().getInsets();
// FIXME: in the case where the inset is not in the cache, this // FIXME: in the case where the inset is not in the cache, this
// means that no part of it is visible on screen. In this case // means that no part of it is visible on screen. In this case
// we don't do elaborate search and we just return the forwarded // we don't do elaborate search and we just return the forwarded
// DocIterator at its beginning. // DocIterator at its beginning.
if (!cache.getInsets().has(inset)) { if (!insetCache.has(inset)) {
it.top().pos() = 0; it.top().pos() = 0;
return it; return it;
} }
Point const o = cache.getInsets().xy(inset); Point const o = insetCache.xy(inset);
inset->cursorPos(c.bv(), it.top(), c.boundary(), xo, yo); inset->cursorPos(c.bv(), it.top(), c.boundary(), xo, yo);
// Convert to absolute // Convert to absolute
xo += o.x_; xo += o.x_;