while(true){...QRegion reg;for (long i=0; i<N; i++)for (long j=0; j<N; j++){ QRegionF plTemplateTemp(plTemplate); plTemplateTemp.translate(dx*i,dy*j); reg = reg.united(QRegion(plTemplateTemp));}widget.setMask(reg);...msleep(1);if (...) return;}
QRegion res(plTemplate);for (int tdx = dx; dx < width; tdx += tdx) { QRegion tmp(res); tmp.translate(tdx, 0); res += tmp(); tmp.translate(-tdx, tdx); res += tmp(); tmp.translate(tdx, 0); res += tmp();}
widget.setMask(reg);