114 lines
2.2 KiB
JavaScript
114 lines
2.2 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||
|
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
exports.isNodePattern = isNodePattern;
|
||
|
exports.throwError = throwError;
|
||
|
exports.scan = scan;
|
||
|
exports.scanIterator = scanIterator;
|
||
|
|
||
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
||
|
|
||
|
var _marked =
|
||
|
/*#__PURE__*/
|
||
|
_regenerator["default"].mark(scanIterator);
|
||
|
|
||
|
function isNodePattern(cb) {
|
||
|
if (typeof cb === 'undefined') {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
if (typeof cb !== 'function') {
|
||
|
throw new TypeError('Callback must be a function');
|
||
|
}
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
function throwError(error, cb) {
|
||
|
if (typeof error === 'string') {
|
||
|
error = new Error(error);
|
||
|
}
|
||
|
|
||
|
if (typeof cb === 'function') {
|
||
|
return cb.call(this, error);
|
||
|
}
|
||
|
|
||
|
throw error;
|
||
|
}
|
||
|
|
||
|
function scan(image, x, y, w, h, f) {
|
||
|
// round input
|
||
|
x = Math.round(x);
|
||
|
y = Math.round(y);
|
||
|
w = Math.round(w);
|
||
|
h = Math.round(h);
|
||
|
|
||
|
for (var _y = y; _y < y + h; _y++) {
|
||
|
for (var _x = x; _x < x + w; _x++) {
|
||
|
var idx = image.bitmap.width * _y + _x << 2;
|
||
|
f.call(image, _x, _y, idx);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return image;
|
||
|
}
|
||
|
|
||
|
function scanIterator(image, x, y, w, h) {
|
||
|
var _y, _x, idx;
|
||
|
|
||
|
return _regenerator["default"].wrap(function scanIterator$(_context) {
|
||
|
while (1) {
|
||
|
switch (_context.prev = _context.next) {
|
||
|
case 0:
|
||
|
// round input
|
||
|
x = Math.round(x);
|
||
|
y = Math.round(y);
|
||
|
w = Math.round(w);
|
||
|
h = Math.round(h);
|
||
|
_y = y;
|
||
|
|
||
|
case 5:
|
||
|
if (!(_y < y + h)) {
|
||
|
_context.next = 17;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
_x = x;
|
||
|
|
||
|
case 7:
|
||
|
if (!(_x < x + w)) {
|
||
|
_context.next = 14;
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
idx = image.bitmap.width * _y + _x << 2;
|
||
|
_context.next = 11;
|
||
|
return {
|
||
|
x: _x,
|
||
|
y: _y,
|
||
|
idx: idx,
|
||
|
image: image
|
||
|
};
|
||
|
|
||
|
case 11:
|
||
|
_x++;
|
||
|
_context.next = 7;
|
||
|
break;
|
||
|
|
||
|
case 14:
|
||
|
_y++;
|
||
|
_context.next = 5;
|
||
|
break;
|
||
|
|
||
|
case 17:
|
||
|
case "end":
|
||
|
return _context.stop();
|
||
|
}
|
||
|
}
|
||
|
}, _marked);
|
||
|
}
|
||
|
//# sourceMappingURL=index.js.map
|