+
+
+bool MathNestInset::covers(int x, int y) const
+{
+ if (!nargs())
+ return false;
+ int x0 = xcell(0).xo();
+ int y0 = xcell(0).yo() - xcell(0).ascent();
+ int x1 = xcell(0).xo() + xcell(0).width();
+ int y1 = xcell(0).yo() + xcell(0).descent();
+ for (idx_type i = 1; i < nargs(); ++i) {
+ x0 = min(x0, xcell(i).xo());
+ y0 = min(y0, xcell(i).yo() - xcell(i).ascent());
+ x1 = max(x1, xcell(i).xo() + xcell(i).width());
+ y1 = max(y1, xcell(i).yo() + xcell(i).descent());
+ }
+ return x >= x0 && x <= x1 && y >= y0 && y <= y1;
+}