react-native-canvas
Version:
A Canvas component for React Native
34 lines (33 loc) • 1 kB
JavaScript
var scale = function (ratio) {
return function (item) {
if (typeof item === "number") {
return item * ratio;
}
return item;
};
};
/**
* Extracted from https://github.com/component/autoscale-canvas
* @param {Canvas} canvas
* @return {Canvas}
*/
function autoScaleCanvas(canvas) {
var ctx = canvas.getContext("2d");
var ratio = window.devicePixelRatio || 1;
if (ratio !== 1) {
canvas.style.width = canvas.width + "px";
canvas.style.height = canvas.height + "px";
canvas.width *= ratio;
canvas.height *= ratio;
ctx.scale(ratio, ratio);
ctx.isPointInPath = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return CanvasRenderingContext2D.prototype.isPointInPath.apply(ctx, args.map(scale(ratio)));
};
}
return canvas;
}
window.autoScaleCanvas = autoScaleCanvas;