fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
2 lines • 987 B
JavaScript
import{Point as e}from"../../../Point.min.mjs";import{degreesToRadians as t}from"../radiansDegreesConversion.min.mjs";import{createVector as n}from"../vectors.min.mjs";var r=class{constructor(t){this.options=t,this.strokeProjectionMagnitude=this.options.strokeWidth/2,this.scale=new e(this.options.scaleX,this.options.scaleY),this.strokeUniformScalar=this.options.strokeUniform?new e(1/this.options.scaleX,1/this.options.scaleY):new e(1,1)}createSideVector(e,t){let r=n(e,t);return this.options.strokeUniform?r.multiply(this.scale):r}projectOrthogonally(e,t,n){return this.applySkew(e.add(this.calcOrthogonalProjection(e,t,n)))}isSkewed(){return this.options.skewX!==0||this.options.skewY!==0}applySkew(n){let r=new e(n);return r.y+=r.x*Math.tan(t(this.options.skewY)),r.x+=r.y*Math.tan(t(this.options.skewX)),r}scaleUnitVector(e,t){return e.multiply(this.strokeUniformScalar).scalarMultiply(t)}};export{r as StrokeProjectionsBase};
//# sourceMappingURL=StrokeProjectionsBase.min.mjs.map