fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.93 kB
Source Map (JSON)
{"version":3,"file":"setStrokeFillOpacity.min.mjs","sources":["../../../src/parser/setStrokeFillOpacity.ts"],"sourcesContent":["import { Color } from '../color/Color';\nimport { toFixed } from '../util/misc/toFixed';\nimport { FabricObject } from '../shapes/Object/FabricObject';\n\nconst colorAttributesMap = {\n stroke: 'strokeOpacity',\n fill: 'fillOpacity',\n};\n\n/**\n * @private\n * @param {Object} attributes Array of attributes to parse\n */\n\nexport function setStrokeFillOpacity(\n attributes: Record<string, any>,\n): Record<string, any> {\n const defaults = FabricObject.getDefaults();\n Object.entries(colorAttributesMap).forEach(([attr, colorAttr]) => {\n if (\n typeof attributes[colorAttr] === 'undefined' ||\n attributes[attr] === ''\n ) {\n return;\n }\n if (typeof attributes[attr] === 'undefined') {\n if (!defaults[attr]) {\n return;\n }\n attributes[attr] = defaults[attr];\n }\n if (attributes[attr].indexOf('url(') === 0) {\n return;\n }\n const color = new Color(attributes[attr]);\n attributes[attr] = color\n .setAlpha(toFixed(color.getAlpha() * attributes[colorAttr], 2))\n .toRgba();\n });\n return attributes;\n}\n"],"names":["colorAttributesMap","stroke","fill","setStrokeFillOpacity","attributes","defaults","FabricObject","getDefaults","Object","entries","forEach","_ref","attr","colorAttr","indexOf","color","Color","setAlpha","toFixed","getAlpha","toRgba"],"mappings":"2KAIA,MAAMA,EAAqB,CACzBC,OAAQ,gBACRC,KAAM,eAQD,SAASC,EACdC,GAEA,MAAMC,EAAWC,EAAaC,cAsB9B,OArBAC,OAAOC,QAAQT,GAAoBU,SAAQC,IAAuB,IAArBC,EAAMC,GAAUF,EAC3D,QACmC,IAA1BP,EAAWS,IACG,KAArBT,EAAWQ,GAEX,OAEF,QAAgC,IAArBR,EAAWQ,GAAuB,CAC3C,IAAKP,EAASO,GACZ,OAEFR,EAAWQ,GAAQP,EAASO,EAC9B,CACA,GAAyC,IAArCR,EAAWQ,GAAME,QAAQ,QAC3B,OAEF,MAAMC,EAAQ,IAAIC,EAAMZ,EAAWQ,IACnCR,EAAWQ,GAAQG,EAChBE,SAASC,EAAQH,EAAMI,WAAaf,EAAWS,GAAY,IAC3DO,QAAQ,IAENhB,CACT"}