UNPKG

@netdata/charts

Version:

Netdata frontend SDK and chart utilities

30 lines 1.14 kB
export var createCanvas = function createCanvas(width, height) { var backgroundCanvas = document.createElement("canvas"); backgroundCanvas.width = width; backgroundCanvas.height = height; return backgroundCanvas; }; export var copyCanvas = function copyCanvas(sourceCanvas, targetCanvas) { targetCanvas.width = sourceCanvas.width; targetCanvas.height = sourceCanvas.height; var ctx = targetCanvas.getContext("2d"); ctx.clearRect(0, 0, targetCanvas.width, targetCanvas.height); ctx.drawImage(sourceCanvas, 0, 0); }; var measureContext; var getMeasureContext = function getMeasureContext() { if (typeof document === "undefined") return null; if (typeof navigator !== "undefined" && /jsdom/i.test(navigator.userAgent)) return null; try { if (!measureContext) measureContext = document.createElement("canvas").getContext("2d"); } catch (_unused) { return null; } return measureContext; }; export var measureTextWidth = function measureTextWidth(text, font) { var context = getMeasureContext(); if (!context) return null; if (font) context.font = font; return context.measureText(text || "").width; };