fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 2.55 kB
Source Map (JSON)
{"version":3,"file":"basic.mjs","names":[],"sources":["../../../extensions/aligning_guidelines/util/basic.ts"],"sourcesContent":["import type { FabricObject, Point } from 'fabric';\nimport type { PointMap } from '../typedefs';\n\nexport function getDistance(a: number, b: number) {\n return Math.abs(a - b);\n}\n\nexport function getDistanceList(point: Point, list: Point[], type: 'x' | 'y') {\n let dis = Infinity;\n let arr: Point[] = [];\n for (const item of list) {\n const v = getDistance(point[type], item[type]);\n if (dis > v) {\n arr = [];\n dis = v;\n }\n if (dis == v) {\n arr.push(item);\n }\n }\n return { dis, arr };\n}\n\nexport function getPointMap(target: FabricObject): PointMap {\n const coords = target.getCoords();\n return {\n tl: coords[0],\n tr: coords[1],\n br: coords[2],\n bl: coords[3],\n mt: coords[0].add(coords[1]).scalarDivide(2),\n mr: coords[1].add(coords[2]).scalarDivide(2),\n mb: coords[2].add(coords[3]).scalarDivide(2),\n ml: coords[3].add(coords[0]).scalarDivide(2),\n };\n}\n\nexport function getContraryMap(target: FabricObject): PointMap {\n const aCoords = target.aCoords ?? target.calcACoords();\n return {\n tl: aCoords.br,\n tr: aCoords.bl,\n br: aCoords.tl,\n bl: aCoords.tr,\n mt: aCoords.br.add(aCoords.bl).scalarDivide(2),\n mr: aCoords.bl.add(aCoords.tl).scalarDivide(2),\n mb: aCoords.tl.add(aCoords.tr).scalarDivide(2),\n ml: aCoords.tr.add(aCoords.br).scalarDivide(2),\n };\n}\n"],"mappings":";AAGA,SAAgB,YAAY,GAAW,GAAW;AAChD,QAAO,KAAK,IAAI,IAAI,EAAE;;AAGxB,SAAgB,gBAAgB,OAAc,MAAe,MAAiB;CAC5E,IAAI,MAAM;CACV,IAAI,MAAe,EAAE;AACrB,MAAK,MAAM,QAAQ,MAAM;EACvB,MAAM,IAAI,YAAY,MAAM,OAAO,KAAK,MAAM;AAC9C,MAAI,MAAM,GAAG;AACX,SAAM,EAAE;AACR,SAAM;;AAER,MAAI,OAAO,EACT,KAAI,KAAK,KAAK;;AAGlB,QAAO;EAAE;EAAK;EAAK;;AAGrB,SAAgB,YAAY,QAAgC;CAC1D,MAAM,SAAS,OAAO,WAAW;AACjC,QAAO;EACL,IAAI,OAAO;EACX,IAAI,OAAO;EACX,IAAI,OAAO;EACX,IAAI,OAAO;EACX,IAAI,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,EAAE;EAC5C,IAAI,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,EAAE;EAC5C,IAAI,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,EAAE;EAC5C,IAAI,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,EAAE;EAC7C;;AAGH,SAAgB,eAAe,QAAgC;;CAC7D,MAAM,WAAA,kBAAU,OAAO,aAAA,QAAA,oBAAA,KAAA,IAAA,kBAAW,OAAO,aAAa;AACtD,QAAO;EACL,IAAI,QAAQ;EACZ,IAAI,QAAQ;EACZ,IAAI,QAAQ;EACZ,IAAI,QAAQ;EACZ,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,CAAC,aAAa,EAAE;EAC9C,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,CAAC,aAAa,EAAE;EAC9C,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,CAAC,aAAa,EAAE;EAC9C,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,CAAC,aAAa,EAAE;EAC/C"}