UNPKG

@nativescript-community/ui-htmlcanvasapi

Version:

An HTML Canvas API implementation on top of android and iOS native APIs

44 lines 1.54 kB
import { CanvasGradient } from '../CanvasGradient'; import { CanvasPattern } from '../CanvasPattern'; import { CanvasRenderingContext2D } from '../contexts/CanvasRenderingContext2D'; import { ImageBitmapRenderingContext } from '../contexts/ImageBitmapRenderingContext'; import { OffscreenCanvasRenderingContext2D } from '../contexts/OffscreenCanvasRenderingContext2D'; import { DOMMatrix } from '../DOMMatrix'; import { DOMPoint } from '../DOMPoint'; import { HTMLCanvasElement } from '../elements/HTMLCanvasElement'; import { OffscreenCanvas } from '../elements/OffscreenCanvas'; import { Path2D } from '../Path2D'; import { TextMetrics } from '../TextMetrics'; const polyfills = { CanvasRenderingContext2D, HTMLCanvasElement, ImageBitmapRenderingContext, OffscreenCanvasRenderingContext2D, OffscreenCanvas, CanvasGradient, CanvasPattern, DOMMatrix, DOMPoint, Path2D, TextMetrics, }; let _isInstalled; function installPolyfills() { if (_isInstalled) { console.warn('HTML Canvas polyfills are already installed'); return; } _isInstalled = true; if (typeof global.window === 'undefined') { global.window = {}; } if (!global.window.requestAnimationFrame) { global.window.requestAnimationFrame = (callback) => global.requestAnimationFrame(callback); } for (const key in polyfills) { global[key] = polyfills[key]; global.window[key] = polyfills[key]; } } export { installPolyfills }; //# sourceMappingURL=index.js.map