UNPKG

@visactor/vgrammar-wordcloud

Version:

WordCloud layout transform for VGrammar

27 lines (23 loc) 1.11 kB
import { isFunction } from "@visactor/vutils"; export 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))); } export 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; } export const randomHslColor = (min, max) => "hsl(" + (360 * Math.random()).toFixed() + "," + (30 * Math.random() + 70).toFixed() + "%," + (Math.random() * (max - min) + min).toFixed() + "%)"; export function functor(d) { return isFunction(d) ? d : function() { return d; }; } //# sourceMappingURL=util.js.map