UNPKG

react-native-canvas

Version:
34 lines (33 loc) 1 kB
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;