UNPKG

@visactor/vgrammar-wordcloud

Version:

WordCloud layout transform for VGrammar

37 lines (29 loc) 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.functor = exports.randomHslColor = exports.getMinFontSizeOfEnv = exports.isSupported = void 0; const vutils_1 = require("@visactor/vutils"); function isSupported() { const canvas = document.createElement("canvas"); if (!canvas || !canvas.getContext) return !1; const ctx = canvas.getContext("2d"); return !!ctx && (!!ctx.getImageData && (!!ctx.fillText && (!!Array.prototype.some && !!Array.prototype.push))); } function getMinFontSizeOfEnv() { const ctx = document.createElement("canvas").getContext("2d"); let hanWidth, mWidth, size = 20; for (;size; ) { if (ctx.font = size.toString(10) + "px sans-serif", ctx.measureText("W").width === hanWidth && ctx.measureText("m").width === mWidth) return size + 1; hanWidth = ctx.measureText("W").width, mWidth = ctx.measureText("m").width, size--; } return 12; } exports.isSupported = isSupported, exports.getMinFontSizeOfEnv = getMinFontSizeOfEnv; const randomHslColor = (min, max) => "hsl(" + (360 * Math.random()).toFixed() + "," + (30 * Math.random() + 70).toFixed() + "%," + (Math.random() * (max - min) + min).toFixed() + "%)"; function functor(d) { return (0, vutils_1.isFunction)(d) ? d : function() { return d; }; } exports.randomHslColor = randomHslColor, exports.functor = functor; //# sourceMappingURL=util.js.map