piskel/dev/js/selection/BaseSelection.js
2017-05-22 09:56:42 +02:00

35 lines
864 B
JavaScript

(function () {
var ns = $.namespace('pskl.selection');
ns.BaseSelection = function () {
this.reset();
};
ns.BaseSelection.prototype.reset = function () {
this.pixels = [];
this.hasPastedContent = false;
};
ns.BaseSelection.prototype.move = function (colDiff, rowDiff) {
var movedPixels = [];
for (var i = 0, l = this.pixels.length; i < l; i++) {
var movedPixel = this.pixels[i];
movedPixel.col += colDiff;
movedPixel.row += rowDiff;
movedPixels.push(movedPixel);
}
this.pixels = movedPixels;
};
ns.BaseSelection.prototype.fillSelectionFromFrame = function (targetFrame) {
this.pixels.forEach(function (pixel) {
var color = targetFrame.getPixel(pixel.col, pixel.row);
pixel.color = color || Constants.TRANSPARENT_COLOR;
});
this.hasPastedContent = true;
};
})();