1 line
4.0 KiB
Plaintext
1 line
4.0 KiB
Plaintext
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../../src/animate/animation/zoom.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAKlC,SAAS,WAAW,CAAC,KAAsB,EAAE,UAAuB,EAAE,IAA0B;IAC9F,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE;QACnB,IAAI,CAAE,KAAgB,CAAC,WAAW,EAAE,EAAE,UAAC,KAAK;YAC1C,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,IAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,KAAK;YACL,IAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE;gBAC9C,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACb,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;gBACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxB,KAAK,CAAC,OAAO,CACX;gBACE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE;oBACvC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACb,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;oBACf,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACZ,CAAC;aACH,EACD,UAAU,CACX,CAAC;SACH;aAAM;YACL,KAAK,CAAC,OAAO,CACX;gBACE,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE;oBACvC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACb,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;oBACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;iBACZ,CAAC;aACH,wBAEI,UAAU,KACb,QAAQ,EAAE;oBACR,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC,IAEJ,CAAC;SACH;KACF;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,KAAsB,EAAE,UAAuB,EAAE,GAAoB;IAC1F,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,KAAsB,EAAE,UAAuB,EAAE,GAAoB;IAC3F,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["import { ext } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nfunction doShapeZoom(shape: IShape | IGroup, animateCfg: GAnimateCfg, type: 'zoomIn' | 'zoomOut') {\n if (shape.isGroup()) {\n each((shape as IGroup).getChildren(), (child) => {\n doShapeZoom(child, animateCfg, type);\n });\n } else {\n const bbox = shape.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n shape.applyToMatrix([x, y, 1]);\n\n if (type === 'zoomIn') {\n // 放大\n const matrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]);\n shape.setMatrix(matrix);\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]),\n },\n animateCfg\n );\n } else {\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]),\n },\n {\n ...animateCfg,\n callback: () => {\n shape.remove(true);\n },\n }\n );\n }\n }\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * shape 以自身中心点逐渐放大的进入动画\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomIn(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomIn');\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * 消失动画,shape 以自身为中心点的逐渐缩小\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomOut(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomOut');\n}\n"]} |