{"version":3,"file":"DashLineShader.mjs","sources":["../src/DashLineShader.ts"],"sourcesContent":["import { SmoothGraphicsShader } from './SmoothShader';\n\nconst dashFrag = `%PRECISION%\nvarying vec4 vColor;\nvarying vec4 vLine1;\nvarying vec4 vLine2;\nvarying vec4 vArc;\nvarying float vType;\nvarying float vTextureId;\nvarying vec2 vTextureCoord;\nvarying vec2 vTravel;\nuniform sampler2D uSamplers[%MAX_TEXTURES%];\nuniform float dash;\nuniform float gap;\n\n%PIXEL_LINE%\n\nvoid main(void){\n    %PIXEL_COVERAGE%\n\n    float d = dash * vTravel.y;\n    if (d > 0.0) {\n        float g = gap * vTravel.y;\n        if (g > 0.0) {\n            float t = mod(vTravel.x, d + g);\n            alpha *= mix(\n                min(0.5 * d + 0.5 - abs(t - 0.5 * d), 1.0),\n                max(abs(t - 0.5 * g - d) - 0.5 * g + 0.5, 0.0),\n                step(d, t)\n            );\n        }\n    } else {\n        alpha = 0.0;\n    }\n\n    vec4 texColor;\n    float textureId = floor(vTextureId+0.5);\n    %FOR_LOOP%\n\n    gl_FragColor = vColor * texColor * alpha;\n}\n`;\n\n/**\n * @memberof PIXI.smooth\n */\nexport interface IDashParams\n{\n    dash: number;\n    gap: number;\n}\n\n/**\n * @memberof PIXI.smooth\n */\nexport class DashLineShader extends SmoothGraphicsShader\n{\n    constructor(dashParams?: IDashParams)\n    {\n        const settings = { maxStyles: 16, maxTextures: 1, pixelLine: 1 };\n\n        super(settings, undefined, dashFrag,\n            dashParams || {\n                dash: 8.0,\n                gap: 5.0\n            });\n    }\n}\n"],"names":[],"mappings":";;AAEA,MAAM,QAAW,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAqDV,MAAM,uBAAuB,oBACpC,CAAA;AAAA,EACI,YAAY,UACZ,EAAA;AACI,IAAA,MAAM,WAAW,EAAE,SAAA,EAAW,IAAI,WAAa,EAAA,CAAA,EAAG,WAAW,CAAE,EAAA,CAAA;AAE/D,IAAA,KAAA;AAAA,MAAM,QAAA;AAAA,MAAU,KAAA,CAAA;AAAA,MAAW,QAAA;AAAA,MACvB,UAAc,IAAA;AAAA,QACV,IAAM,EAAA,CAAA;AAAA,QACN,GAAK,EAAA,CAAA;AAAA,OACT;AAAA,KAAC,CAAA;AAAA,GACT;AACJ;;;;"}