UNPKG

fabric

Version:

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

1 lines 1.7 kB
{"version":3,"file":"setStrokeFillOpacity.mjs","names":[],"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"],"mappings":";;;;AAIA,MAAM,qBAAqB;CACzB,QAAQ;CACR,MAAM;CACP;;;;;AAOD,SAAgB,qBACd,YACqB;CACrB,MAAM,WAAW,aAAa,aAAa;AAC3C,QAAO,QAAQ,mBAAmB,CAAC,SAAS,CAAC,MAAM,eAAe;AAChE,MACE,OAAO,WAAW,eAAe,eACjC,WAAW,UAAU,GAErB;AAEF,MAAI,OAAO,WAAW,UAAU,aAAa;AAC3C,OAAI,CAAC,SAAS,MACZ;AAEF,cAAW,QAAQ,SAAS;;AAE9B,MAAI,WAAW,MAAM,QAAQ,OAAO,KAAK,EACvC;EAEF,MAAM,QAAQ,IAAI,MAAM,WAAW,MAAM;AACzC,aAAW,QAAQ,MAChB,SAAS,QAAQ,MAAM,UAAU,GAAG,WAAW,YAAY,EAAE,CAAC,CAC9D,QAAQ;GACX;AACF,QAAO"}