UNPKG

vega-scenegraph

Version:

Vega scenegraph and renderers.

33 lines (26 loc) 818 B
function devicePixelRatio() { return typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1; } export default function(canvas, width, height, origin, scaleFactor, opt) { const inDOM = typeof HTMLElement !== 'undefined' && canvas instanceof HTMLElement && canvas.parentNode != null, context = canvas.getContext('2d'), ratio = inDOM ? devicePixelRatio() : scaleFactor; canvas.width = width * ratio; canvas.height = height * ratio; for (const key in opt) { context[key] = opt[key]; } if (inDOM && ratio !== 1) { canvas.style.width = width + 'px'; canvas.style.height = height + 'px'; } context.pixelRatio = ratio; context.setTransform( ratio, 0, 0, ratio, ratio * origin[0], ratio * origin[1] ); return canvas; }