UNPKG

fabric

Version:

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

2 lines 1.21 kB
import{_defineProperty as e}from"../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/defineProperty.min.mjs";import{Point as t}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as n}from"../../util/misc/boundingBoxFromPoints.min.mjs";import"../constants.min.mjs";import{getObjectBounds as r}from"./utils.min.mjs";var i=class{calcLayoutResult(e,t){if(this.shouldPerformLayout(e))return this.calcBoundingBox(t,e)}shouldPerformLayout({type:e,prevStrategy:t,strategy:n}){return e===`initialization`||e===`imperative`||!!t&&n!==t}shouldLayoutClipPath({type:e,target:{clipPath:t}}){return e!==`initialization`&&t&&!t.absolutePositioned}getInitialSize(e,t){return t.size}calcBoundingBox(e,i){let{type:a,target:o}=i;if(a===`imperative`&&i.overrides)return i.overrides;if(e.length===0)return;let{left:s,top:c,width:l,height:u}=n(e.map(e=>r(o,e)).reduce((e,t)=>e.concat(t),[])),d=new t(l,u),f=new t(s,c).add(d.scalarDivide(2));if(a===`initialization`){let e=this.getInitialSize(i,{size:d,center:f});return{center:f,relativeCorrection:new t(0,0),size:e}}return{center:f.transform(o.calcOwnMatrix()),size:d}}};e(i,`type`,`strategy`);export{i as LayoutStrategy}; //# sourceMappingURL=LayoutStrategy.min.mjs.map