fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
3 lines (2 loc) • 2.02 kB
JavaScript
import{Color as t}from"../../color/Color.min.mjs";import{config as n}from"../../config.min.mjs";import{DEFAULT_SVG_FONT_SIZE as c,NONE as e,FILL as o}from"../../constants.min.mjs";import{toFixed as r}from"./toFixed.min.mjs";const a=t=>{const n=["instantiated_by_use","style","id","class"];switch(t){case"linearGradient":return n.concat(["x1","y1","x2","y2","gradientUnits","gradientTransform"]);case"radialGradient":return n.concat(["gradientUnits","gradientTransform","cx","cy","r","fx","fy","fr"]);case"stop":return n.concat(["offset","stop-color","stop-opacity"])}return n},i=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c;const o=/\D{0,2}$/.exec(t),r=parseFloat(t),a=n.DPI;switch(null==o?void 0:o[0]){case"mm":return r*a/25.4;case"cm":return r*a/2.54;case"in":return r*a;case"pt":return r*a/72;case"pc":return r*a/72*12;case"em":return r*e;default:return r}},s=t=>{const[n,c]=t.trim().split(" "),[o,r]=(a=n)&&a!==e?[a.slice(1,4),a.slice(5,8)]:a===e?[a,a]:["Mid","Mid"];var a;return{meetOrSlice:c||"meet",alignX:o,alignY:r}},l=t=>"matrix("+t.map((t=>r(t,n.NUM_FRACTION_DIGITS))).join(" ")+")",m=function(n,c){let e,o,r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(c)if(c.toLive)e="url(#SVGID_".concat(c.id,")");else{const n=new t(c),r=n.getAlpha();e=n.toRgb(),1!==r&&(o=r.toString())}else e="none";return r?"".concat(n,": ").concat(e,"; ").concat(o?"".concat(n,"-opacity: ").concat(o,"; "):""):"".concat(n,'="').concat(e,'" ').concat(o?"".concat(n,'-opacity="').concat(o,'" '):"")},u=function(t,c){let{left:e,top:a,width:i,height:s}=c,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:n.NUM_FRACTION_DIGITS;const u=m(o,t,!1),[d,f,p,g]=[e,a,i,s].map((t=>r(t,l)));return"<rect ".concat(u,' x="').concat(d,'" y="').concat(f,'" width="').concat(p,'" height="').concat(g,'"></rect>')};export{m as colorPropToSVG,u as createSVGRect,a as getSvgAttributes,l as matrixToSVG,s as parsePreserveAspectRatioAttribute,i as parseUnit};
//# sourceMappingURL=svgParsing.min.mjs.map