srecord noeq PixelSetsEqual(IPixelSet set1, IPixelSet set2) { // pixel sets are technically identical with differing bounds settable bool boundsMustBeEqual = true; gettable Pt firstDifferingPixel; bool get() { if (set1 == null) ret set2 == null; if (set2 == null) false; Rect r = set1.bounds(); if (boundsMustBeEqual && !eq(r, set2.bounds())) false; for (int y = r.y(); y < r.y2(); y++) for (int x = r.x(); x < r.x2(); x++) if (set1.contains(x, y) != set2.contains(x, y)) { firstDifferingPixel = pt(x, y); false; } true; } }