@leafer-in/resize 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/resize.cjs CHANGED
@@ -225,4 +225,3 @@ exports.scaleResizeFontSize = scaleResizeFontSize;
225
225
  exports.scaleResizeGroup = scaleResizeGroup;
226
226
  exports.scaleResizePath = scaleResizePath;
227
227
  exports.scaleResizePoints = scaleResizePoints;
228
- //# sourceMappingURL=resize.cjs.map
@@ -218,4 +218,3 @@ Box.prototype.__scaleResize = function (scaleX, scaleY) {
218
218
  Plugin.add('resize');
219
219
 
220
220
  export { PathScaler, scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints };
221
- //# sourceMappingURL=resize.esm.js.map
package/dist/resize.js CHANGED
@@ -229,4 +229,3 @@ this.LeaferIN.resize = (function (exports, draw) {
229
229
  return exports;
230
230
 
231
231
  })({}, LeaferUI);
232
- //# sourceMappingURL=resize.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer-in/resize",
3
- "version": "1.6.0",
3
+ "version": "1.6.2",
4
4
  "description": "@leafer-in/resize",
5
5
  "author": "Chao (Leafer) Wan",
6
6
  "license": "MIT",
@@ -34,8 +34,8 @@
34
34
  "leaferjs"
35
35
  ],
36
36
  "peerDependencies": {
37
- "@leafer-ui/draw": "^1.6.0",
38
- "@leafer-ui/interface": "^1.6.0",
39
- "@leafer-in/interface": "^1.6.0"
37
+ "@leafer-ui/draw": "^1.6.2",
38
+ "@leafer-ui/interface": "^1.6.2",
39
+ "@leafer-in/interface": "^1.6.2"
40
40
  }
41
41
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.cjs","sources":["../../../../../../src/in/packages/resize/src/PathScaler.ts","../../../../../../src/in/packages/resize/src/scaler.ts","../../../../../../src/in/packages/resize/src/resize.ts","../../../../../../src/in/packages/resize/src/index.ts"],"sourcesContent":["import { IPathCommandData } from '@leafer-ui/interface'\n\nimport { PathCommandMap as Command } from '@leafer-ui/draw'\n\n\nconst { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command\n\nexport const PathScaler = {\n\n scale(data: IPathCommandData, scaleX: number, scaleY: number): void {\n if (!data) return\n\n let command: number\n let i = 0, len = data.length\n\n while (i < len) {\n command = data[i]\n switch (command) {\n case M: //moveto(x, y)\n case L: //lineto(x, y)\n scalePoints(data, scaleX, scaleY, i, 1)\n i += 3\n break\n case C: //bezierCurveTo(x1, y1, x2, y2, x, y)\n scalePoints(data, scaleX, scaleY, i, 3)\n i += 7\n break\n case Q: //quadraticCurveTo(x1, y1, x, y)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case Z: //closepath()\n i += 1\n break\n\n // canvas command\n\n case N: // rect(x, y, width, height)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case X: // simple roundRect(x, y, width, height, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case F: // simple ellipse(x, y, radiusX, radiusY)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n data[i] = G // to ellipse\n data.splice(i + 4, 0, data[i + 3], 0)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 7 + 2\n len += 2\n break\n case P: // simple arc(x, y, radius)\n data[i] = F // to simple ellipse\n data.splice(i + 4, 0, data[i + 3])\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 4 + 1\n len += 1\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n }\n }\n\n },\n\n scalePoints(data: IPathCommandData, scaleX: number, scaleY: number, start?: number, pointCount?: number): void {\n for (let i = pointCount ? start + 1 : 0, end = pointCount ? i + pointCount * 2 : data.length; i < end; i += 2) {\n data[i] *= scaleX\n data[i + 1] *= scaleY\n }\n }\n\n}\n\nconst { scalePoints } = PathScaler","import { IBranch, ILeaf, ILine, IPolygon, IText, IPointData } from '@leafer-ui/interface'\nimport { Direction9, MatrixHelper } from '@leafer-ui/draw'\n\nimport { PathScaler } from './PathScaler'\n\n\nconst matrix = MatrixHelper.get()\nconst { topLeft, top, topRight, right, bottom, left } = Direction9\n\nexport function scaleResize(leaf: ILeaf, scaleX: number, scaleY: number): void {\n if (leaf.pathInputed) {\n scaleResizePath(leaf, scaleX, scaleY)\n } else {\n // fix: Text / Box auto width / height, need check scale === 1\n if (scaleX !== 1) leaf.width *= scaleX\n if (scaleY !== 1) leaf.height *= scaleY\n }\n}\n\nexport function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number, direction?: Direction9): void {\n let fontScale = scaleX\n\n if (direction !== undefined) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (direction) { // 编辑器控制点的位置\n case top:\n case bottom:\n fontScale = scaleY\n layout.affectScaleOrRotation ? leaf.moveInner(-width / 2, 0) : leaf.x -= width / 2\n break\n case left:\n case right:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height / 2) : leaf.y -= height / 2\n break\n case topLeft:\n case topRight:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height) : leaf.y -= height\n break\n }\n\n }\n\n leaf.fontSize *= fontScale\n\n const data = leaf.__, { padding } = data\n if (padding) leaf.padding = padding instanceof Array ? padding.map(item => item * fontScale) : padding * fontScale\n if (!data.__autoWidth) leaf.width *= fontScale\n if (!data.__autoHeight) leaf.height *= fontScale\n\n}\n\nexport function scaleResizePath(leaf: ILeaf, scaleX: number, scaleY: number): void {\n PathScaler.scale(leaf.__.path, scaleX, scaleY)\n leaf.path = leaf.__.path\n}\n\nexport function scaleResizePoints(leaf: ILine | IPolygon, scaleX: number, scaleY: number): void {\n const { points } = leaf\n typeof points[0] === 'object' ? (points as IPointData[]).forEach(p => { p.x *= scaleX, p.y *= scaleY }) : PathScaler.scalePoints(points as number[], scaleX, scaleY)\n leaf.points = points\n}\n\n\nexport function scaleResizeGroup(group: IBranch, scaleX: number, scaleY: number): void {\n const { children } = group\n for (let i = 0; i < children.length; i++) {\n matrix.a = scaleX // must update\n matrix.d = scaleY\n children[i].transform(matrix, true)\n }\n}","\nimport { Leaf, Path, Line, Text, Polygon, Group, Box, UI } from '@leafer-ui/draw'\n\nimport { scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints } from './scaler'\n\n\n// leaf\n\nconst leaf = Leaf.prototype\n\nleaf.scaleResize = function (scaleX: number, scaleY = scaleX, noResize?: boolean): void {\n const data = this as UI\n if (noResize || (data.editConfig && data.editConfig.editSize === 'scale')) {\n data.scaleX *= scaleX\n data.scaleY *= scaleY\n } else {\n if (scaleX < 0) data.scaleX *= -1, scaleX = -scaleX\n if (scaleY < 0) data.scaleY *= -1, scaleY = -scaleY\n this.__scaleResize(scaleX, scaleY)\n }\n}\n\n\nleaf.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResize(this, scaleX, scaleY)\n}\n\n\nleaf.resizeWidth = function (width: number): void {\n const scale = width / this.getBounds('box', 'local').width || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, scale, this.__.lockRatio ? scale : 1, true)\n}\n\n\nleaf.resizeHeight = function (height: number): void {\n const scale = height / this.getBounds('box', 'local').height || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true)\n}\n\n\n// UI\n\nText.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint\n const { __autoWidth, __autoHeight, textAlign, verticalAlign } = this.__, { boxBounds } = this.__layout\n\n if (__autoWidth && textAlign !== 'left' && scaleX !== 1) this.x += boxBounds.x\n if (__autoHeight && verticalAlign !== 'top' && scaleY !== 1) this.y += boxBounds.y\n\n if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergedConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\nPath.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizePath(this, scaleX, scaleY)\n}\n\n\nLine.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n this.width *= scaleX\n }\n}\n\n\nPolygon.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\n// group\n\nGroup.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizeGroup(this, scaleX, scaleY)\n}\n\n\nBox.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { resizeChildren, __autoSize } = this.__\n if (!(__autoSize && resizeChildren)) scaleResize(this, scaleX, scaleY)\n if (resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n}","export { PathScaler } from './PathScaler'\nexport { scaleResize, scaleResizeGroup, scaleResizeFontSize, scaleResizePath, scaleResizePoints } from './scaler'\n\nimport { Plugin } from '@leafer-ui/draw'\n\nimport './resize'\n\nPlugin.add('resize')"],"names":["Command","MatrixHelper","Direction9","Leaf","Text","Path","Line","Polygon","Group","Box","Plugin"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.esm.js","sources":["../../../../../../src/in/packages/resize/src/PathScaler.ts","../../../../../../src/in/packages/resize/src/scaler.ts","../../../../../../src/in/packages/resize/src/resize.ts","../../../../../../src/in/packages/resize/src/index.ts"],"sourcesContent":["import { IPathCommandData } from '@leafer-ui/interface'\n\nimport { PathCommandMap as Command } from '@leafer-ui/draw'\n\n\nconst { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command\n\nexport const PathScaler = {\n\n scale(data: IPathCommandData, scaleX: number, scaleY: number): void {\n if (!data) return\n\n let command: number\n let i = 0, len = data.length\n\n while (i < len) {\n command = data[i]\n switch (command) {\n case M: //moveto(x, y)\n case L: //lineto(x, y)\n scalePoints(data, scaleX, scaleY, i, 1)\n i += 3\n break\n case C: //bezierCurveTo(x1, y1, x2, y2, x, y)\n scalePoints(data, scaleX, scaleY, i, 3)\n i += 7\n break\n case Q: //quadraticCurveTo(x1, y1, x, y)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case Z: //closepath()\n i += 1\n break\n\n // canvas command\n\n case N: // rect(x, y, width, height)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case X: // simple roundRect(x, y, width, height, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case F: // simple ellipse(x, y, radiusX, radiusY)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n data[i] = G // to ellipse\n data.splice(i + 4, 0, data[i + 3], 0)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 7 + 2\n len += 2\n break\n case P: // simple arc(x, y, radius)\n data[i] = F // to simple ellipse\n data.splice(i + 4, 0, data[i + 3])\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 4 + 1\n len += 1\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n }\n }\n\n },\n\n scalePoints(data: IPathCommandData, scaleX: number, scaleY: number, start?: number, pointCount?: number): void {\n for (let i = pointCount ? start + 1 : 0, end = pointCount ? i + pointCount * 2 : data.length; i < end; i += 2) {\n data[i] *= scaleX\n data[i + 1] *= scaleY\n }\n }\n\n}\n\nconst { scalePoints } = PathScaler","import { IBranch, ILeaf, ILine, IPolygon, IText, IPointData } from '@leafer-ui/interface'\nimport { Direction9, MatrixHelper } from '@leafer-ui/draw'\n\nimport { PathScaler } from './PathScaler'\n\n\nconst matrix = MatrixHelper.get()\nconst { topLeft, top, topRight, right, bottom, left } = Direction9\n\nexport function scaleResize(leaf: ILeaf, scaleX: number, scaleY: number): void {\n if (leaf.pathInputed) {\n scaleResizePath(leaf, scaleX, scaleY)\n } else {\n // fix: Text / Box auto width / height, need check scale === 1\n if (scaleX !== 1) leaf.width *= scaleX\n if (scaleY !== 1) leaf.height *= scaleY\n }\n}\n\nexport function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number, direction?: Direction9): void {\n let fontScale = scaleX\n\n if (direction !== undefined) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (direction) { // 编辑器控制点的位置\n case top:\n case bottom:\n fontScale = scaleY\n layout.affectScaleOrRotation ? leaf.moveInner(-width / 2, 0) : leaf.x -= width / 2\n break\n case left:\n case right:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height / 2) : leaf.y -= height / 2\n break\n case topLeft:\n case topRight:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height) : leaf.y -= height\n break\n }\n\n }\n\n leaf.fontSize *= fontScale\n\n const data = leaf.__, { padding } = data\n if (padding) leaf.padding = padding instanceof Array ? padding.map(item => item * fontScale) : padding * fontScale\n if (!data.__autoWidth) leaf.width *= fontScale\n if (!data.__autoHeight) leaf.height *= fontScale\n\n}\n\nexport function scaleResizePath(leaf: ILeaf, scaleX: number, scaleY: number): void {\n PathScaler.scale(leaf.__.path, scaleX, scaleY)\n leaf.path = leaf.__.path\n}\n\nexport function scaleResizePoints(leaf: ILine | IPolygon, scaleX: number, scaleY: number): void {\n const { points } = leaf\n typeof points[0] === 'object' ? (points as IPointData[]).forEach(p => { p.x *= scaleX, p.y *= scaleY }) : PathScaler.scalePoints(points as number[], scaleX, scaleY)\n leaf.points = points\n}\n\n\nexport function scaleResizeGroup(group: IBranch, scaleX: number, scaleY: number): void {\n const { children } = group\n for (let i = 0; i < children.length; i++) {\n matrix.a = scaleX // must update\n matrix.d = scaleY\n children[i].transform(matrix, true)\n }\n}","\nimport { Leaf, Path, Line, Text, Polygon, Group, Box, UI } from '@leafer-ui/draw'\n\nimport { scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints } from './scaler'\n\n\n// leaf\n\nconst leaf = Leaf.prototype\n\nleaf.scaleResize = function (scaleX: number, scaleY = scaleX, noResize?: boolean): void {\n const data = this as UI\n if (noResize || (data.editConfig && data.editConfig.editSize === 'scale')) {\n data.scaleX *= scaleX\n data.scaleY *= scaleY\n } else {\n if (scaleX < 0) data.scaleX *= -1, scaleX = -scaleX\n if (scaleY < 0) data.scaleY *= -1, scaleY = -scaleY\n this.__scaleResize(scaleX, scaleY)\n }\n}\n\n\nleaf.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResize(this, scaleX, scaleY)\n}\n\n\nleaf.resizeWidth = function (width: number): void {\n const scale = width / this.getBounds('box', 'local').width || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, scale, this.__.lockRatio ? scale : 1, true)\n}\n\n\nleaf.resizeHeight = function (height: number): void {\n const scale = height / this.getBounds('box', 'local').height || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true)\n}\n\n\n// UI\n\nText.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint\n const { __autoWidth, __autoHeight, textAlign, verticalAlign } = this.__, { boxBounds } = this.__layout\n\n if (__autoWidth && textAlign !== 'left' && scaleX !== 1) this.x += boxBounds.x\n if (__autoHeight && verticalAlign !== 'top' && scaleY !== 1) this.y += boxBounds.y\n\n if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergedConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\nPath.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizePath(this, scaleX, scaleY)\n}\n\n\nLine.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n this.width *= scaleX\n }\n}\n\n\nPolygon.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\n// group\n\nGroup.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizeGroup(this, scaleX, scaleY)\n}\n\n\nBox.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { resizeChildren, __autoSize } = this.__\n if (!(__autoSize && resizeChildren)) scaleResize(this, scaleX, scaleY)\n if (resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n}","export { PathScaler } from './PathScaler'\nexport { scaleResize, scaleResizeGroup, scaleResizeFontSize, scaleResizePath, scaleResizePoints } from './scaler'\n\nimport { Plugin } from '@leafer-ui/draw'\n\nimport './resize'\n\nPlugin.add('resize')"],"names":["Command"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.js","sources":["../../../../../../src/in/packages/resize/src/PathScaler.ts","../../../../../../src/in/packages/resize/src/scaler.ts","../../../../../../src/in/packages/resize/src/resize.ts","../../../../../../src/in/packages/resize/src/index.ts"],"sourcesContent":["import { IPathCommandData } from '@leafer-ui/interface'\n\nimport { PathCommandMap as Command } from '@leafer-ui/draw'\n\n\nconst { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command\n\nexport const PathScaler = {\n\n scale(data: IPathCommandData, scaleX: number, scaleY: number): void {\n if (!data) return\n\n let command: number\n let i = 0, len = data.length\n\n while (i < len) {\n command = data[i]\n switch (command) {\n case M: //moveto(x, y)\n case L: //lineto(x, y)\n scalePoints(data, scaleX, scaleY, i, 1)\n i += 3\n break\n case C: //bezierCurveTo(x1, y1, x2, y2, x, y)\n scalePoints(data, scaleX, scaleY, i, 3)\n i += 7\n break\n case Q: //quadraticCurveTo(x1, y1, x, y)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case Z: //closepath()\n i += 1\n break\n\n // canvas command\n\n case N: // rect(x, y, width, height)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case X: // simple roundRect(x, y, width, height, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 9\n break\n case F: // simple ellipse(x, y, radiusX, radiusY)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n data[i] = G // to ellipse\n data.splice(i + 4, 0, data[i + 3], 0)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 7 + 2\n len += 2\n break\n case P: // simple arc(x, y, radius)\n data[i] = F // to simple ellipse\n data.splice(i + 4, 0, data[i + 3])\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 4 + 1\n len += 1\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n scalePoints(data, scaleX, scaleY, i, 2)\n i += 6\n break\n }\n }\n\n },\n\n scalePoints(data: IPathCommandData, scaleX: number, scaleY: number, start?: number, pointCount?: number): void {\n for (let i = pointCount ? start + 1 : 0, end = pointCount ? i + pointCount * 2 : data.length; i < end; i += 2) {\n data[i] *= scaleX\n data[i + 1] *= scaleY\n }\n }\n\n}\n\nconst { scalePoints } = PathScaler","import { IBranch, ILeaf, ILine, IPolygon, IText, IPointData } from '@leafer-ui/interface'\nimport { Direction9, MatrixHelper } from '@leafer-ui/draw'\n\nimport { PathScaler } from './PathScaler'\n\n\nconst matrix = MatrixHelper.get()\nconst { topLeft, top, topRight, right, bottom, left } = Direction9\n\nexport function scaleResize(leaf: ILeaf, scaleX: number, scaleY: number): void {\n if (leaf.pathInputed) {\n scaleResizePath(leaf, scaleX, scaleY)\n } else {\n // fix: Text / Box auto width / height, need check scale === 1\n if (scaleX !== 1) leaf.width *= scaleX\n if (scaleY !== 1) leaf.height *= scaleY\n }\n}\n\nexport function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number, direction?: Direction9): void {\n let fontScale = scaleX\n\n if (direction !== undefined) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (direction) { // 编辑器控制点的位置\n case top:\n case bottom:\n fontScale = scaleY\n layout.affectScaleOrRotation ? leaf.moveInner(-width / 2, 0) : leaf.x -= width / 2\n break\n case left:\n case right:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height / 2) : leaf.y -= height / 2\n break\n case topLeft:\n case topRight:\n layout.affectScaleOrRotation ? leaf.moveInner(0, -height) : leaf.y -= height\n break\n }\n\n }\n\n leaf.fontSize *= fontScale\n\n const data = leaf.__, { padding } = data\n if (padding) leaf.padding = padding instanceof Array ? padding.map(item => item * fontScale) : padding * fontScale\n if (!data.__autoWidth) leaf.width *= fontScale\n if (!data.__autoHeight) leaf.height *= fontScale\n\n}\n\nexport function scaleResizePath(leaf: ILeaf, scaleX: number, scaleY: number): void {\n PathScaler.scale(leaf.__.path, scaleX, scaleY)\n leaf.path = leaf.__.path\n}\n\nexport function scaleResizePoints(leaf: ILine | IPolygon, scaleX: number, scaleY: number): void {\n const { points } = leaf\n typeof points[0] === 'object' ? (points as IPointData[]).forEach(p => { p.x *= scaleX, p.y *= scaleY }) : PathScaler.scalePoints(points as number[], scaleX, scaleY)\n leaf.points = points\n}\n\n\nexport function scaleResizeGroup(group: IBranch, scaleX: number, scaleY: number): void {\n const { children } = group\n for (let i = 0; i < children.length; i++) {\n matrix.a = scaleX // must update\n matrix.d = scaleY\n children[i].transform(matrix, true)\n }\n}","\nimport { Leaf, Path, Line, Text, Polygon, Group, Box, UI } from '@leafer-ui/draw'\n\nimport { scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints } from './scaler'\n\n\n// leaf\n\nconst leaf = Leaf.prototype\n\nleaf.scaleResize = function (scaleX: number, scaleY = scaleX, noResize?: boolean): void {\n const data = this as UI\n if (noResize || (data.editConfig && data.editConfig.editSize === 'scale')) {\n data.scaleX *= scaleX\n data.scaleY *= scaleY\n } else {\n if (scaleX < 0) data.scaleX *= -1, scaleX = -scaleX\n if (scaleY < 0) data.scaleY *= -1, scaleY = -scaleY\n this.__scaleResize(scaleX, scaleY)\n }\n}\n\n\nleaf.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResize(this, scaleX, scaleY)\n}\n\n\nleaf.resizeWidth = function (width: number): void {\n const scale = width / this.getBounds('box', 'local').width || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, scale, this.__.lockRatio ? scale : 1, true)\n}\n\n\nleaf.resizeHeight = function (height: number): void {\n const scale = height / this.getBounds('box', 'local').height || 1 // 不允许为0\n this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true)\n}\n\n\n// UI\n\nText.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint\n const { __autoWidth, __autoHeight, textAlign, verticalAlign } = this.__, { boxBounds } = this.__layout\n\n if (__autoWidth && textAlign !== 'left' && scaleX !== 1) this.x += boxBounds.x\n if (__autoHeight && verticalAlign !== 'top' && scaleY !== 1) this.y += boxBounds.y\n\n if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergedConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\nPath.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizePath(this, scaleX, scaleY)\n}\n\n\nLine.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n this.width *= scaleX\n }\n}\n\n\nPolygon.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n if (this.pathInputed) {\n scaleResizePath(this, scaleX, scaleY)\n } else if (this.points) {\n scaleResizePoints(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n }\n}\n\n\n// group\n\nGroup.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n scaleResizeGroup(this, scaleX, scaleY)\n}\n\n\nBox.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {\n const { resizeChildren, __autoSize } = this.__\n if (!(__autoSize && resizeChildren)) scaleResize(this, scaleX, scaleY)\n if (resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n}","export { PathScaler } from './PathScaler'\nexport { scaleResize, scaleResizeGroup, scaleResizeFontSize, scaleResizePath, scaleResizePoints } from './scaler'\n\nimport { Plugin } from '@leafer-ui/draw'\n\nimport './resize'\n\nPlugin.add('resize')"],"names":["Command","MatrixHelper","Direction9","Leaf","Text","Path","Line","Polygon","Group","Box","Plugin"],"mappings":"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"}