]> git.lyx.org Git - lyx.git/blobdiff - src/TextMetrics.cpp
Use ASCII number in \char definition
[lyx.git] / src / TextMetrics.cpp
index 94594ede2c2b2bb2dc46f7cd11090efa7437fb68..a93f9ba4cd3dce3ef33cb0d31193aff3f0847e2b 100644 (file)
@@ -1427,28 +1427,12 @@ InsetList::InsetTable * TextMetrics::checkInsetHit(pit_type pit, int x, int y)
 
        LYXERR(Debug::DEBUG, "x: " << x << " y: " << y << "  pit: " << pit);
 
-       InsetList::const_iterator iit = par.insetList().begin();
-       InsetList::const_iterator iend = par.insetList().end();
-       for (; iit != iend; ++iit) {
-               Inset * inset = iit->inset;
-
-               LYXERR(Debug::DEBUG, "examining inset " << inset);
-
-               if (!insetCache.has(inset)) {
-                       LYXERR(Debug::DEBUG, "inset has no cached position");
-                       return 0;
-               }
-
-               Dimension const & dim = insetCache.dim(inset);
-               Point p = insetCache.xy(inset);
-
-               LYXERR(Debug::DEBUG, "xo: " << p.x_ << "..." << p.x_ + dim.wid
-                       << " yo: " << p.y_ - dim.asc << "..." << p.y_ + dim.des);
+       for (auto const & it : par.insetList()) {
+               LYXERR(Debug::DEBUG, "examining inset " << it.inset);
 
-               if (x >= p.x_ && x <= p.x_ + dim.wid
-                   && y >= p.y_ - dim.asc && y <= p.y_ + dim.des) {
-                       LYXERR(Debug::DEBUG, "Hit inset: " << inset);
-                       return const_cast<InsetList::InsetTable *>(&(*iit));
+               if (insetCache.covers(it.inset, x, y)) {
+                       LYXERR(Debug::DEBUG, "Hit inset: " << it.inset);
+                       return const_cast<InsetList::InsetTable *>(&it);
                }
        }