UNPKG

label-print-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

1 lines 3.31 kB
{"version":3,"file":"svg-circle.vue2.mjs","sources":["../../../../../../src/components/design/svg/svg-circle.vue"],"sourcesContent":["<template>\n <svg-base\n :element=\"element\"\n :svgOptions=\"svgOptions\"\n :draw=\"draw\"\n :changeSize=\"changeSize\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive } from 'vue-demi';\n\nimport { MyElement, Point } from '@myprint/design/types/entity';\nimport { unit2px } from '@myprint/design/utils/devicePixelRatio';\nimport SvgBase from '@myprint/design/components/design/svg/svg-base.vue';\nimport { BaseType, Selection } from 'd3-selection';\nimport { Path } from 'd3-path';\nimport * as d3Path from 'd3-path';\nimport { getRecursionParentPanel } from '@myprint/design/utils/elementUtil';\n\nconst props = withDefaults(defineProps<{\n element?: MyElement\n}>(), {\n element: () => ({} as MyElement)\n});\n\nconst svgOptions = reactive({\n width: 0,\n height: 0,\n rotateControl: {},\n centerPoint: {} as Point,\n drawAuxiliary: false\n});\n\nfunction changeSize() {\n initPoint();\n return true;\n}\n\nfunction draw(_chart: Selection<BaseType, any, BaseType, any>) {\n let path: Path = d3Path.path() as Path;\n // console.log(123)\n path.moveTo(svgOptions.centerPoint.x * 2, svgOptions.centerPoint.x);\n path.arc(svgOptions.centerPoint.x, svgOptions.centerPoint.x, svgOptions.centerPoint.x, 0, Math.PI * 2);\n \n return path;\n // ellipse.attr(\"cx\", svgOptions.centerPoint.x) // 设置椭圆中心的 x 坐标\n // .attr(\"cy\", svgOptions.centerPoint.y) // 设置椭圆中心的 y 坐标\n // .attr(\"rx\", svgOptions.centerPoint.x) // 设置椭圆的 x 轴半径\n // .attr(\"ry\", svgOptions.centerPoint.y) // 设置椭圆的 y 轴半径\n // .attr(\"fill\", \"gray\"); // 设置椭圆的填充颜色\n}\n\ninitPoint();\n\n\nfunction initPoint() {\n svgOptions.width = unit2px(props.element.width, getRecursionParentPanel(props.element));\n svgOptions.height = unit2px(props.element.height, getRecursionParentPanel(props.element));\n \n svgOptions.centerPoint = { x: svgOptions.width / 2, y: svgOptions.height / 2 };\n}\n\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAmBA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAMd,IAAA,MAAM,aAAa,QAAS,CAAA;AAAA,MACxB,KAAO,EAAA,CAAA;AAAA,MACP,MAAQ,EAAA,CAAA;AAAA,MACR,eAAe,EAAC;AAAA,MAChB,aAAa,EAAC;AAAA,MACd,aAAe,EAAA,KAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,SAAS,UAAa,GAAA;AAClB,MAAU,SAAA,EAAA,CAAA;AACV,MAAO,OAAA,IAAA,CAAA;AAAA,KACX;AAEA,IAAA,SAAS,KAAK,MAAiD,EAAA;AAC3D,MAAI,IAAA,IAAA,GAAa,OAAO,IAAK,EAAA,CAAA;AAE7B,MAAA,IAAA,CAAK,OAAO,UAAW,CAAA,WAAA,CAAY,IAAI,CAAG,EAAA,UAAA,CAAW,YAAY,CAAC,CAAA,CAAA;AAClE,MAAA,IAAA,CAAK,GAAI,CAAA,UAAA,CAAW,WAAY,CAAA,CAAA,EAAG,UAAW,CAAA,WAAA,CAAY,CAAG,EAAA,UAAA,CAAW,WAAY,CAAA,CAAA,EAAG,CAAG,EAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AAErG,MAAO,OAAA,IAAA,CAAA;AAAA,KAMX;AAEA,IAAU,SAAA,EAAA,CAAA;AAGV,IAAA,SAAS,SAAY,GAAA;AACjB,MAAW,UAAA,CAAA,KAAA,GAAQ,QAAQ,KAAM,CAAA,OAAA,CAAQ,OAAO,uBAAwB,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AACtF,MAAW,UAAA,CAAA,MAAA,GAAS,QAAQ,KAAM,CAAA,OAAA,CAAQ,QAAQ,uBAAwB,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AAExF,MAAW,UAAA,CAAA,WAAA,GAAc,EAAE,CAAG,EAAA,UAAA,CAAW,QAAQ,CAAG,EAAA,CAAA,EAAG,UAAW,CAAA,MAAA,GAAS,CAAE,EAAA,CAAA;AAAA,KACjF;;;;;;;;;;;;;;"}