UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 2.07 kB
{"version":3,"file":"FilterBackend.min.mjs","sources":["../../../src/filters/FilterBackend.ts"],"sourcesContent":["import { config } from '../config';\nimport { getEnv } from '../env';\nimport { createCanvasElement } from '../util/misc/dom';\nimport { Canvas2dFilterBackend } from './Canvas2dFilterBackend';\nimport { WebGLFilterBackend } from './WebGLFilterBackend';\n\nexport type FilterBackend = WebGLFilterBackend | Canvas2dFilterBackend;\n\nlet filterBackend: FilterBackend;\n\n/**\n * Verifies if it is possible to initialize webgl or fallback on a canvas2d filtering backend\n */\nexport function initFilterBackend(): FilterBackend {\n const { WebGLProbe } = getEnv();\n WebGLProbe.queryWebGL(createCanvasElement());\n if (config.enableGLFiltering && WebGLProbe.isSupported(config.textureSize)) {\n return new WebGLFilterBackend({ tileSize: config.textureSize });\n } else {\n return new Canvas2dFilterBackend();\n }\n}\n\n/**\n * Get the current fabricJS filter backend or initialize one if not available yet\n * @param [strict] pass `true` to create the backend if it wasn't created yet (default behavior),\n * pass `false` to get the backend ref without mutating it\n */\nexport function getFilterBackend(strict = true): FilterBackend {\n if (!filterBackend && strict) {\n filterBackend = initFilterBackend();\n }\n return filterBackend;\n}\n\nexport function setFilterBackend(backend: FilterBackend) {\n filterBackend = backend;\n}\n"],"names":["filterBackend","initFilterBackend","WebGLProbe","getEnv","queryWebGL","createCanvasElement","config","enableGLFiltering","isSupported","textureSize","WebGLFilterBackend","tileSize","Canvas2dFilterBackend","getFilterBackend","arguments","length","undefined","setFilterBackend","backend"],"mappings":"kSAQA,IAAIA,EAKG,SAASC,IACd,MAAMC,WAAEA,GAAeC,IAEvB,OADAD,EAAWE,WAAWC,KAClBC,EAAOC,mBAAqBL,EAAWM,YAAYF,EAAOG,aACrD,IAAIC,EAAmB,CAAEC,SAAUL,EAAOG,cAE1C,IAAIG,CAEf,CAOO,SAASC,IAId,OAHKb,MADgCc,UAAAC,OAAA,QAAAC,IAAAF,UAAA,KAAAA,UAAA,MAEnCd,EAAgBC,KAEXD,CACT,CAEO,SAASiB,EAAiBC,GAC/BlB,EAAgBkB,CAClB"}