UNPKG

fabric

Version:

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

2 lines 1.33 kB
import{ROTATE as e,SCALE as t,SKEW_X as n,SKEW_Y as r,iMatrix as i}from"../constants.min.mjs";import{createRotateMatrix as a,createScaleMatrix as o,createSkewXMatrix as s,createSkewYMatrix as c,createTranslateMatrix as l,multiplyTransformMatrixArray as u}from"../util/misc/matrix.min.mjs";import{reNum as d}from"./constants.min.mjs";import{cleanupSvgAttribute as f}from"../util/internals/cleanupSvgAttribute.min.mjs";const p=`(${d})`,m=String.raw`(skewX)\(${p}\)`,h=String.raw`(skewY)\(${p}\)`,g=String.raw`(rotate)\(${p}(?: ${p} ${p})?\)`,_=String.raw`(scale)\(${p}(?: ${p})?\)`,v=String.raw`(translate)\(${p}(?: ${p})?\)`,y=`(?:${String.raw`(matrix)\(${p} ${p} ${p} ${p} ${p} ${p}\)`}|${v}|${g}|${_}|${m}|${h})`,b=`(?:${y}*)`,x=String.raw`^\s*(?:${b}?)\s*$`,S=new RegExp(x),C=new RegExp(y),w=new RegExp(y,`g`);function T(d){let p=[];if(!(d=f(d).replace(/\s*([()])\s*/gi,`$1`))||d&&!S.test(d))return[...i];for(let u of d.matchAll(w)){let d=C.exec(u[0]);if(!d)continue;let f=i,[,m,...h]=d.filter(e=>!!e),[g,_,v,y,b,x]=h.map(e=>parseFloat(e));switch(m){case`translate`:f=l(g,_);break;case e:f=a({angle:g},{x:_,y:v});break;case t:f=o(g,_);break;case n:f=s(g);break;case r:f=c(g);break;case`matrix`:f=[g,_,v,y,b,x]}p.push(f)}return u(p)}export{T as parseTransformAttribute}; //# sourceMappingURL=parseTransformAttribute.min.mjs.map