UNPKG

kinetic-slider

Version:

A WebGL-powered kinetic slider component using PIXI.js

49 lines (45 loc) 1.57 kB
'use strict'; var pixiFilters = require('pixi-filters'); var ShaderResourceManager = require('../managers/ShaderResourceManager.cjs'); function createCrossHatchFilter(config) { const shaderManager = ShaderResourceManager.ShaderResourceManager.getInstance(); const shaderKey = `cross-hatch-filter`; const filter = new pixiFilters.CrossHatchFilter(); try { shaderManager.registerFilter(filter, shaderKey); } catch (error) { console.warn("Error registering cross hatch filter with shader manager:", error); } const updateIntensity = (intensity) => { const normalizedIntensity = Math.max(0, Math.min(10, intensity)); if ("alpha" in filter) { filter.alpha = normalizedIntensity / 10; } }; updateIntensity(config.intensity); const reset = () => { if ("alpha" in filter) { filter.alpha = config.alpha !== void 0 ? config.alpha : 1; } if ("enabled" in filter) { filter.enabled = config.enabled !== void 0 ? config.enabled : true; } if (config.intensity !== void 0) { updateIntensity(config.intensity); config.intensity > 0; } else { config.alpha !== void 0 ? config.alpha > 0 : false; } }; const dispose = () => { try { shaderManager.releaseFilter(filter, shaderKey); } catch (error) { console.warn("Error releasing cross hatch filter shader:", error); } filter.destroy(); }; return { filter, updateIntensity, reset, dispose }; } exports.createCrossHatchFilter = createCrossHatchFilter; //# sourceMappingURL=crossHatchFilter.cjs.map