Merge pull request #2213 from yurydelendik/bug762657
Removes PutBinaryImageData compatibility check (re:bug 762657)
This commit is contained in:
commit
565d13f670
@ -1189,8 +1189,22 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||||||
this.restore();
|
this.restore();
|
||||||
},
|
},
|
||||||
|
|
||||||
putBinaryImageData: function CanvasGraphics_putBinaryImageData() {
|
putBinaryImageData: function CanvasGraphics_putBinaryImageData(ctx, imgData,
|
||||||
//
|
w, h) {
|
||||||
|
var tmpImgData = 'createImageData' in ctx ? ctx.createImageData(w, h) :
|
||||||
|
ctx.getImageData(0, 0, w, h);
|
||||||
|
|
||||||
|
var tmpImgDataPixels = tmpImgData.data;
|
||||||
|
var data = imgData.data;
|
||||||
|
if ('set' in tmpImgDataPixels)
|
||||||
|
tmpImgDataPixels.set(data);
|
||||||
|
else {
|
||||||
|
// Copy over the imageData pixel by pixel.
|
||||||
|
for (var i = 0, ii = tmpImgDataPixels.length; i < ii; i++)
|
||||||
|
tmpImgDataPixels[i] = data[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.putImageData(tmpImgData, 0, 0);
|
||||||
},
|
},
|
||||||
|
|
||||||
// Marked content
|
// Marked content
|
||||||
@ -1257,44 +1271,3 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
|||||||
return CanvasGraphics;
|
return CanvasGraphics;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
function checkPutBinaryImageDataCompatibility() {
|
|
||||||
// Feature detection if the browser can use an Uint8Array directly as imgData.
|
|
||||||
var canvas = document.createElement('canvas');
|
|
||||||
canvas.width = 1;
|
|
||||||
canvas.height = 1;
|
|
||||||
var ctx = canvas.getContext('2d');
|
|
||||||
|
|
||||||
try {
|
|
||||||
ctx.putImageData({
|
|
||||||
width: 1,
|
|
||||||
height: 1,
|
|
||||||
data: new Uint8Array(4)
|
|
||||||
}, 0, 0);
|
|
||||||
|
|
||||||
CanvasGraphics.prototype.putBinaryImageData =
|
|
||||||
function CanvasGraphicsPutBinaryImageDataNative(ctx, imgData) {
|
|
||||||
ctx.putImageData(imgData, 0, 0);
|
|
||||||
};
|
|
||||||
} catch (e) {
|
|
||||||
CanvasGraphics.prototype.putBinaryImageData =
|
|
||||||
function CanvasGraphicsPutBinaryImageDataShim(ctx, imgData, w, h) {
|
|
||||||
var tmpImgData = 'createImageData' in ctx ? ctx.createImageData(w, h) :
|
|
||||||
ctx.getImageData(0, 0, w, h);
|
|
||||||
|
|
||||||
var tmpImgDataPixels = tmpImgData.data;
|
|
||||||
var data = imgData.data;
|
|
||||||
if ('set' in tmpImgDataPixels)
|
|
||||||
tmpImgDataPixels.set(data);
|
|
||||||
else {
|
|
||||||
// Copy over the imageData pixel by pixel.
|
|
||||||
for (var i = 0, ii = tmpImgDataPixels.length; i < ii; i++)
|
|
||||||
tmpImgDataPixels[i] = data[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.putImageData(tmpImgData, 0, 0);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!isWorker) {
|
|
||||||
checkPutBinaryImageDataCompatibility();
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user