@leafer-in/resize 1.4.2 → 1.5.1

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
@@ -91,16 +91,14 @@ function scaleResize(leaf, scaleX, scaleY) {
91
91
  leaf.height *= scaleY;
92
92
  }
93
93
  }
94
- function scaleResizeFontSize(leaf, scaleX, scaleY) {
95
- const { app } = leaf;
96
- const editor = app && app.editor;
94
+ function scaleResizeFontSize(leaf, scaleX, scaleY, direction) {
97
95
  let fontScale = scaleX;
98
- if (editor.editing) {
96
+ if (direction !== undefined) {
99
97
  const layout = leaf.__layout;
100
98
  let { width, height } = layout.boxBounds;
101
99
  width *= scaleY - scaleX;
102
100
  height *= scaleX - scaleY;
103
- switch (editor.resizeDirection) {
101
+ switch (direction) {
104
102
  case top:
105
103
  case bottom:
106
104
  fontScale = scaleY;
@@ -168,8 +166,9 @@ leaf.resizeHeight = function (height) {
168
166
  this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true);
169
167
  };
170
168
  draw.Text.prototype.__scaleResize = function (scaleX, scaleY) {
171
- if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {
172
- scaleResizeFontSize(this, scaleX, scaleY);
169
+ const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint;
170
+ if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.editSize === 'font-size')) {
171
+ scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction);
173
172
  }
174
173
  else {
175
174
  scaleResize(this, scaleX, scaleY);
@@ -1 +1 @@
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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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
+ {"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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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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"}
@@ -89,16 +89,14 @@ function scaleResize(leaf, scaleX, scaleY) {
89
89
  leaf.height *= scaleY;
90
90
  }
91
91
  }
92
- function scaleResizeFontSize(leaf, scaleX, scaleY) {
93
- const { app } = leaf;
94
- const editor = app && app.editor;
92
+ function scaleResizeFontSize(leaf, scaleX, scaleY, direction) {
95
93
  let fontScale = scaleX;
96
- if (editor.editing) {
94
+ if (direction !== undefined) {
97
95
  const layout = leaf.__layout;
98
96
  let { width, height } = layout.boxBounds;
99
97
  width *= scaleY - scaleX;
100
98
  height *= scaleX - scaleY;
101
- switch (editor.resizeDirection) {
99
+ switch (direction) {
102
100
  case top:
103
101
  case bottom:
104
102
  fontScale = scaleY;
@@ -166,8 +164,9 @@ leaf.resizeHeight = function (height) {
166
164
  this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true);
167
165
  };
168
166
  Text.prototype.__scaleResize = function (scaleX, scaleY) {
169
- if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {
170
- scaleResizeFontSize(this, scaleX, scaleY);
167
+ const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint;
168
+ if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.editSize === 'font-size')) {
169
+ scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction);
171
170
  }
172
171
  else {
173
172
  scaleResize(this, scaleX, scaleY);
@@ -1 +1 @@
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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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
+ {"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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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,2 +1,2 @@
1
- import{PathCommandMap as t,MatrixHelper as e,Direction9 as i,Leaf as s,Text as o,Path as a,Line as c,Polygon as n,Group as h,Box as r,Plugin as l}from"@leafer-ui/draw";const{M:_,L:f,C:p,Q:u,Z:d,N:z,D:b,X:g,G:k,F:R,O:y,P:w,U:x}=t,S={scale(t,e,i){if(!t)return;let s,o=0,a=t.length;for(;o<a;)switch(s=t[o],s){case _:case f:m(t,e,i,o,1),o+=3;break;case p:m(t,e,i,o,3),o+=7;break;case u:m(t,e,i,o,2),o+=5;break;case d:o+=1;break;case z:m(t,e,i,o,2),o+=5;break;case b:m(t,e,i,o,2),o+=9;break;case g:m(t,e,i,o,2),o+=6;break;case k:m(t,e,i,o,2),o+=9;break;case R:m(t,e,i,o,2),o+=5;break;case y:t[o]=k,t.splice(o+4,0,t[o+3],0),m(t,e,i,o,2),o+=9,a+=2;break;case w:t[o]=R,t.splice(o+4,0,t[o+3]),m(t,e,i,o,2),o+=5,a+=1;break;case x:m(t,e,i,o,2),o+=6}},scalePoints(t,e,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:t.length;a<c;a+=2)t[a]*=e,t[a+1]*=i}},{scalePoints:m}=S,C=e.get(),{topLeft:I,top:O,topRight:B,right:P,bottom:v,left:X}=i;function D(t,e,i){t.pathInputed?H(t,e,i):(1!==e&&(t.width*=e),1!==i&&(t.height*=i))}function F(t,e,i){const{app:s}=t,o=s&&s.editor;let a=e;if(o.editing){const s=t.__layout;let{width:c,height:n}=s.boxBounds;switch(c*=i-e,n*=e-i,o.resizeDirection){case O:case v:a=i,s.affectScaleOrRotation?t.moveInner(-c/2,0):t.x-=c/2;break;case X:case P:s.affectScaleOrRotation?t.moveInner(0,-n/2):t.y-=n/2;break;case I:case B:s.affectScaleOrRotation?t.moveInner(0,-n):t.y-=n}}t.fontSize*=a;const c=t.__;c.__autoWidth||(t.width*=a),c.__autoHeight||(t.height*=a)}function H(t,e,i){S.scale(t.__.path,e,i),t.path=t.__.path}function L(t,e,i){const{points:s}=t;"object"==typeof s[0]?s.forEach((t=>{t.x*=e,t.y*=i})):S.scalePoints(s,e,i),t.points=s}function W(t,e,i){const{children:s}=t;for(let t=0;t<s.length;t++)C.a=e,C.d=i,s[t].transform(C,!0)}const Y=s.prototype;Y.scaleResize=function(t,e=t,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=t,s.scaleY*=e):(t<0&&(s.scaleX*=-1,t=-t),e<0&&(s.scaleY*=-1,e=-e),this.__scaleResize(t,e))},Y.__scaleResize=function(t,e){D(this,t,e)},Y.resizeWidth=function(t){const e=t/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,e,this.__.lockRatio?e:1,!0)},Y.resizeHeight=function(t){const e=t/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?e:1,e,!0)},o.prototype.__scaleResize=function(t,e){this.__.resizeFontSize||this.editConfig&&"font-size"===this.editConfig.editSize?F(this,t,e):D(this,t,e)},a.prototype.__scaleResize=function(t,e){H(this,t,e)},c.prototype.__scaleResize=function(t,e){this.pathInputed?H(this,t,e):this.points?L(this,t,e):this.width*=t},n.prototype.__scaleResize=function(t,e){this.pathInputed?H(this,t,e):this.points?L(this,t,e):D(this,t,e)},h.prototype.__scaleResize=function(t,e){W(this,t,e)},r.prototype.__scaleResize=function(t,e){this.__.__autoSize&&this.children.length?W(this,t,e):(D(this,t,e),this.__.resizeChildren&&W(this,t,e))},l.add("resize");export{S as PathScaler,D as scaleResize,F as scaleResizeFontSize,W as scaleResizeGroup,H as scaleResizePath,L as scaleResizePoints};
1
+ import{PathCommandMap as t,MatrixHelper as e,Direction9 as i,Leaf as s,Text as o,Path as a,Line as c,Polygon as n,Group as h,Box as r,Plugin as l}from"@leafer-ui/draw";const{M:_,L:f,C:p,Q:d,Z:u,N:z,D:g,X:b,G:k,F:R,O:y,P:S,U:m}=t,w={scale(t,e,i){if(!t)return;let s,o=0,a=t.length;for(;o<a;)switch(s=t[o],s){case _:case f:x(t,e,i,o,1),o+=3;break;case p:x(t,e,i,o,3),o+=7;break;case d:x(t,e,i,o,2),o+=5;break;case u:o+=1;break;case z:x(t,e,i,o,2),o+=5;break;case g:x(t,e,i,o,2),o+=9;break;case b:x(t,e,i,o,2),o+=6;break;case k:x(t,e,i,o,2),o+=9;break;case R:x(t,e,i,o,2),o+=5;break;case y:t[o]=k,t.splice(o+4,0,t[o+3],0),x(t,e,i,o,2),o+=9,a+=2;break;case S:t[o]=R,t.splice(o+4,0,t[o+3]),x(t,e,i,o,2),o+=5,a+=1;break;case m:x(t,e,i,o,2),o+=6}},scalePoints(t,e,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:t.length;a<c;a+=2)t[a]*=e,t[a+1]*=i}},{scalePoints:x}=w,C=e.get(),{topLeft:I,top:O,topRight:B,right:P,bottom:v,left:X}=i;function F(t,e,i){t.pathInputed?L(t,e,i):(1!==e&&(t.width*=e),1!==i&&(t.height*=i))}function H(t,e,i,s){let o=e;if(void 0!==s){const a=t.__layout;let{width:c,height:n}=a.boxBounds;switch(c*=i-e,n*=e-i,s){case O:case v:o=i,a.affectScaleOrRotation?t.moveInner(-c/2,0):t.x-=c/2;break;case X:case P:a.affectScaleOrRotation?t.moveInner(0,-n/2):t.y-=n/2;break;case I:case B:a.affectScaleOrRotation?t.moveInner(0,-n):t.y-=n}}t.fontSize*=o;const a=t.__;a.__autoWidth||(t.width*=o),a.__autoHeight||(t.height*=o)}function L(t,e,i){w.scale(t.__.path,e,i),t.path=t.__.path}function W(t,e,i){const{points:s}=t;"object"==typeof s[0]?s.forEach((t=>{t.x*=e,t.y*=i})):w.scalePoints(s,e,i),t.points=s}function Y(t,e,i){const{children:s}=t;for(let t=0;t<s.length;t++)C.a=e,C.d=i,s[t].transform(C,!0)}const j=s.prototype;j.scaleResize=function(t,e=t,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=t,s.scaleY*=e):(t<0&&(s.scaleX*=-1,t=-t),e<0&&(s.scaleY*=-1,e=-e),this.__scaleResize(t,e))},j.__scaleResize=function(t,e){F(this,t,e)},j.resizeWidth=function(t){const e=t/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,e,this.__.lockRatio?e:1,!0)},j.resizeHeight=function(t){const e=t/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?e:1,e,!0)},o.prototype.__scaleResize=function(t,e){const{app:i,editConfig:s}=this,o=i&&i.editor,a=o&&o.dragPoint;this.__.resizeFontSize||s&&"font-size"===s.editSize||a&&"font-size"===o.mergeConfig.editSize?H(this,t,e,a&&a.direction):F(this,t,e)},a.prototype.__scaleResize=function(t,e){L(this,t,e)},c.prototype.__scaleResize=function(t,e){this.pathInputed?L(this,t,e):this.points?W(this,t,e):this.width*=t},n.prototype.__scaleResize=function(t,e){this.pathInputed?L(this,t,e):this.points?W(this,t,e):F(this,t,e)},h.prototype.__scaleResize=function(t,e){Y(this,t,e)},r.prototype.__scaleResize=function(t,e){this.__.__autoSize&&this.children.length?Y(this,t,e):(F(this,t,e),this.__.resizeChildren&&Y(this,t,e))},l.add("resize");export{w as PathScaler,F as scaleResize,H as scaleResizeFontSize,Y as scaleResizeGroup,L as scaleResizePath,W as scaleResizePoints};
2
2
  //# sourceMappingURL=resize.esm.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize.esm.min.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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","app","editor","fontScale","editing","layout","__layout","boxBounds","resizeDirection","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","Text","resizeFontSize","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"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"}
1
+ {"version":3,"file":"resize.esm.min.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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","direction","fontScale","undefined","layout","__layout","boxBounds","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","Text","app","editor","dragPoint","resizeFontSize","mergeConfig","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"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"}
package/dist/resize.js CHANGED
@@ -91,16 +91,14 @@ this.LeaferIN.resize = (function (exports, draw) {
91
91
  leaf.height *= scaleY;
92
92
  }
93
93
  }
94
- function scaleResizeFontSize(leaf, scaleX, scaleY) {
95
- const { app } = leaf;
96
- const editor = app && app.editor;
94
+ function scaleResizeFontSize(leaf, scaleX, scaleY, direction) {
97
95
  let fontScale = scaleX;
98
- if (editor.editing) {
96
+ if (direction !== undefined) {
99
97
  const layout = leaf.__layout;
100
98
  let { width, height } = layout.boxBounds;
101
99
  width *= scaleY - scaleX;
102
100
  height *= scaleX - scaleY;
103
- switch (editor.resizeDirection) {
101
+ switch (direction) {
104
102
  case top:
105
103
  case bottom:
106
104
  fontScale = scaleY;
@@ -168,8 +166,9 @@ this.LeaferIN.resize = (function (exports, draw) {
168
166
  this.scaleOf(this.__layout.boxBounds, this.__.lockRatio ? scale : 1, scale, true);
169
167
  };
170
168
  draw.Text.prototype.__scaleResize = function (scaleX, scaleY) {
171
- if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {
172
- scaleResizeFontSize(this, scaleX, scaleY);
169
+ const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint;
170
+ if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.editSize === 'font-size')) {
171
+ scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction);
173
172
  }
174
173
  else {
175
174
  scaleResize(this, scaleX, scaleY);
@@ -1 +1 @@
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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":";;;;IAKA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAGA,mBAAO;AAE5C,UAAA,UAAU,GAAG;IAEtB,IAAA,KAAK,CAAC,IAAsB,EAAE,MAAc,EAAE,MAAc,EAAA;IACxD,QAAA,IAAI,CAAC,IAAI;gBAAE;IAEX,QAAA,IAAI,OAAe;YACnB,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM;IAE5B,QAAA,OAAO,CAAC,GAAG,GAAG,EAAE;IACZ,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjB,QAAQ,OAAO;IACX,gBAAA,KAAK,CAAC;IACN,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,CAAC,IAAI,CAAC;wBACN;IAIJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;IACJ,gBAAA,KAAK,CAAC;IACF,oBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACX,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;wBACrC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,oBAAA,CAAC,IAAI,CAAC,GAAG,CAAC;wBACV,GAAG,IAAI,CAAC;wBACR;IACJ,gBAAA,KAAK,CAAC;IACF,oBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACX,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,oBAAA,CAAC,IAAI,CAAC,GAAG,CAAC;wBACV,GAAG,IAAI,CAAC;wBACR;IACJ,gBAAA,KAAK,CAAC;wBACF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACvC,CAAC,IAAI,CAAC;wBACN;;;SAIf;QAED,WAAW,CAAC,IAAsB,EAAE,MAAc,EAAE,MAAc,EAAE,KAAc,EAAE,UAAmB,EAAA;IACnG,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;IAC3G,YAAA,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM;IACjB,YAAA,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;;;;IAMjC,MAAM,EAAE,WAAW,EAAE,GAAG,UAAU;;ICnFlC,MAAM,MAAM,GAAGC,iBAAY,CAAC,GAAG,EAAE;IACjC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAGC,eAAU;aAElD,WAAW,CAAC,IAAW,EAAE,MAAc,EAAE,MAAc,EAAA;IACnE,IAAA,IAAI,IAAI,CAAC,WAAW,EAAE;IAClB,QAAA,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;aAClC;YAEH,IAAI,MAAM,KAAK,CAAC;IAAE,YAAA,IAAI,CAAC,KAAK,IAAI,MAAM;YACtC,IAAI,MAAM,KAAK,CAAC;IAAE,YAAA,IAAI,CAAC,MAAM,IAAI,MAAM;;IAE/C;aAEgB,mBAAmB,CAAC,IAAW,EAAE,MAAc,EAAE,MAAc,EAAA;IAC3E,IAAA,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI;IACpB,IAAA,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM;QAEhC,IAAI,SAAS,GAAG,MAAM;IAEtB,IAAA,IAAI,MAAM,CAAC,OAAO,EAAE;IAEhB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;YAE5B,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS;IACxC,QAAA,KAAK,IAAI,MAAM,GAAG,MAAM;IACxB,QAAA,MAAM,IAAI,MAAM,GAAG,MAAM;IAEzB,QAAA,QAAQ,MAAM,CAAC,eAAe;IAC1B,YAAA,KAAK,GAAG;IACR,YAAA,KAAK,MAAM;oBACP,SAAS,GAAG,MAAM;oBAClB,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC;oBAClF;IACJ,YAAA,KAAK,IAAI;IACT,YAAA,KAAK,KAAK;oBACN,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC;oBACpF;IACJ,YAAA,KAAK,OAAO;IACZ,YAAA,KAAK,QAAQ;oBACT,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,MAAM;oBAC5E;;;IAKZ,IAAA,IAAI,CAAC,QAAQ,IAAI,SAAS;IAE1B,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW;IAAE,QAAA,IAAI,CAAC,KAAK,IAAI,SAAS;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY;IAAE,QAAA,IAAI,CAAC,MAAM,IAAI,SAAS;IAEpD;aAEgB,eAAe,CAAC,IAAW,EAAE,MAAc,EAAE,MAAc,EAAA;IACvE,IAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI;IAC5B;aAEgB,iBAAiB,CAAC,IAAsB,EAAE,MAAc,EAAE,MAAc,EAAA;IACpF,IAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAI,MAAuB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,MAAkB,EAAE,MAAM,EAAE,MAAM,CAAC;IACpK,IAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACxB;aAGgB,gBAAgB,CAAC,KAAc,EAAE,MAAc,EAAE,MAAc,EAAA;IAC3E,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK;IAC1B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;IACtC,QAAA,MAAM,CAAC,CAAC,GAAG,MAAM;IACjB,QAAA,MAAM,CAAC,CAAC,GAAG,MAAM;YACjB,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;;IAE3C;;ICtEA,MAAM,IAAI,GAAGC,SAAI,CAAC,SAAS;IAE3B,IAAI,CAAC,WAAW,GAAG,UAAU,MAAc,EAAE,MAAM,GAAG,MAAM,EAAE,QAAkB,EAAA;QAC5E,MAAM,IAAI,GAAG,IAAU;IACvB,IAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,EAAE;IACvE,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM;IACrB,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM;;aAClB;YACH,IAAI,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM;YACnD,IAAI,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM;IACnD,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;;IAE1C,CAAC;IAGD,IAAI,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IACzD,IAAA,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACrC,CAAC;IAGD,IAAI,CAAC,WAAW,GAAG,UAAU,KAAa,EAAA;IACtC,IAAA,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC;IACrF,CAAC;IAGD,IAAI,CAAC,YAAY,GAAG,UAAU,MAAc,EAAA;IACxC,IAAA,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,MAAM;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;IACrF,CAAC;AAKDC,aAAI,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;QACnE,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC,EAAE;IACzF,QAAA,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;aACtC;IACH,QAAA,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;IAEzC,CAAC;AAGDC,aAAI,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IACnE,IAAA,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACzC,CAAC;AAGDC,aAAI,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IACnE,IAAA,IAAI,IAAI,CAAC,WAAW,EAAE;IAClB,QAAA,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;IAClC,SAAA,IAAI,IAAI,CAAC,MAAM,EAAE;IACpB,QAAA,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;aACpC;IACH,QAAA,IAAI,CAAC,KAAK,IAAI,MAAM;;IAE5B,CAAC;AAGDC,gBAAO,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IACtE,IAAA,IAAI,IAAI,CAAC,WAAW,EAAE;IAClB,QAAA,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;IAClC,SAAA,IAAI,IAAI,CAAC,MAAM,EAAE;IACpB,QAAA,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;aACpC;IACH,QAAA,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;IAEzC,CAAC;AAKDC,cAAK,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IACpE,IAAA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IAC1C,CAAC;AAGDC,YAAG,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,MAAc,EAAE,MAAc,EAAA;IAClE,IAAA,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;IAC5C,QAAA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;aACnC;IACH,QAAA,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACjC,QAAA,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc;IAAE,YAAA,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;;IAE1E,CAAC;;ACrFDC,eAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;"}
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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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,2 +1,2 @@
1
- "use strict";var e=require("@leafer-ui/draw");const{M:t,L:i,C:s,Q:o,Z:a,N:c,D:n,X:h,G:r,F:l,O:p,P:_,U:f}=e.PathCommandMap,u={scale(e,u,z){if(!e)return;let g,b=0,R=e.length;for(;b<R;)switch(g=e[b],g){case t:case i:d(e,u,z,b,1),b+=3;break;case s:d(e,u,z,b,3),b+=7;break;case o:d(e,u,z,b,2),b+=5;break;case a:b+=1;break;case c:d(e,u,z,b,2),b+=5;break;case n:d(e,u,z,b,2),b+=9;break;case h:d(e,u,z,b,2),b+=6;break;case r:d(e,u,z,b,2),b+=9;break;case l:d(e,u,z,b,2),b+=5;break;case p:e[b]=r,e.splice(b+4,0,e[b+3],0),d(e,u,z,b,2),b+=9,R+=2;break;case _:e[b]=l,e.splice(b+4,0,e[b+3]),d(e,u,z,b,2),b+=5,R+=1;break;case f:d(e,u,z,b,2),b+=6}},scalePoints(e,t,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:e.length;a<c;a+=2)e[a]*=t,e[a+1]*=i}},{scalePoints:d}=u,z=e.MatrixHelper.get(),{topLeft:g,top:b,topRight:R,right:x,bottom:k,left:y}=e.Direction9;function P(e,t,i){e.pathInputed?w(e,t,i):(1!==t&&(e.width*=t),1!==i&&(e.height*=i))}function S(e,t,i){const{app:s}=e,o=s&&s.editor;let a=t;if(o.editing){const s=e.__layout;let{width:c,height:n}=s.boxBounds;switch(c*=i-t,n*=t-i,o.resizeDirection){case b:case k:a=i,s.affectScaleOrRotation?e.moveInner(-c/2,0):e.x-=c/2;break;case y:case x:s.affectScaleOrRotation?e.moveInner(0,-n/2):e.y-=n/2;break;case g:case R:s.affectScaleOrRotation?e.moveInner(0,-n):e.y-=n}}e.fontSize*=a;const c=e.__;c.__autoWidth||(e.width*=a),c.__autoHeight||(e.height*=a)}function w(e,t,i){u.scale(e.__.path,t,i),e.path=e.__.path}function m(e,t,i){const{points:s}=e;"object"==typeof s[0]?s.forEach((e=>{e.x*=t,e.y*=i})):u.scalePoints(s,t,i),e.points=s}function C(e,t,i){const{children:s}=e;for(let e=0;e<s.length;e++)z.a=t,z.d=i,s[e].transform(z,!0)}const B=e.Leaf.prototype;B.scaleResize=function(e,t=e,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=e,s.scaleY*=t):(e<0&&(s.scaleX*=-1,e=-e),t<0&&(s.scaleY*=-1,t=-t),this.__scaleResize(e,t))},B.__scaleResize=function(e,t){P(this,e,t)},B.resizeWidth=function(e){const t=e/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,t,this.__.lockRatio?t:1,!0)},B.resizeHeight=function(e){const t=e/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?t:1,t,!0)},e.Text.prototype.__scaleResize=function(e,t){this.__.resizeFontSize||this.editConfig&&"font-size"===this.editConfig.editSize?S(this,e,t):P(this,e,t)},e.Path.prototype.__scaleResize=function(e,t){w(this,e,t)},e.Line.prototype.__scaleResize=function(e,t){this.pathInputed?w(this,e,t):this.points?m(this,e,t):this.width*=e},e.Polygon.prototype.__scaleResize=function(e,t){this.pathInputed?w(this,e,t):this.points?m(this,e,t):P(this,e,t)},e.Group.prototype.__scaleResize=function(e,t){C(this,e,t)},e.Box.prototype.__scaleResize=function(e,t){this.__.__autoSize&&this.children.length?C(this,e,t):(P(this,e,t),this.__.resizeChildren&&C(this,e,t))},e.Plugin.add("resize"),exports.PathScaler=u,exports.scaleResize=P,exports.scaleResizeFontSize=S,exports.scaleResizeGroup=C,exports.scaleResizePath=w,exports.scaleResizePoints=m;
1
+ "use strict";var e=require("@leafer-ui/draw");const{M:t,L:i,C:s,Q:o,Z:a,N:c,D:n,X:h,G:r,F:l,O:p,P:_,U:f}=e.PathCommandMap,u={scale(e,u,z){if(!e)return;let g,b=0,R=e.length;for(;b<R;)switch(g=e[b],g){case t:case i:d(e,u,z,b,1),b+=3;break;case s:d(e,u,z,b,3),b+=7;break;case o:d(e,u,z,b,2),b+=5;break;case a:b+=1;break;case c:d(e,u,z,b,2),b+=5;break;case n:d(e,u,z,b,2),b+=9;break;case h:d(e,u,z,b,2),b+=6;break;case r:d(e,u,z,b,2),b+=9;break;case l:d(e,u,z,b,2),b+=5;break;case p:e[b]=r,e.splice(b+4,0,e[b+3],0),d(e,u,z,b,2),b+=9,R+=2;break;case _:e[b]=l,e.splice(b+4,0,e[b+3]),d(e,u,z,b,2),b+=5,R+=1;break;case f:d(e,u,z,b,2),b+=6}},scalePoints(e,t,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:e.length;a<c;a+=2)e[a]*=t,e[a+1]*=i}},{scalePoints:d}=u,z=e.MatrixHelper.get(),{topLeft:g,top:b,topRight:R,right:x,bottom:k,left:y}=e.Direction9;function P(e,t,i){e.pathInputed?m(e,t,i):(1!==t&&(e.width*=t),1!==i&&(e.height*=i))}function S(e,t,i,s){let o=t;if(void 0!==s){const a=e.__layout;let{width:c,height:n}=a.boxBounds;switch(c*=i-t,n*=t-i,s){case b:case k:o=i,a.affectScaleOrRotation?e.moveInner(-c/2,0):e.x-=c/2;break;case y:case x:a.affectScaleOrRotation?e.moveInner(0,-n/2):e.y-=n/2;break;case g:case R:a.affectScaleOrRotation?e.moveInner(0,-n):e.y-=n}}e.fontSize*=o;const a=e.__;a.__autoWidth||(e.width*=o),a.__autoHeight||(e.height*=o)}function m(e,t,i){u.scale(e.__.path,t,i),e.path=e.__.path}function w(e,t,i){const{points:s}=e;"object"==typeof s[0]?s.forEach((e=>{e.x*=t,e.y*=i})):u.scalePoints(s,t,i),e.points=s}function C(e,t,i){const{children:s}=e;for(let e=0;e<s.length;e++)z.a=t,z.d=i,s[e].transform(z,!0)}const B=e.Leaf.prototype;B.scaleResize=function(e,t=e,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=e,s.scaleY*=t):(e<0&&(s.scaleX*=-1,e=-e),t<0&&(s.scaleY*=-1,t=-t),this.__scaleResize(e,t))},B.__scaleResize=function(e,t){P(this,e,t)},B.resizeWidth=function(e){const t=e/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,t,this.__.lockRatio?t:1,!0)},B.resizeHeight=function(e){const t=e/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?t:1,t,!0)},e.Text.prototype.__scaleResize=function(e,t){const{app:i,editConfig:s}=this,o=i&&i.editor,a=o&&o.dragPoint;this.__.resizeFontSize||s&&"font-size"===s.editSize||a&&"font-size"===o.mergeConfig.editSize?S(this,e,t,a&&a.direction):P(this,e,t)},e.Path.prototype.__scaleResize=function(e,t){m(this,e,t)},e.Line.prototype.__scaleResize=function(e,t){this.pathInputed?m(this,e,t):this.points?w(this,e,t):this.width*=e},e.Polygon.prototype.__scaleResize=function(e,t){this.pathInputed?m(this,e,t):this.points?w(this,e,t):P(this,e,t)},e.Group.prototype.__scaleResize=function(e,t){C(this,e,t)},e.Box.prototype.__scaleResize=function(e,t){this.__.__autoSize&&this.children.length?C(this,e,t):(P(this,e,t),this.__.resizeChildren&&C(this,e,t))},e.Plugin.add("resize"),exports.PathScaler=u,exports.scaleResize=P,exports.scaleResizeFontSize=S,exports.scaleResizeGroup=C,exports.scaleResizePath=m,exports.scaleResizePoints=w;
2
2
  //# sourceMappingURL=resize.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize.min.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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathCommandMap","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","app","editor","fontScale","editing","layout","__layout","boxBounds","resizeDirection","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","Text","resizeFontSize","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"8CAKA,MAAMA,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAMC,EAAOC,eAE5CC,EAAa,CAEtB,KAAAC,CAAMC,EAAwBC,EAAgBC,GAC1C,IAAKF,EAAM,OAEX,IAAIG,EACAC,EAAI,EAAGC,EAAML,EAAKM,OAEtB,KAAOF,EAAIC,GAEP,OADAF,EAAUH,EAAKI,GACPD,GACJ,KAAKpB,EACL,KAAKC,EACDuB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKnB,EACDsB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKlB,EACDqB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKjB,EACDiB,GAAK,EACL,MAIJ,KAAKhB,EACDmB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKf,EACDkB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKd,EACDiB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKb,EACDgB,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKZ,EACDe,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACL,MACJ,KAAKX,EACDO,EAAKI,GAAKb,EACVS,EAAKQ,OAAOJ,EAAI,EAAG,EAAGJ,EAAKI,EAAI,GAAI,GACnCG,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACLC,GAAO,EACP,MACJ,KAAKX,EACDM,EAAKI,GAAKZ,EACVQ,EAAKQ,OAAOJ,EAAI,EAAG,EAAGJ,EAAKI,EAAI,IAC/BG,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EACLC,GAAO,EACP,MACJ,KAAKV,EACDY,EAAYP,EAAMC,EAAQC,EAAQE,EAAG,GACrCA,GAAK,EAKpB,EAED,WAAAG,CAAYP,EAAwBC,EAAgBC,EAAgBO,EAAgBC,GAChF,IAAK,IAAIN,EAAIM,EAAaD,EAAQ,EAAI,EAAGE,EAAMD,EAAaN,EAAiB,EAAbM,EAAiBV,EAAKM,OAAQF,EAAIO,EAAKP,GAAK,EACxGJ,EAAKI,IAAMH,EACXD,EAAKI,EAAI,IAAMF,KAMrBK,YAAEA,GAAgBT,ECnFlBc,EAASC,EAAYA,aAACC,OACtBC,QAAEA,EAAOC,IAAEA,EAAGC,SAAEA,EAAQC,MAAEA,EAAKC,OAAEA,EAAMC,KAAEA,GAASC,EAAUA,oBAElDC,EAAYC,EAAatB,EAAgBC,GACjDqB,EAAKC,YACLC,EAAgBF,EAAMtB,EAAQC,IAGf,IAAXD,IAAcsB,EAAKG,OAASzB,GACjB,IAAXC,IAAcqB,EAAKI,QAAUzB,GAEzC,UAEgB0B,EAAoBL,EAAatB,EAAgBC,GAC7D,MAAM2B,IAAEA,GAAQN,EACVO,EAASD,GAAOA,EAAIC,OAE1B,IAAIC,EAAY9B,EAEhB,GAAI6B,EAAOE,QAAS,CAEhB,MAAMC,EAASV,EAAKW,SAEpB,IAAIR,MAAEA,EAAKC,OAAEA,GAAWM,EAAOE,UAI/B,OAHAT,GAASxB,EAASD,EAClB0B,GAAU1B,EAASC,EAEX4B,EAAOM,iBACX,KAAKpB,EACL,KAAKG,EACDY,EAAY7B,EACZ+B,EAAOI,sBAAwBd,EAAKe,WAAWZ,EAAQ,EAAG,GAAKH,EAAKgB,GAAKb,EAAQ,EACjF,MACJ,KAAKN,EACL,KAAKF,EACDe,EAAOI,sBAAwBd,EAAKe,UAAU,GAAIX,EAAS,GAAKJ,EAAKiB,GAAKb,EAAS,EACnF,MACJ,KAAKZ,EACL,KAAKE,EACDgB,EAAOI,sBAAwBd,EAAKe,UAAU,GAAIX,GAAUJ,EAAKiB,GAAKb,GAMlFJ,EAAKkB,UAAYV,EAEjB,MAAM/B,EAAOuB,EAAKmB,GACb1C,EAAK2C,cAAapB,EAAKG,OAASK,GAChC/B,EAAK4C,eAAcrB,EAAKI,QAAUI,EAE3C,UAEgBN,EAAgBF,EAAatB,EAAgBC,GACzDJ,EAAWC,MAAMwB,EAAKmB,GAAGG,KAAM5C,EAAQC,GACvCqB,EAAKsB,KAAOtB,EAAKmB,GAAGG,IACxB,UAEgBC,EAAkBvB,EAAwBtB,EAAgBC,GACtE,MAAM6C,OAAEA,GAAWxB,EACE,iBAAdwB,EAAO,GAAmBA,EAAwBC,SAAQC,IAAOA,EAAEV,GAAKtC,EAAQgD,EAAET,GAAKtC,CAAM,IAAMJ,EAAWS,YAAYwC,EAAoB9C,EAAQC,GAC7JqB,EAAKwB,OAASA,CAClB,UAGgBG,EAAiBC,EAAgBlD,EAAgBC,GAC7D,MAAMkD,SAAEA,GAAaD,EACrB,IAAK,IAAI/C,EAAI,EAAGA,EAAIgD,EAAS9C,OAAQF,IACjCQ,EAAOyC,EAAIpD,EACXW,EAAO0C,EAAIpD,EACXkD,EAAShD,GAAGmD,UAAU3C,GAAQ,EAEtC,CCtEA,MAAMW,EAAOiC,EAAIA,KAACC,UAElBlC,EAAKD,YAAc,SAAUrB,EAAgBC,EAASD,EAAQyD,GAC1D,MAAM1D,EAAO2D,KACTD,GAAa1D,EAAK4D,YAA2C,UAA7B5D,EAAK4D,WAAWC,UAChD7D,EAAKC,QAAUA,EACfD,EAAKE,QAAUA,IAEXD,EAAS,IAAGD,EAAKC,WAAcA,GAAUA,GACzCC,EAAS,IAAGF,EAAKE,WAAcA,GAAUA,GAC7CyD,KAAKG,cAAc7D,EAAQC,GAEnC,EAGAqB,EAAKuC,cAAgB,SAAU7D,EAAgBC,GAC3CoB,EAAYqC,KAAM1D,EAAQC,EAC9B,EAGAqB,EAAKwC,YAAc,SAAUrC,GACzB,MAAM3B,EAAQ2B,EAAQiC,KAAKK,UAAU,MAAO,SAAStC,MACrDiC,KAAKM,QAAQN,KAAKzB,SAASC,UAAWpC,EAAO4D,KAAKjB,GAAGwB,UAAYnE,EAAQ,GAAG,EAChF,EAGAwB,EAAK4C,aAAe,SAAUxC,GAC1B,MAAM5B,EAAQ4B,EAASgC,KAAKK,UAAU,MAAO,SAASrC,OACtDgC,KAAKM,QAAQN,KAAKzB,SAASC,UAAWwB,KAAKjB,GAAGwB,UAAYnE,EAAQ,EAAGA,GAAO,EAChF,EAKAqE,EAAIA,KAACX,UAAUK,cAAgB,SAAU7D,EAAgBC,GACjDyD,KAAKjB,GAAG2B,gBAAmBV,KAAKC,YAA2C,cAA7BD,KAAKC,WAAWC,SAC9DjC,EAAoB+B,KAAM1D,EAAQC,GAElCoB,EAAYqC,KAAM1D,EAAQC,EAElC,EAGAoE,EAAIA,KAACb,UAAUK,cAAgB,SAAU7D,EAAgBC,GACrDuB,EAAgBkC,KAAM1D,EAAQC,EAClC,EAGAqE,EAAIA,KAACd,UAAUK,cAAgB,SAAU7D,EAAgBC,GACjDyD,KAAKnC,YACLC,EAAgBkC,KAAM1D,EAAQC,GACvByD,KAAKZ,OACZD,EAAkBa,KAAM1D,EAAQC,GAEhCyD,KAAKjC,OAASzB,CAEtB,EAGAuE,EAAOA,QAACf,UAAUK,cAAgB,SAAU7D,EAAgBC,GACpDyD,KAAKnC,YACLC,EAAgBkC,KAAM1D,EAAQC,GACvByD,KAAKZ,OACZD,EAAkBa,KAAM1D,EAAQC,GAEhCoB,EAAYqC,KAAM1D,EAAQC,EAElC,EAKAuE,EAAKA,MAAChB,UAAUK,cAAgB,SAAU7D,EAAgBC,GACtDgD,EAAiBS,KAAM1D,EAAQC,EACnC,EAGAwE,EAAGA,IAACjB,UAAUK,cAAgB,SAAU7D,EAAgBC,GAChDyD,KAAKjB,GAAGiC,YAAchB,KAAKP,SAAS9C,OACpC4C,EAAiBS,KAAM1D,EAAQC,IAE/BoB,EAAYqC,KAAM1D,EAAQC,GACtByD,KAAKjB,GAAGkC,gBAAgB1B,EAAiBS,KAAM1D,EAAQC,GAEnE,ECrFA2E,EAAAA,OAAOC,IAAI"}
1
+ {"version":3,"file":"resize.min.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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathCommandMap","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","direction","fontScale","undefined","layout","__layout","boxBounds","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","Text","app","editor","dragPoint","resizeFontSize","mergeConfig","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- this.LeaferIN=this.LeaferIN||{},this.LeaferIN.resize=function(e,t){"use strict";const{M:i,L:s,C:o,Q:a,Z:c,N:n,D:h,X:r,G:l,F:f,O:_,P:p,U:u}=t.PathCommandMap,d={scale(e,t,d){if(!e)return;let g,b=0,R=e.length;for(;b<R;)switch(g=e[b],g){case i:case s:z(e,t,d,b,1),b+=3;break;case o:z(e,t,d,b,3),b+=7;break;case a:z(e,t,d,b,2),b+=5;break;case c:b+=1;break;case n:z(e,t,d,b,2),b+=5;break;case h:z(e,t,d,b,2),b+=9;break;case r:z(e,t,d,b,2),b+=6;break;case l:z(e,t,d,b,2),b+=9;break;case f:z(e,t,d,b,2),b+=5;break;case _:e[b]=l,e.splice(b+4,0,e[b+3],0),z(e,t,d,b,2),b+=9,R+=2;break;case p:e[b]=f,e.splice(b+4,0,e[b+3]),z(e,t,d,b,2),b+=5,R+=1;break;case u:z(e,t,d,b,2),b+=6}},scalePoints(e,t,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:e.length;a<c;a+=2)e[a]*=t,e[a+1]*=i}},{scalePoints:z}=d,g=t.MatrixHelper.get(),{topLeft:b,top:R,topRight:k,right:y,bottom:P,left:x}=t.Direction9;function I(e,t,i){e.pathInputed?L(e,t,i):(1!==t&&(e.width*=t),1!==i&&(e.height*=i))}function S(e,t,i){const{app:s}=e,o=s&&s.editor;let a=t;if(o.editing){const s=e.__layout;let{width:c,height:n}=s.boxBounds;switch(c*=i-t,n*=t-i,o.resizeDirection){case R:case P:a=i,s.affectScaleOrRotation?e.moveInner(-c/2,0):e.x-=c/2;break;case x:case y:s.affectScaleOrRotation?e.moveInner(0,-n/2):e.y-=n/2;break;case b:case k:s.affectScaleOrRotation?e.moveInner(0,-n):e.y-=n}}e.fontSize*=a;const c=e.__;c.__autoWidth||(e.width*=a),c.__autoHeight||(e.height*=a)}function L(e,t,i){d.scale(e.__.path,t,i),e.path=e.__.path}function m(e,t,i){const{points:s}=e;"object"==typeof s[0]?s.forEach((e=>{e.x*=t,e.y*=i})):d.scalePoints(s,t,i),e.points=s}function w(e,t,i){const{children:s}=e;for(let e=0;e<s.length;e++)g.a=t,g.d=i,s[e].transform(g,!0)}const C=t.Leaf.prototype;return C.scaleResize=function(e,t=e,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=e,s.scaleY*=t):(e<0&&(s.scaleX*=-1,e=-e),t<0&&(s.scaleY*=-1,t=-t),this.__scaleResize(e,t))},C.__scaleResize=function(e,t){I(this,e,t)},C.resizeWidth=function(e){const t=e/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,t,this.__.lockRatio?t:1,!0)},C.resizeHeight=function(e){const t=e/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?t:1,t,!0)},t.Text.prototype.__scaleResize=function(e,t){this.__.resizeFontSize||this.editConfig&&"font-size"===this.editConfig.editSize?S(this,e,t):I(this,e,t)},t.Path.prototype.__scaleResize=function(e,t){L(this,e,t)},t.Line.prototype.__scaleResize=function(e,t){this.pathInputed?L(this,e,t):this.points?m(this,e,t):this.width*=e},t.Polygon.prototype.__scaleResize=function(e,t){this.pathInputed?L(this,e,t):this.points?m(this,e,t):I(this,e,t)},t.Group.prototype.__scaleResize=function(e,t){w(this,e,t)},t.Box.prototype.__scaleResize=function(e,t){this.__.__autoSize&&this.children.length?w(this,e,t):(I(this,e,t),this.__.resizeChildren&&w(this,e,t))},t.Plugin.add("resize"),e.PathScaler=d,e.scaleResize=I,e.scaleResizeFontSize=S,e.scaleResizeGroup=w,e.scaleResizePath=L,e.scaleResizePoints=m,e}({},LeaferUI);
1
+ this.LeaferIN=this.LeaferIN||{},this.LeaferIN.resize=function(e,t){"use strict";const{M:i,L:s,C:o,Q:a,Z:c,N:n,D:h,X:r,G:l,F:f,O:_,P:p,U:u}=t.PathCommandMap,d={scale(e,t,d){if(!e)return;let g,b=0,R=e.length;for(;b<R;)switch(g=e[b],g){case i:case s:z(e,t,d,b,1),b+=3;break;case o:z(e,t,d,b,3),b+=7;break;case a:z(e,t,d,b,2),b+=5;break;case c:b+=1;break;case n:z(e,t,d,b,2),b+=5;break;case h:z(e,t,d,b,2),b+=9;break;case r:z(e,t,d,b,2),b+=6;break;case l:z(e,t,d,b,2),b+=9;break;case f:z(e,t,d,b,2),b+=5;break;case _:e[b]=l,e.splice(b+4,0,e[b+3],0),z(e,t,d,b,2),b+=9,R+=2;break;case p:e[b]=f,e.splice(b+4,0,e[b+3]),z(e,t,d,b,2),b+=5,R+=1;break;case u:z(e,t,d,b,2),b+=6}},scalePoints(e,t,i,s,o){for(let a=o?s+1:0,c=o?a+2*o:e.length;a<c;a+=2)e[a]*=t,e[a+1]*=i}},{scalePoints:z}=d,g=t.MatrixHelper.get(),{topLeft:b,top:R,topRight:k,right:y,bottom:P,left:S}=t.Direction9;function x(e,t,i){e.pathInputed?m(e,t,i):(1!==t&&(e.width*=t),1!==i&&(e.height*=i))}function I(e,t,i,s){let o=t;if(void 0!==s){const a=e.__layout;let{width:c,height:n}=a.boxBounds;switch(c*=i-t,n*=t-i,s){case R:case P:o=i,a.affectScaleOrRotation?e.moveInner(-c/2,0):e.x-=c/2;break;case S:case y:a.affectScaleOrRotation?e.moveInner(0,-n/2):e.y-=n/2;break;case b:case k:a.affectScaleOrRotation?e.moveInner(0,-n):e.y-=n}}e.fontSize*=o;const a=e.__;a.__autoWidth||(e.width*=o),a.__autoHeight||(e.height*=o)}function m(e,t,i){d.scale(e.__.path,t,i),e.path=e.__.path}function L(e,t,i){const{points:s}=e;"object"==typeof s[0]?s.forEach((e=>{e.x*=t,e.y*=i})):d.scalePoints(s,t,i),e.points=s}function w(e,t,i){const{children:s}=e;for(let e=0;e<s.length;e++)g.a=t,g.d=i,s[e].transform(g,!0)}const C=t.Leaf.prototype;return C.scaleResize=function(e,t=e,i){const s=this;i||s.editConfig&&"scale"===s.editConfig.editSize?(s.scaleX*=e,s.scaleY*=t):(e<0&&(s.scaleX*=-1,e=-e),t<0&&(s.scaleY*=-1,t=-t),this.__scaleResize(e,t))},C.__scaleResize=function(e,t){x(this,e,t)},C.resizeWidth=function(e){const t=e/this.getBounds("box","local").width;this.scaleOf(this.__layout.boxBounds,t,this.__.lockRatio?t:1,!0)},C.resizeHeight=function(e){const t=e/this.getBounds("box","local").height;this.scaleOf(this.__layout.boxBounds,this.__.lockRatio?t:1,t,!0)},t.Text.prototype.__scaleResize=function(e,t){const{app:i,editConfig:s}=this,o=i&&i.editor,a=o&&o.dragPoint;this.__.resizeFontSize||s&&"font-size"===s.editSize||a&&"font-size"===o.mergeConfig.editSize?I(this,e,t,a&&a.direction):x(this,e,t)},t.Path.prototype.__scaleResize=function(e,t){m(this,e,t)},t.Line.prototype.__scaleResize=function(e,t){this.pathInputed?m(this,e,t):this.points?L(this,e,t):this.width*=e},t.Polygon.prototype.__scaleResize=function(e,t){this.pathInputed?m(this,e,t):this.points?L(this,e,t):x(this,e,t)},t.Group.prototype.__scaleResize=function(e,t){w(this,e,t)},t.Box.prototype.__scaleResize=function(e,t){this.__.__autoSize&&this.children.length?w(this,e,t):(x(this,e,t),this.__.resizeChildren&&w(this,e,t))},t.Plugin.add("resize"),e.PathScaler=d,e.scaleResize=x,e.scaleResizeFontSize=I,e.scaleResizeGroup=w,e.scaleResizePath=m,e.scaleResizePoints=L,e}({},LeaferUI);
2
2
  //# sourceMappingURL=resize.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize.min.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): void {\n const { app } = leaf\n const editor = app && app.editor\n\n let fontScale = scaleX\n\n if (editor.editing) {\n\n const layout = leaf.__layout\n\n let { width, height } = layout.boxBounds\n width *= scaleY - scaleX\n height *= scaleX - scaleY\n\n switch (editor.resizeDirection) {\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.__\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\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\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 if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {\n scaleResizeFontSize(this, scaleX, scaleY)\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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathCommandMap","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","app","editor","fontScale","editing","layout","__layout","boxBounds","resizeDirection","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","draw","Text","resizeFontSize","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"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"}
1
+ {"version":3,"file":"resize.min.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.__\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\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\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 if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.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 if (this.__.__autoSize && this.children.length) {\n scaleResizeGroup(this, scaleX, scaleY)\n } else {\n scaleResize(this, scaleX, scaleY)\n if (this.__.resizeChildren) scaleResizeGroup(this, scaleX, scaleY)\n }\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":["M","L","C","Q","Z","N","D","X","G","F","O","P","U","Command","PathCommandMap","PathScaler","scale","data","scaleX","scaleY","command","i","len","length","scalePoints","splice","start","pointCount","end","matrix","MatrixHelper","get","topLeft","top","topRight","right","bottom","left","Direction9","scaleResize","leaf","pathInputed","scaleResizePath","width","height","scaleResizeFontSize","direction","fontScale","undefined","layout","__layout","boxBounds","affectScaleOrRotation","moveInner","x","y","fontSize","__","__autoWidth","__autoHeight","path","scaleResizePoints","points","forEach","p","scaleResizeGroup","group","children","a","d","transform","Leaf","prototype","noResize","this","editConfig","editSize","__scaleResize","resizeWidth","getBounds","scaleOf","lockRatio","resizeHeight","draw","Text","app","editor","dragPoint","resizeFontSize","mergeConfig","Path","Line","Polygon","Group","Box","__autoSize","resizeChildren","Plugin","add"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leafer-in/resize",
3
- "version": "1.4.2",
3
+ "version": "1.5.1",
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.4.2",
38
- "@leafer-ui/interface": "^1.4.2",
39
- "@leafer-in/interface": "^1.4.2"
37
+ "@leafer-ui/draw": "^1.5.1",
38
+ "@leafer-ui/interface": "^1.5.1",
39
+ "@leafer-in/interface": "^1.5.1"
40
40
  }
41
41
  }
package/src/resize.ts CHANGED
@@ -41,8 +41,9 @@ leaf.resizeHeight = function (height: number): void {
41
41
  // UI
42
42
 
43
43
  Text.prototype.__scaleResize = function (scaleX: number, scaleY: number): void {
44
- if (this.__.resizeFontSize || (this.editConfig && this.editConfig.editSize === 'font-size')) {
45
- scaleResizeFontSize(this, scaleX, scaleY)
44
+ const { app, editConfig } = this, editor = app && app.editor, dragPoint = editor && editor.dragPoint
45
+ if (this.__.resizeFontSize || (editConfig && editConfig.editSize === 'font-size') || (dragPoint && editor.mergeConfig.editSize === 'font-size')) {
46
+ scaleResizeFontSize(this, scaleX, scaleY, dragPoint && dragPoint.direction)
46
47
  } else {
47
48
  scaleResize(this, scaleX, scaleY)
48
49
  }
package/src/scaler.ts CHANGED
@@ -17,13 +17,10 @@ export function scaleResize(leaf: ILeaf, scaleX: number, scaleY: number): void {
17
17
  }
18
18
  }
19
19
 
20
- export function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number): void {
21
- const { app } = leaf
22
- const editor = app && app.editor
23
-
20
+ export function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number, direction?: Direction9): void {
24
21
  let fontScale = scaleX
25
22
 
26
- if (editor.editing) {
23
+ if (direction !== undefined) {
27
24
 
28
25
  const layout = leaf.__layout
29
26
 
@@ -31,7 +28,7 @@ export function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number)
31
28
  width *= scaleY - scaleX
32
29
  height *= scaleX - scaleY
33
30
 
34
- switch (editor.resizeDirection) {
31
+ switch (direction) { // 编辑器控制点的位置
35
32
  case top:
36
33
  case bottom:
37
34
  fontScale = scaleY
package/types/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { IPathCommandData, ILeaf, IBranch, IText, ILine, IPolygon } from '@leafer-ui/interface';
2
+ import { Direction9 } from '@leafer-ui/draw';
2
3
 
3
4
  declare const PathScaler: {
4
5
  scale(data: IPathCommandData, scaleX: number, scaleY: number): void;
@@ -6,7 +7,7 @@ declare const PathScaler: {
6
7
  };
7
8
 
8
9
  declare function scaleResize(leaf: ILeaf, scaleX: number, scaleY: number): void;
9
- declare function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number): void;
10
+ declare function scaleResizeFontSize(leaf: IText, scaleX: number, scaleY: number, direction?: Direction9): void;
10
11
  declare function scaleResizePath(leaf: ILeaf, scaleX: number, scaleY: number): void;
11
12
  declare function scaleResizePoints(leaf: ILine | IPolygon, scaleX: number, scaleY: number): void;
12
13
  declare function scaleResizeGroup(group: IBranch, scaleX: number, scaleY: number): void;