fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 2.6 kB
Source Map (JSON)
{"version":3,"file":"FilterBackend.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","strict","arguments","length","undefined","setFilterBackend","backend"],"mappings":";;;;;;AAQA,IAAIA,aAA4B,CAAA;;AAEhC;AACA;AACA;AACO,SAASC,iBAAiBA,GAAkB;EACjD,MAAM;AAAEC,IAAAA,UAAAA;GAAY,GAAGC,MAAM,EAAE,CAAA;AAC/BD,EAAAA,UAAU,CAACE,UAAU,CAACC,mBAAmB,EAAE,CAAC,CAAA;AAC5C,EAAA,IAAIC,MAAM,CAACC,iBAAiB,IAAIL,UAAU,CAACM,WAAW,CAACF,MAAM,CAACG,WAAW,CAAC,EAAE;IAC1E,OAAO,IAAIC,kBAAkB,CAAC;MAAEC,QAAQ,EAAEL,MAAM,CAACG,WAAAA;AAAY,KAAC,CAAC,CAAA;AACjE,GAAC,MAAM;IACL,OAAO,IAAIG,qBAAqB,EAAE,CAAA;AACpC,GAAA;AACF,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,GAA+B;AAAA,EAAA,IAA9BC,MAAM,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI,CAAA;AAC5C,EAAA,IAAI,CAACf,aAAa,IAAIc,MAAM,EAAE;IAC5Bd,aAAa,GAAGC,iBAAiB,EAAE,CAAA;AACrC,GAAA;AACA,EAAA,OAAOD,aAAa,CAAA;AACtB,CAAA;AAEO,SAASkB,gBAAgBA,CAACC,OAAsB,EAAE;AACvDnB,EAAAA,aAAa,GAAGmB,OAAO,CAAA;AACzB;;;;"}