UNPKG

fabric

Version:

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

3 lines (2 loc) 1.26 kB
import{defineProperty as t}from"../../../_virtual/_rollupPluginBabelHelpers.min.mjs";import{Point as r}from"../../Point.min.mjs";import{makeBoundingBoxFromPoints as e}from"../../util/misc/boundingBoxFromPoints.min.mjs";import{sendPointToPlane as o}from"../../util/misc/planeChange.min.mjs";import{LayoutStrategy as i}from"./LayoutStrategy.min.mjs";import{getObjectBounds as n}from"./utils.min.mjs";import{classRegistry as s}from"../../ClassRegistry.min.mjs";class a extends i{shouldPerformLayout(t){return!!t.target.clipPath&&super.shouldPerformLayout(t)}shouldLayoutClipPath(){return!1}calcLayoutResult(t,i){const{target:s}=t,{clipPath:a,group:m}=s;if(!a||!this.shouldPerformLayout(t))return;const{width:l,height:u}=e(n(s,a)),c=new r(l,u);if(a.absolutePositioned){return{center:o(a.getRelativeCenterPoint(),void 0,m?m.calcTransformMatrix():void 0),size:c}}{const e=a.getRelativeCenterPoint().transform(s.calcOwnMatrix(),!0);if(this.shouldPerformLayout(t)){const{center:o=new r,correction:n=new r}=this.calcBoundingBox(i,t)||{};return{center:o.add(e),correction:n.subtract(e),size:c}}return{center:s.getRelativeCenterPoint().add(e),size:c}}}}t(a,"type","clip-path"),s.setClass(a);export{a as ClipPathLayout}; //# sourceMappingURL=ClipPathLayout.min.mjs.map