UNPKG

fabric

Version:

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

2 lines 1.62 kB
import{config as e}from"../../config.min.mjs";import{FILL as t}from"../../constants.min.mjs";import{toFixed as n}from"./toFixed.min.mjs";import{escapeXml as r}from"../lang_string.min.mjs";import{Color as i}from"../../color/Color.min.mjs";const a=e=>{let t=[`instantiated_by_use`,`style`,`id`,`class`];switch(e){case`linearGradient`:return t.concat([`x1`,`y1`,`x2`,`y2`,`gradientUnits`,`gradientTransform`]);case`radialGradient`:return t.concat([`gradientUnits`,`gradientTransform`,`cx`,`cy`,`r`,`fx`,`fy`,`fr`]);case`stop`:return t.concat([`offset`,`stop-color`,`stop-opacity`])}return t},o=(t,n=16)=>{let r=/\D{0,2}$/.exec(t),i=parseFloat(t),a=e.DPI;switch(r==null?void 0:r[0]){case`mm`:return i*a/25.4;case`cm`:return i*a/2.54;case`in`:return i*a;case`pt`:return i*a/72;case`pc`:return i*a/72*12;case`em`:return i*n;default:return i}},s=e=>{let[t,n]=e.trim().split(` `),[r,i]=(a=t)&&a!==`none`?[a.slice(1,4),a.slice(5,8)]:a===`none`?[a,a]:[`Mid`,`Mid`];var a;return{meetOrSlice:n||`meet`,alignX:r,alignY:i}},c=(e,t,n=!0)=>{let a,o;if(t)if(t.toLive)a=`url(#SVGID_${r(t.id)})`;else{let e=new i(t),n=e.getAlpha();a=e.toRgb(),n!==1&&(o=n.toString())}else a=`none`;return n?`${e}: ${a}; ${o?`${e}-opacity: ${o}; `:``}`:`${e}="${a}" ${o?`${e}-opacity="${o}" `:``}`},l=(r,{left:i,top:a,width:o,height:s},l=e.NUM_FRACTION_DIGITS)=>{let u=c(t,r,!1),[d,f,p,m]=[i,a,o,s].map(e=>n(e,l));return`<rect ${u} x="${d}" y="${f}" width="${p}" height="${m}"></rect>`};export{c as colorPropToSVG,l as createSVGRect,a as getSvgAttributes,s as parsePreserveAspectRatioAttribute,o as parseUnit}; //# sourceMappingURL=svgParsing.min.mjs.map