ice-entity-designer 0.0.40 → 0.2.0

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.
Files changed (227) hide show
  1. package/README.md +16 -9
  2. package/dist/index.cjs +1 -6
  3. package/dist/index.mjs +1 -6
  4. package/dist/index.umd.js +1 -6
  5. package/dist/react.cjs +1 -6
  6. package/dist/react.mjs +1 -6
  7. package/dist/types/bpmn/BpmnSimulator.d.mts +4 -4
  8. package/dist/types/bpmn/BpmnSimulator.d.ts +4 -4
  9. package/dist/types/bpmn/bpmn_shapes.d.mts +9 -9
  10. package/dist/types/bpmn/bpmn_shapes.d.ts +9 -9
  11. package/dist/types/bpmn/bpmn_validate.d.mts +1 -1
  12. package/dist/types/bpmn/bpmn_validate.d.ts +1 -1
  13. package/dist/types/bpmn/bpmn_xml.d.mts +1 -1
  14. package/dist/types/bpmn/bpmn_xml.d.ts +1 -1
  15. package/dist/types/designer/EntityDesigner.d.mts +3 -3
  16. package/dist/types/designer/EntityDesigner.d.ts +3 -3
  17. package/dist/types/er-component/Entity.d.mts +3 -3
  18. package/dist/types/er-component/Entity.d.ts +3 -3
  19. package/dist/types/er-component/Relation.d.mts +2 -2
  20. package/dist/types/er-component/Relation.d.ts +2 -2
  21. package/dist/types/flow/FlowDesigner.d.mts +4 -4
  22. package/dist/types/flow/FlowDesigner.d.ts +4 -4
  23. package/dist/types/flow/FlowEdge.d.mts +2 -2
  24. package/dist/types/flow/FlowEdge.d.ts +2 -2
  25. package/dist/types/flow/FlowNode.d.mts +4 -4
  26. package/dist/types/flow/FlowNode.d.ts +4 -4
  27. package/dist/types/flow/flow_shapes.d.mts +3 -3
  28. package/dist/types/flow/flow_shapes.d.ts +3 -3
  29. package/dist/types/gantt/GanttDependency.d.mts +2 -2
  30. package/dist/types/gantt/GanttDependency.d.ts +2 -2
  31. package/dist/types/gantt/GanttDesigner.d.mts +2 -2
  32. package/dist/types/gantt/GanttDesigner.d.ts +2 -2
  33. package/dist/types/gantt/GanttRuler.d.mts +3 -3
  34. package/dist/types/gantt/GanttRuler.d.ts +3 -3
  35. package/dist/types/gantt/GanttTask.d.mts +2 -2
  36. package/dist/types/gantt/GanttTask.d.ts +2 -2
  37. package/dist/types/gantt/gantt_text.d.mts +1 -1
  38. package/dist/types/gantt/gantt_text.d.ts +1 -1
  39. package/dist/types/index.d.mts +4 -13
  40. package/dist/types/index.d.ts +4 -13
  41. package/dist/types/power/PowerDesigner.d.mts +3 -3
  42. package/dist/types/power/PowerDesigner.d.ts +3 -3
  43. package/dist/types/power/power_shapes.d.mts +5 -5
  44. package/dist/types/power/power_shapes.d.ts +5 -5
  45. package/dist/types/power/power_voltage.d.mts +1 -1
  46. package/dist/types/power/power_voltage.d.ts +1 -1
  47. package/dist/types/react/context.d.mts +2 -2
  48. package/dist/types/react/context.d.ts +2 -2
  49. package/dist/types/react/index.d.mts +0 -1
  50. package/dist/types/react/index.d.ts +0 -1
  51. package/dist/types/react/session.d.mts +4 -4
  52. package/dist/types/react/session.d.ts +4 -4
  53. package/dist/types/react/types.d.mts +7 -7
  54. package/dist/types/react/types.d.ts +7 -7
  55. package/dist/types/secondary/SecondaryDesigner.d.mts +2 -2
  56. package/dist/types/secondary/SecondaryDesigner.d.ts +2 -2
  57. package/dist/types/secondary/secondary_shapes.d.mts +4 -4
  58. package/dist/types/secondary/secondary_shapes.d.ts +4 -4
  59. package/dist/types/statechart/StateNode.d.mts +3 -3
  60. package/dist/types/statechart/StateNode.d.ts +3 -3
  61. package/dist/types/statechart/StateTransition.d.mts +2 -2
  62. package/dist/types/statechart/StateTransition.d.ts +2 -2
  63. package/dist/types/statechart/StatechartDesigner.d.mts +1 -1
  64. package/dist/types/statechart/StatechartDesigner.d.ts +1 -1
  65. package/dist/types/statechart/statechart_text.d.mts +1 -1
  66. package/dist/types/statechart/statechart_text.d.ts +1 -1
  67. package/dist/types/uml/UmlClass.d.mts +3 -3
  68. package/dist/types/uml/UmlClass.d.ts +3 -3
  69. package/dist/types/uml/UmlDesigner.d.mts +1 -1
  70. package/dist/types/uml/UmlDesigner.d.ts +1 -1
  71. package/dist/types/uml/UmlRelation.d.mts +5 -5
  72. package/dist/types/uml/UmlRelation.d.ts +5 -5
  73. package/dist/types/uml/uml_text.d.mts +1 -1
  74. package/dist/types/uml/uml_text.d.ts +1 -1
  75. package/dist/types/utils/component_type_util.d.mts +4 -0
  76. package/dist/types/utils/component_type_util.d.ts +4 -0
  77. package/dist/types/utils/project_codec.d.mts +2 -2
  78. package/dist/types/utils/project_codec.d.ts +2 -2
  79. package/dist/types/utils/project_schema.d.mts +1 -1
  80. package/dist/types/utils/project_schema.d.ts +1 -1
  81. package/dist/types/utils/schema_validator.d.mts +1 -1
  82. package/dist/types/utils/schema_validator.d.ts +1 -1
  83. package/dist/types/utils/type-registry.d.mts +11 -0
  84. package/dist/types/utils/type-registry.d.ts +11 -0
  85. package/package.json +24 -20
  86. package/dist/types/gl-matrix.d.mts +0 -3273
  87. package/dist/types/gl-matrix.d.ts +0 -3273
  88. package/dist/types/ice-render/FrameManager.d.mts +0 -26
  89. package/dist/types/ice-render/FrameManager.d.ts +0 -26
  90. package/dist/types/ice-render/ICE.d.mts +0 -424
  91. package/dist/types/ice-render/ICE.d.ts +0 -424
  92. package/dist/types/ice-render/a11y/accessibility.d.mts +0 -46
  93. package/dist/types/ice-render/a11y/accessibility.d.ts +0 -46
  94. package/dist/types/ice-render/animation/AnimationManager.d.mts +0 -96
  95. package/dist/types/ice-render/animation/AnimationManager.d.ts +0 -96
  96. package/dist/types/ice-render/animation/Easing.d.mts +0 -33
  97. package/dist/types/ice-render/animation/Easing.d.ts +0 -33
  98. package/dist/types/ice-render/consts/BIG_ZINDEX_NUMBER.d.mts +0 -14
  99. package/dist/types/ice-render/consts/BIG_ZINDEX_NUMBER.d.ts +0 -14
  100. package/dist/types/ice-render/consts/COMPONENT_TYPE_MAPPING.d.mts +0 -45
  101. package/dist/types/ice-render/consts/COMPONENT_TYPE_MAPPING.d.ts +0 -45
  102. package/dist/types/ice-render/consts/DOM_EVENT_MAPPING_CONSTS.d.mts +0 -37
  103. package/dist/types/ice-render/consts/DOM_EVENT_MAPPING_CONSTS.d.ts +0 -37
  104. package/dist/types/ice-render/consts/ICE_EVENT_NAME_CONSTS.d.mts +0 -27
  105. package/dist/types/ice-render/consts/ICE_EVENT_NAME_CONSTS.d.ts +0 -27
  106. package/dist/types/ice-render/control-panel/AlignmentGuideManager.d.mts +0 -92
  107. package/dist/types/ice-render/control-panel/AlignmentGuideManager.d.ts +0 -92
  108. package/dist/types/ice-render/control-panel/ICEControlPanel.d.mts +0 -37
  109. package/dist/types/ice-render/control-panel/ICEControlPanel.d.ts +0 -37
  110. package/dist/types/ice-render/control-panel/ICEControlPanelManager.d.mts +0 -25
  111. package/dist/types/ice-render/control-panel/ICEControlPanelManager.d.ts +0 -25
  112. package/dist/types/ice-render/control-panel/link-controls/LineControlPanel.d.mts +0 -39
  113. package/dist/types/ice-render/control-panel/link-controls/LineControlPanel.d.ts +0 -39
  114. package/dist/types/ice-render/control-panel/transform-controls/ResizeControl.d.mts +0 -38
  115. package/dist/types/ice-render/control-panel/transform-controls/ResizeControl.d.ts +0 -38
  116. package/dist/types/ice-render/control-panel/transform-controls/RotateControl.d.mts +0 -12
  117. package/dist/types/ice-render/control-panel/transform-controls/RotateControl.d.ts +0 -12
  118. package/dist/types/ice-render/control-panel/transform-controls/TransformControlPanel.d.mts +0 -83
  119. package/dist/types/ice-render/control-panel/transform-controls/TransformControlPanel.d.ts +0 -83
  120. package/dist/types/ice-render/control-panel/transform-controls/constraints.d.mts +0 -24
  121. package/dist/types/ice-render/control-panel/transform-controls/constraints.d.ts +0 -24
  122. package/dist/types/ice-render/cross-platform/Path2DRecorder.d.mts +0 -76
  123. package/dist/types/ice-render/cross-platform/Path2DRecorder.d.ts +0 -76
  124. package/dist/types/ice-render/cross-platform/PolyfillPath2D.d.mts +0 -21
  125. package/dist/types/ice-render/cross-platform/PolyfillPath2D.d.ts +0 -21
  126. package/dist/types/ice-render/cross-platform/root.d.mts +0 -7
  127. package/dist/types/ice-render/cross-platform/root.d.ts +0 -7
  128. package/dist/types/ice-render/event/DOMEventDispatcher.d.mts +0 -75
  129. package/dist/types/ice-render/event/DOMEventDispatcher.d.ts +0 -75
  130. package/dist/types/ice-render/event/DOMEventInterceptor.d.mts +0 -36
  131. package/dist/types/ice-render/event/DOMEventInterceptor.d.ts +0 -36
  132. package/dist/types/ice-render/event/EventBus.d.mts +0 -27
  133. package/dist/types/ice-render/event/EventBus.d.ts +0 -27
  134. package/dist/types/ice-render/event/ICEEvent.d.mts +0 -46
  135. package/dist/types/ice-render/event/ICEEvent.d.ts +0 -46
  136. package/dist/types/ice-render/event/ICEEventTarget.d.mts +0 -106
  137. package/dist/types/ice-render/event/ICEEventTarget.d.ts +0 -106
  138. package/dist/types/ice-render/event/input-normalize.d.mts +0 -75
  139. package/dist/types/ice-render/event/input-normalize.d.ts +0 -75
  140. package/dist/types/ice-render/export/SvgExporter.d.mts +0 -54
  141. package/dist/types/ice-render/export/SvgExporter.d.ts +0 -54
  142. package/dist/types/ice-render/geometry/GeoLine.d.mts +0 -24
  143. package/dist/types/ice-render/geometry/GeoLine.d.ts +0 -24
  144. package/dist/types/ice-render/geometry/GeoPoint.d.mts +0 -53
  145. package/dist/types/ice-render/geometry/GeoPoint.d.ts +0 -53
  146. package/dist/types/ice-render/geometry/GeoUtil.d.mts +0 -73
  147. package/dist/types/ice-render/geometry/GeoUtil.d.ts +0 -73
  148. package/dist/types/ice-render/geometry/ICEBoundingBox.d.mts +0 -81
  149. package/dist/types/ice-render/geometry/ICEBoundingBox.d.ts +0 -81
  150. package/dist/types/ice-render/graphic/ICEComponent.d.mts +0 -535
  151. package/dist/types/ice-render/graphic/ICEComponent.d.ts +0 -535
  152. package/dist/types/ice-render/graphic/ICEDotPath.d.mts +0 -99
  153. package/dist/types/ice-render/graphic/ICEDotPath.d.ts +0 -99
  154. package/dist/types/ice-render/graphic/ICEImage.d.mts +0 -17
  155. package/dist/types/ice-render/graphic/ICEImage.d.ts +0 -17
  156. package/dist/types/ice-render/graphic/ICEPath.d.mts +0 -46
  157. package/dist/types/ice-render/graphic/ICEPath.d.ts +0 -46
  158. package/dist/types/ice-render/graphic/container/ICEGroup.d.mts +0 -111
  159. package/dist/types/ice-render/graphic/container/ICEGroup.d.ts +0 -111
  160. package/dist/types/ice-render/graphic/link/ICEBezier.d.mts +0 -23
  161. package/dist/types/ice-render/graphic/link/ICEBezier.d.ts +0 -23
  162. package/dist/types/ice-render/graphic/link/ICELinkHook.d.mts +0 -52
  163. package/dist/types/ice-render/graphic/link/ICELinkHook.d.ts +0 -52
  164. package/dist/types/ice-render/graphic/link/ICELinkSlot.d.mts +0 -54
  165. package/dist/types/ice-render/graphic/link/ICELinkSlot.d.ts +0 -54
  166. package/dist/types/ice-render/graphic/link/ICELinkSlotManager.d.mts +0 -28
  167. package/dist/types/ice-render/graphic/link/ICELinkSlotManager.d.ts +0 -28
  168. package/dist/types/ice-render/graphic/link/ICEPolyLine.d.mts +0 -316
  169. package/dist/types/ice-render/graphic/link/ICEPolyLine.d.ts +0 -316
  170. package/dist/types/ice-render/graphic/link/ICEVisioLink.d.mts +0 -163
  171. package/dist/types/ice-render/graphic/link/ICEVisioLink.d.ts +0 -163
  172. package/dist/types/ice-render/graphic/shape/ICECircle.d.mts +0 -19
  173. package/dist/types/ice-render/graphic/shape/ICECircle.d.ts +0 -19
  174. package/dist/types/ice-render/graphic/shape/ICEEllipse.d.mts +0 -29
  175. package/dist/types/ice-render/graphic/shape/ICEEllipse.d.ts +0 -29
  176. package/dist/types/ice-render/graphic/shape/ICEIsogon.d.mts +0 -52
  177. package/dist/types/ice-render/graphic/shape/ICEIsogon.d.ts +0 -52
  178. package/dist/types/ice-render/graphic/shape/ICERect.d.mts +0 -10
  179. package/dist/types/ice-render/graphic/shape/ICERect.d.ts +0 -10
  180. package/dist/types/ice-render/graphic/shape/ICERose.d.mts +0 -41
  181. package/dist/types/ice-render/graphic/shape/ICERose.d.ts +0 -41
  182. package/dist/types/ice-render/graphic/shape/ICEStar.d.mts +0 -45
  183. package/dist/types/ice-render/graphic/shape/ICEStar.d.ts +0 -45
  184. package/dist/types/ice-render/graphic/text/ICEText.d.mts +0 -158
  185. package/dist/types/ice-render/graphic/text/ICEText.d.ts +0 -158
  186. package/dist/types/ice-render/index.d.mts +0 -59
  187. package/dist/types/ice-render/index.d.ts +0 -59
  188. package/dist/types/ice-render/layout/ICEBorderLayout.d.mts +0 -34
  189. package/dist/types/ice-render/layout/ICEBorderLayout.d.ts +0 -34
  190. package/dist/types/ice-render/layout/ICEBoxLayout.d.mts +0 -30
  191. package/dist/types/ice-render/layout/ICEBoxLayout.d.ts +0 -30
  192. package/dist/types/ice-render/layout/ICECardLayout.d.mts +0 -36
  193. package/dist/types/ice-render/layout/ICECardLayout.d.ts +0 -36
  194. package/dist/types/ice-render/layout/ICEFlowLayout.d.mts +0 -31
  195. package/dist/types/ice-render/layout/ICEFlowLayout.d.ts +0 -31
  196. package/dist/types/ice-render/layout/ICEGridLayout.d.mts +0 -33
  197. package/dist/types/ice-render/layout/ICEGridLayout.d.ts +0 -33
  198. package/dist/types/ice-render/layout/ICELayeredLayout.d.mts +0 -49
  199. package/dist/types/ice-render/layout/ICELayeredLayout.d.ts +0 -49
  200. package/dist/types/ice-render/layout/ICELayoutManager.d.mts +0 -33
  201. package/dist/types/ice-render/layout/ICELayoutManager.d.ts +0 -33
  202. package/dist/types/ice-render/layout/ICEOverlayLayout.d.mts +0 -25
  203. package/dist/types/ice-render/layout/ICEOverlayLayout.d.ts +0 -25
  204. package/dist/types/ice-render/persistence/Deserializer.d.mts +0 -43
  205. package/dist/types/ice-render/persistence/Deserializer.d.ts +0 -43
  206. package/dist/types/ice-render/persistence/Serializer.d.mts +0 -35
  207. package/dist/types/ice-render/persistence/Serializer.d.ts +0 -35
  208. package/dist/types/ice-render/plugin/PluginHost.d.mts +0 -86
  209. package/dist/types/ice-render/plugin/PluginHost.d.ts +0 -86
  210. package/dist/types/ice-render/renderer/CanvasRenderer.d.mts +0 -150
  211. package/dist/types/ice-render/renderer/CanvasRenderer.d.ts +0 -150
  212. package/dist/types/ice-render/renderer/ObjectCache.d.mts +0 -84
  213. package/dist/types/ice-render/renderer/ObjectCache.d.ts +0 -84
  214. package/dist/types/ice-render/renderer/dirty-rect-util.d.mts +0 -86
  215. package/dist/types/ice-render/renderer/dirty-rect-util.d.ts +0 -86
  216. package/dist/types/ice-render/theme/ICETheme.d.mts +0 -382
  217. package/dist/types/ice-render/theme/ICETheme.d.ts +0 -382
  218. package/dist/types/ice-render/util/ImageCache.d.mts +0 -19
  219. package/dist/types/ice-render/util/ImageCache.d.ts +0 -19
  220. package/dist/types/ice-render/util/data-util.d.mts +0 -43
  221. package/dist/types/ice-render/util/data-util.d.ts +0 -43
  222. package/dist/types/ice-render/util/gl-matrix-skew.d.mts +0 -14
  223. package/dist/types/ice-render/util/gl-matrix-skew.d.ts +0 -14
  224. package/dist/types/ice-render/util/lang.d.mts +0 -28
  225. package/dist/types/ice-render/util/lang.d.ts +0 -28
  226. package/dist/types/ice-render/util/uuid.d.mts +0 -1
  227. package/dist/types/ice-render/util/uuid.d.ts +0 -1
@@ -1,316 +0,0 @@
1
- import ICEEvent from '../../event/ICEEvent';
2
- import ICEDotPath from '../ICEDotPath';
3
- /**
4
- *
5
- * @class ICEPolyLine 折线
6
- *
7
- * 基本特征:
8
- *
9
- * - ICEPolyLine 上至少存在 2 个点,否则 ICEPolyLine 自动填充。
10
- * - ICEPolyLine 由多个点构成,如果折线上的所有点共线,则折线在外观上退化成直线。如果点数恰好为 2 ,折线退化成一条直线。
11
- * - ICEPolyLine 以及所有子类不能进行 transform 操作,在 ICE 中,对线条进行矩阵变换是没有意义的。
12
- * - ICEPolyLine 以及所有子类的 left/top 总是被设置为第 0 个点。
13
- * - ICEPolyLine 以及所有子类的原点都在第 0 个点上,而不在几何中心点,这一特性与普通的 Component 不同。
14
- *
15
- * @author 大漠穷秋<damoqiongqiu@126.com>
16
- */
17
- declare class ICEPolyLine extends ICEDotPath {
18
- /**
19
- * 类型标识
20
- * 用来解决 TypeScript 的 instanceof 兼容性问题, https://github.com/microsoft/TypeScript/issues/22585
21
- * 仅供内部使用,业务代码不可依赖此属性
22
- */
23
- isLine: boolean;
24
- /**
25
- * @cfg
26
- * {
27
- * lineType: 'solid', //可能的取值:solid, dashed
28
- * arrow: 'none', //可能的取值:none, start, end ,both
29
- * arrowLength: 15, //箭头长度
30
- * arrowAngel: 30, //箭头角度
31
- * lineWidth:2, //线条宽度
32
- * closePath:false, //连线默认不闭合路径
33
- * points:[], //线条上所有点的坐标
34
- * links:{ //如果传递了连接关系参数,ICEPolyLine 会自动与指定的组件建立连接关系。
35
- * start:{id:null,position:null},
36
- * end:{id:null,position:null}
37
- * }
38
- * }
39
- *
40
- * @param props
41
- */
42
- constructor(props?: any);
43
- /**
44
- * 精确命中判定:折线是开放路径,用「点到各线段的最小距离」判定(考虑线宽 + 容差)。
45
- * dots 的原点在第 0 个点上,与 containsLocalPoint 的参数空间一致。
46
- * @overwrite
47
- */
48
- protected containsLocalPoint(localX: number, localY: number): boolean;
49
- /**
50
- *
51
- * 整理并校验构造参数。
52
- *
53
- * @static
54
- * @param props
55
- * @returns
56
- */
57
- protected static arrangeParam(props: any): any;
58
- /**
59
- * @overwrite
60
- */
61
- protected initEvents(): void;
62
- protected afterAddHandler(evt?: ICEEvent): void;
63
- /**
64
- * @method syncConnections 同步连接关系
65
- *
66
- * - 根据 this.state.links 的数据结构,建立或者删除连接关系。
67
- * - 此方法会在 setState() 中被调用,所以此方法内部不能调用 setState(),否则会死循环。如果需要修改 state ,直接赋值。
68
- *
69
- */
70
- protected syncConnections(): void;
71
- protected createLink(id: string, position: string): void;
72
- /**
73
- * @method removeLink 删除连接关系
74
- * @param terminal 可以为 start 或者 end ,如果只提供了 terminal 参数,则删除此端点上的所有连接关系。
75
- * @param id 连接终点的组件 id
76
- * @param position 连接终点的组件的位置,可以为 TRBL
77
- */
78
- protected removeLink(terminal: string, id?: string, position?: string): void;
79
- /**
80
- * @method getLinkFromId
81
- * 获取起点组件 id ,如果没有建立连接,则返回 null
82
- * @returns
83
- */
84
- getLinkFromId(): string;
85
- /**
86
- * @method getLinkToId
87
- * 获取终点组件 id ,如果没有建立连接,则返回 null
88
- * @returns
89
- */
90
- getLinkToId(): string;
91
- /**
92
- * @method
93
- * 连接的组件位置发生移动之后,重新计算连接线的起点和终点。
94
- */
95
- private followComponent;
96
- /**
97
- * ICEPolyLine 有自己的特殊处理,它的原点永远在 (0,0) 位置,而不在几何中点。
98
- * @overwrite
99
- * @returns
100
- */
101
- protected calcLocalOrigin(): number[];
102
- /**
103
- * @method __calcDots
104
- * ICEPolyLine 有自己特殊的计算方式:
105
- * - 原点总是放在 startPoint 的位置。
106
- * - 数值相对于组件本地坐标系进行计算。
107
- * @overwrite
108
- * @returns
109
- */
110
- protected __calcDots(): any;
111
- /**
112
- * @method calcArrowPoints
113
- * 计算箭头坐标
114
- */
115
- protected calcArrowPoints(): void;
116
- protected doCalcArrowPoints(twoPoints: any): any[][];
117
- /**
118
- * @method addDot 增加一个点
119
- *
120
- * 动态向线条上增加一个点。
121
- *
122
- * @param point
123
- * @param index
124
- */
125
- addDot(point: [number, number], index: number): void;
126
- /**
127
- * @method rmDot 删除一个点
128
- *
129
- * 从线条上删掉一个点,如果线条上的点数已经小于等于 2 ,则什么都不做。
130
- *
131
- * @param index
132
- */
133
- rmDot(index: number): boolean;
134
- /**
135
- * @overwrite
136
- * @method calcComponentParams
137
- * - 计算组件最原始的宽高和位置,此时没有经过任何变换,也没有移动坐标原点。
138
- * - 在计算组件的原始尺寸时还没有确定原点坐标,所以只能基于组件本地坐标系的左上角 (0,0) 点进行计算。
139
- * - 此方法不能依赖原点位置和 transform 矩阵。
140
- * - 此方法会在 render() 中调用,所以不需要在构造函数中调用。
141
- * - 此方法中不能使用 setState() ,如果需要修改状态,直接赋值,如:this.state.width = 100;
142
- * - 子类可以覆盖此方法,实现自己的计算逻辑。
143
- * @returns
144
- */
145
- protected calcComponentParams(): {
146
- width: any;
147
- height: any;
148
- };
149
- /**
150
- * @method isDotsOnSameLine 是否所有点都在同一条直线上
151
- *
152
- * 进行共线判断,如果所有点都在同一条直线上,那么边界盒子的整体高度就等于线条的粗细。
153
- *
154
- * @returns
155
- */
156
- private isDotsOnSameLine;
157
- /**
158
- * @method calc4VertexPoints 计算4个顶点
159
- *
160
- * - 相对于组件本地的坐标系,原点位于左上角,没有经过矩阵变换。
161
- * - 返回值用于计算组件的原始 width/height 。
162
- *
163
- * @returns {Array}
164
- */
165
- protected calc4VertexPoints(): any[][];
166
- /**
167
- * @method splitEndpointsTo4Points 将线条的起点和终点分成4个点,用于计算组件的原始 width/height
168
- *
169
- * 把直线的2个端点分裂成4个点,把线条的粗细参数(lineWidth)当成高度看待,方便计算最小包围盒。
170
- *
171
- * @returns
172
- */
173
- protected splitEndpointsTo4Points(): number[][];
174
- private __polyBoxScratch;
175
- /**
176
- * 箭头三角面在 `state.dots` 中的**起始下标**(每个三角面占连续 3 个顶点:P0/A1/A2 或 Pn/B1/B2)。
177
- *
178
- * 由 `calcArrowPoints()` 维护,只在「填充实心箭头」与「并入包围盒」两处被读取。
179
- * 存下标而不是坐标:坐标始终读实时的 `state.dots`,避免与点集的生命周期脱节。
180
- * 它是运行时派生值,**不写入 `state`**,因此不参与序列化。
181
- */
182
- private __arrowFaceIndexes;
183
- /**
184
- * @overwrite
185
- * @method __localBox 折线的本地包围盒
186
- *
187
- * 折线的本地原点固定为 (0,0)(见 calcLocalOrigin),点集可含负坐标,因此基类默认的
188
- * 「[0,0,width,height]」约定**不成立** —— 必须由笔画带宽的顶点给出真实盒子。
189
- *
190
- * 基类的 `getMinBoundingBox()` 与渲染器的 `__paintWorldBox()` 都消费本方法,因此
191
- * 「面板/插槽定位用的盒子」与「上屏快照盒」从此**同源一致**。
192
- * 此前只有 `getMinBoundingBox()` 被覆盖,`__paintWorldBox()` 仍按 width/height 推导
193
- * (而折线的 width 曾是 ≈0)→ 快照盒退化 → 局部重绘漏画折线。
194
- *
195
- * @returns [minX, minY, maxX, maxY](实例内复用缓冲,需立即读取)
196
- */
197
- protected __localBox(): number[];
198
- /**
199
- * @method setState 更新组件状态
200
- * setState 仅仅修改参数,不会立即导致重新渲染,需要等待 FrameManager 调度,最小延迟时间约为 1/60=16.67 ms 。
201
- *
202
- * ICEPolyLine 有自己特殊的处理方法:
203
- *
204
- * - ICEPolyLine 的 width/height 属性总是计算出来的,不能直接修改,不接受 width/height 配置项。
205
- * - ICEPolyLine ICEPolyLine 不能进行 transform 操作,不接受 transform 配置项。
206
- * - ICEPolyLine 可以直接修改 points 。
207
- * - ICEPolyLine 的 left/top 数值可以直接修改,修改 left/top 时,会重新计算起点和终点坐标,保证 left/top 与 startPoint 始终保持在同一个点上。
208
- *
209
- * @overwrite
210
- * @param newState 新的状态
211
- */
212
- setState(newState: any): void;
213
- /**
214
- * 插槽方向 → 单位方向向量(T=上/B=下/L=左/R=右,其余为无方向)。
215
- *
216
- * 用 `protected` 而不是 `private`:子类 `ICEVisioLink` 的贝塞尔形态需要按插槽法线推导控制点。
217
- */
218
- protected static dirVector(position: string): number[];
219
- /**
220
- * 正交布线:根据两端插槽方向,在起终点之间生成直角折线。
221
- * 规则:起点沿 start 插槽方向延伸 routeOffset,终点沿 end 插槽方向延伸 routeOffset,
222
- * 中间用「先水平后垂直」的曼哈顿折线连接。
223
- */
224
- protected recalculateRoute(): void;
225
- /**
226
- * @overwrite
227
- * 支持贝塞尔曲线:curveType 为 quadratic/cubic 时用曲线连接,否则继承直线折线。
228
- */
229
- protected createPathObject(): any;
230
- /**
231
- * @overwrite
232
- * 先绘制折线,再绘制连线标签(若 label 非空)。
233
- */
234
- protected doRender(): void;
235
- /**
236
- * 用「线色」把端点箭头三角形填实(`arrowStyle: 'filled'`,默认)。
237
- *
238
- * 面顶点由 `getArrowFaces()` 提供 —— 与 SVG 导出共用同一份口径(导出器也读它),
239
- * 避免「画布填了、导出没填」(实心箭头在导出里变空心)。
240
- */
241
- getArrowFaces(): number[][][];
242
- /**
243
- * 用「线色」把端点箭头三角形填实(`arrowStyle: 'filled'`,默认)。
244
- *
245
- * 箭头三角形是通过在 `state.dots` 里插入顶点来构造的,它只被**描边**(折线强制 fill:false),
246
- * 所以默认看起来是空心的。这里在描边之后单独把三角面填充一次。
247
- *
248
- * 必须在 CTM 复原(`applyActiveTransform()`)之后调用 —— 用的是 dots 的本地坐标,
249
- * 与 `drawLabel()` 同一坐标系。
250
- */
251
- private drawArrowFills;
252
- /**
253
- * 标签的**本地矩形**度量:`{ x, y, halfW, halfH }`;无标签时返回 null。
254
- *
255
- * 绘制(`drawLabel`)与包围盒(`__localBox`)**共用**这一份口径,避免「画的框」与「算的盒」漂移。
256
- * 注意:`measureText` 前必须先设 `ctx.font`(字体状态跨调用遗留,先量后设会按上次字体算宽)——
257
- * 本方法设置 font 但**不负责恢复**:绘制路径由 `ctx.save/restore` 兜住,包围盒路径见
258
- * `__measureLabelBoxForBounds()`(盒子计算不应留下渲染副作用)。
259
- */
260
- private __labelMetrics;
261
- /**
262
- * 连线标签的**渲染信息**(公开口径):位置、尺寸、字体与配色。
263
- *
264
- * 与 `drawLabel()` / `__labelMetrics()` 同源 —— 画布怎么画,导出(SVG)就怎么描述。
265
- * 连线标签是画布 `fillText` 出来的,不像节点标题那样是独立的 ICEText 子组件,
266
- * 所以导出器必须显式问它,否则「是/否」「条件」这类标签会在导出里凭空消失。
267
- */
268
- getLabelRenderInfo(): {
269
- text: string;
270
- x: number;
271
- y: number;
272
- halfW: number;
273
- halfH: number;
274
- fontSize: number;
275
- fillStyle: string;
276
- backgroundColor: string;
277
- } | null;
278
- /** `__localBox()` 专用包装:算完把 `ctx.font` 恢复 —— 盒子计算不该改变渲染状态。 */
279
- private __measureLabelBoxForBounds;
280
- /**
281
- * 绘制连线标签:在折线中点绘制带背景的文本,遮住下面的线以保证可读性。
282
- * 度量口径与 `__labelMetrics()` 共用(后者同时服务于包围盒)。
283
- */
284
- private drawLabel;
285
- /**
286
- * 计算标签位置:折线中点(本地坐标)。2 点取端点中点,多点取中间顶点。
287
- */
288
- private getLabelPosition;
289
- /**
290
- * @method getRotateAngle 获取组件的旋转角度
291
- * @returns {number}
292
- */
293
- getRotateAngle(): number;
294
- /**
295
- * @method containsPoint 判断点是否在线上
296
- *
297
- * 计算方法:如果给点的坐标点到线段两端的距离之和等于线段长度,则表示点位于线段上,允许一定的误差范围,用 delta 参数进行调节。
298
- * 算法来源:http://www.jeffreythompson.org/collision-detection/line-point.php
299
- *
300
- * @param x
301
- * @param y
302
- * @returns {boolean}
303
- */
304
- containsPoint(x: number, y: number): boolean;
305
- /**
306
- * @method getLines 获取线段数组
307
- * @returns {Array<any>}
308
- */
309
- private getLines;
310
- /**
311
- * @overwrite
312
- * @method destory
313
- */
314
- destory(): void;
315
- }
316
- export default ICEPolyLine;
@@ -1,163 +0,0 @@
1
- import ICEPolyLine from './ICEPolyLine.mjs';
2
- /**
3
- * ! FIXME: 删掉对 GeoPoint/GeoLine/GeoUtil 的依赖
4
- * @class ICEVisioLink
5
- *
6
- * Visio 型的连接线
7
- *
8
- * 模拟 Microsoft Visio 中的折线算法,此实现从 diagramo 改进而来:http://diagramo.com/ 。
9
- *
10
- * 基本特性:
11
- *
12
- * - ICEVisioLink 只有 2 个端点,起点和终点。
13
- * - 除起始点和终点坐标之外,其它点会自动插值计算。
14
- * - ICEVisioLink 只能连接 2 个非线条类的组件。
15
- * - 线条互相之间不能连接,在 ICE 引擎中,不能用线条连接线条。
16
- * - 每一个可以被连接的组件上都有 4 个插槽(Slot),4 个插槽分布在组件最小边界盒子 4 条边的几何中点位置上。
17
- * - ICEVisioLink 的端点在移动时会判断是否与某个插槽发生碰撞,如果与某个插槽发生碰撞, ICEVisioLink 会连接到插槽所在的组件上。
18
- * - 同一个插槽(Slot)上可以连 N 根线,Slot 与 ICEVisioLink 之间的关系是 1->N 。
19
- *
20
- * @author 大漠穷秋<damoqiongqiu@126.com>
21
- */
22
- export default class ICEVisioLink extends ICEPolyLine {
23
- /**
24
- * FIXME:补全 props 配置项的描述
25
- */
26
- constructor(props?: any);
27
- protected static arrangeParam(props: any): any;
28
- /**
29
- * ICEVisioLink 有自己特殊的计算方式。
30
- *
31
- * @overwrite
32
- * @returns
33
- */
34
- protected __calcDots(): any;
35
- /**
36
- * 贝塞尔形态:从两端点与插槽法线构造三次贝塞尔,等分采样后写回 points/dots。
37
- *
38
- * **为什么要把采样点写回 `state.points`**(而不是只算 dots):`ICEPolyLine.isDotsOnSameLine()`
39
- * 与 `getLabelPosition()` 都只读 `state.points`。若 points 只剩首尾两点会被判「共线」,
40
- * 包围盒就会走 `splitEndpointsTo4Points()`、只按线宽沿弦外扩 → 曲线鼓出的部分落在盒外
41
- * → dirty-rect 上屏快照盒偏小、局部重绘会把曲线裁掉。写回之后包围盒/标签/命中都自然正确。
42
- *
43
- * @returns
44
- */
45
- protected __calcBezierDots(): any;
46
- /**
47
- * 由两端点构造三次贝塞尔并等分采样(世界坐标)。
48
- *
49
- * 控制点:`C1 = start + dir(start 插槽) * offset`、`C2 = end + dir(end 插槽) * offset`,
50
- * `offset = max(|end-start| * 0.45, 24)`,方向为插槽**外法线**(与正交布线的语义一致)。
51
- */
52
- protected buildBezierPoints(start: number[], end: number[]): number[][];
53
- /**
54
- * 某端插槽的外法线方向;C 槽 / 未连接 / 未知位置回落到弦方向。
55
- *
56
- * 注意 start 端用 `+chord`、end 端用 `-chord`(指向弦的内侧):两端都取 `+chord` 的话,
57
- * 控制点会落在两端点连线之外,曲线会先冲出去再拐回来(终点被越过)。
58
- */
59
- protected slotDirection(terminal: string, chord: number[]): number[];
60
- /**
61
- * @overwrite
62
- * 贝塞尔形态不走正交路由。
63
- *
64
- * 应用层(如 ice-entity-designer 的 `routeRelations()`)会在布局后无条件把 `routeType` 设为
65
- * `'orthogonal'`;不拦掉的话每次布局/移动都会用正交折线整体覆盖 `state.points`:
66
- * 虽然下一帧 `__calcDots` 会把曲线重新采样回来,但语义错乱且白算一次。
67
- */
68
- protected recalculateRoute(): void;
69
- /**
70
- * 在起点和终点之间插值。
71
- *
72
- * @returns
73
- */
74
- protected interpolate(): any[];
75
- /**
76
- * Tests if a vector of points is an orthogonal path (moving in multiples of 90 degrees).
77
- *
78
- *
79
- * 正交判定。Visio 连接线上的每一段要么平行于 X 轴,要么平行于 Y 轴。
80
- * @param {Array} v - an {Array} of {Point}s
81
- * @return {Boolean} - true if path is valid, false otherwise
82
- */
83
- private orthogonalPath;
84
- /**
85
- * FIXME: 用更好的数学方法进行计算。
86
- * Test to see if 2 {Line}s intersects. They are considered finite segments
87
- * and not the infinite lines from geometry
88
- * @param {Line} l1 - fist line/segment
89
- * @param {Line} l2 - last line/segment
90
- * @return {Boolean} true - if the lines intersect or false if not
91
- */
92
- private lineIntersectsLine;
93
- /**
94
- * Tests if a a polyline defined by a set of points intersects a rectangle
95
- * @param {Array} points - and {Array} of {Point}s
96
- * @param {Array} boundingRect - the boundingRect
97
- * @param {Boolean} closedPolyline - incase polyline is closed figure then true, else false
98
- * @return true - if line intersects the rectangle, false - if not
99
- */
100
- private polylineIntersectsRectangle;
101
- /**
102
- * Score a ortogonal path made out of Points
103
- * Iterates over a set of points (minimum 3)
104
- * For each 3 points (i, i+1, i+2) :
105
- * - if the 3rd one is after the 2nd on the same line we add +1
106
- * - if the 3rd is up or down related to the 2nd we do not do anything +0
107
- * - if the 3rd goes back we imediatelly return -1
108
- * @param {Array} v - an array of {Point}s
109
- * @return {Number} - -1 if the path is wrong (goes back) or something >= 0 if is fine.The bigger the number the smooth the path is.
110
- */
111
- private scorePath;
112
- /**
113
- * Returns the sign of a number
114
- * @param {Number} x - the number
115
- * @returns {Number}
116
- * @see <a href="http://en.wikipedia.org/wiki/Sign_function">http://en.wikipedia.org/wiki/Sign_function</a>
117
- */
118
- private signum;
119
- /**
120
- * Tests if a vector of points is a valid path (not going back)
121
- * There are a few problems here. If you have p1, p2, p3 and p4 and p2 = p3 you need to ignore that
122
- * @param {Array} v - an {Array} of {Point}s
123
- * @return {Boolean} - true if path is valid, false otherwise
124
- */
125
- private forwardPath;
126
- /**
127
- * @method distance
128
- * Calculate the distance between two points.
129
- *
130
- *
131
- * 计算两点之间的距离。
132
- * @param {Point} p1 - first {Point}
133
- * @param {Point} p2 - second {Point}
134
- * @return {Number} - the distance between those 2 points. It is always positive.
135
- */
136
- private distance;
137
- /**
138
- * Returns the max of a vector
139
- * @param {Array} v - vector of {Number}s
140
- * @return {Number} - the maximum number from the vector or NaN if vector is empty
141
- */
142
- private max;
143
- /**
144
- * Returns the min of a vector
145
- * @param {Array} v - vector of {Number}s
146
- * @return {Number} - the minimum number from the vector or NaN if vector is empty
147
- * @author alex@scriptoid.com
148
- */
149
- private min;
150
- /**
151
- * ICEVisioLink 中的点都是自动计算出来的,手动添加点没有意义。
152
- * @overwrite
153
- * @param point
154
- * @param index
155
- */
156
- addDot(point: [number, number], index: number): void;
157
- /**
158
- * ICEVisioLink 中的点都是自动计算出来的,手动删除点没有意义。
159
- * @overwrite
160
- * @param index
161
- */
162
- rmDot(index: number): boolean;
163
- }
@@ -1,163 +0,0 @@
1
- import ICEPolyLine from './ICEPolyLine';
2
- /**
3
- * ! FIXME: 删掉对 GeoPoint/GeoLine/GeoUtil 的依赖
4
- * @class ICEVisioLink
5
- *
6
- * Visio 型的连接线
7
- *
8
- * 模拟 Microsoft Visio 中的折线算法,此实现从 diagramo 改进而来:http://diagramo.com/ 。
9
- *
10
- * 基本特性:
11
- *
12
- * - ICEVisioLink 只有 2 个端点,起点和终点。
13
- * - 除起始点和终点坐标之外,其它点会自动插值计算。
14
- * - ICEVisioLink 只能连接 2 个非线条类的组件。
15
- * - 线条互相之间不能连接,在 ICE 引擎中,不能用线条连接线条。
16
- * - 每一个可以被连接的组件上都有 4 个插槽(Slot),4 个插槽分布在组件最小边界盒子 4 条边的几何中点位置上。
17
- * - ICEVisioLink 的端点在移动时会判断是否与某个插槽发生碰撞,如果与某个插槽发生碰撞, ICEVisioLink 会连接到插槽所在的组件上。
18
- * - 同一个插槽(Slot)上可以连 N 根线,Slot 与 ICEVisioLink 之间的关系是 1->N 。
19
- *
20
- * @author 大漠穷秋<damoqiongqiu@126.com>
21
- */
22
- export default class ICEVisioLink extends ICEPolyLine {
23
- /**
24
- * FIXME:补全 props 配置项的描述
25
- */
26
- constructor(props?: any);
27
- protected static arrangeParam(props: any): any;
28
- /**
29
- * ICEVisioLink 有自己特殊的计算方式。
30
- *
31
- * @overwrite
32
- * @returns
33
- */
34
- protected __calcDots(): any;
35
- /**
36
- * 贝塞尔形态:从两端点与插槽法线构造三次贝塞尔,等分采样后写回 points/dots。
37
- *
38
- * **为什么要把采样点写回 `state.points`**(而不是只算 dots):`ICEPolyLine.isDotsOnSameLine()`
39
- * 与 `getLabelPosition()` 都只读 `state.points`。若 points 只剩首尾两点会被判「共线」,
40
- * 包围盒就会走 `splitEndpointsTo4Points()`、只按线宽沿弦外扩 → 曲线鼓出的部分落在盒外
41
- * → dirty-rect 上屏快照盒偏小、局部重绘会把曲线裁掉。写回之后包围盒/标签/命中都自然正确。
42
- *
43
- * @returns
44
- */
45
- protected __calcBezierDots(): any;
46
- /**
47
- * 由两端点构造三次贝塞尔并等分采样(世界坐标)。
48
- *
49
- * 控制点:`C1 = start + dir(start 插槽) * offset`、`C2 = end + dir(end 插槽) * offset`,
50
- * `offset = max(|end-start| * 0.45, 24)`,方向为插槽**外法线**(与正交布线的语义一致)。
51
- */
52
- protected buildBezierPoints(start: number[], end: number[]): number[][];
53
- /**
54
- * 某端插槽的外法线方向;C 槽 / 未连接 / 未知位置回落到弦方向。
55
- *
56
- * 注意 start 端用 `+chord`、end 端用 `-chord`(指向弦的内侧):两端都取 `+chord` 的话,
57
- * 控制点会落在两端点连线之外,曲线会先冲出去再拐回来(终点被越过)。
58
- */
59
- protected slotDirection(terminal: string, chord: number[]): number[];
60
- /**
61
- * @overwrite
62
- * 贝塞尔形态不走正交路由。
63
- *
64
- * 应用层(如 ice-entity-designer 的 `routeRelations()`)会在布局后无条件把 `routeType` 设为
65
- * `'orthogonal'`;不拦掉的话每次布局/移动都会用正交折线整体覆盖 `state.points`:
66
- * 虽然下一帧 `__calcDots` 会把曲线重新采样回来,但语义错乱且白算一次。
67
- */
68
- protected recalculateRoute(): void;
69
- /**
70
- * 在起点和终点之间插值。
71
- *
72
- * @returns
73
- */
74
- protected interpolate(): any[];
75
- /**
76
- * Tests if a vector of points is an orthogonal path (moving in multiples of 90 degrees).
77
- *
78
- *
79
- * 正交判定。Visio 连接线上的每一段要么平行于 X 轴,要么平行于 Y 轴。
80
- * @param {Array} v - an {Array} of {Point}s
81
- * @return {Boolean} - true if path is valid, false otherwise
82
- */
83
- private orthogonalPath;
84
- /**
85
- * FIXME: 用更好的数学方法进行计算。
86
- * Test to see if 2 {Line}s intersects. They are considered finite segments
87
- * and not the infinite lines from geometry
88
- * @param {Line} l1 - fist line/segment
89
- * @param {Line} l2 - last line/segment
90
- * @return {Boolean} true - if the lines intersect or false if not
91
- */
92
- private lineIntersectsLine;
93
- /**
94
- * Tests if a a polyline defined by a set of points intersects a rectangle
95
- * @param {Array} points - and {Array} of {Point}s
96
- * @param {Array} boundingRect - the boundingRect
97
- * @param {Boolean} closedPolyline - incase polyline is closed figure then true, else false
98
- * @return true - if line intersects the rectangle, false - if not
99
- */
100
- private polylineIntersectsRectangle;
101
- /**
102
- * Score a ortogonal path made out of Points
103
- * Iterates over a set of points (minimum 3)
104
- * For each 3 points (i, i+1, i+2) :
105
- * - if the 3rd one is after the 2nd on the same line we add +1
106
- * - if the 3rd is up or down related to the 2nd we do not do anything +0
107
- * - if the 3rd goes back we imediatelly return -1
108
- * @param {Array} v - an array of {Point}s
109
- * @return {Number} - -1 if the path is wrong (goes back) or something >= 0 if is fine.The bigger the number the smooth the path is.
110
- */
111
- private scorePath;
112
- /**
113
- * Returns the sign of a number
114
- * @param {Number} x - the number
115
- * @returns {Number}
116
- * @see <a href="http://en.wikipedia.org/wiki/Sign_function">http://en.wikipedia.org/wiki/Sign_function</a>
117
- */
118
- private signum;
119
- /**
120
- * Tests if a vector of points is a valid path (not going back)
121
- * There are a few problems here. If you have p1, p2, p3 and p4 and p2 = p3 you need to ignore that
122
- * @param {Array} v - an {Array} of {Point}s
123
- * @return {Boolean} - true if path is valid, false otherwise
124
- */
125
- private forwardPath;
126
- /**
127
- * @method distance
128
- * Calculate the distance between two points.
129
- *
130
- *
131
- * 计算两点之间的距离。
132
- * @param {Point} p1 - first {Point}
133
- * @param {Point} p2 - second {Point}
134
- * @return {Number} - the distance between those 2 points. It is always positive.
135
- */
136
- private distance;
137
- /**
138
- * Returns the max of a vector
139
- * @param {Array} v - vector of {Number}s
140
- * @return {Number} - the maximum number from the vector or NaN if vector is empty
141
- */
142
- private max;
143
- /**
144
- * Returns the min of a vector
145
- * @param {Array} v - vector of {Number}s
146
- * @return {Number} - the minimum number from the vector or NaN if vector is empty
147
- * @author alex@scriptoid.com
148
- */
149
- private min;
150
- /**
151
- * ICEVisioLink 中的点都是自动计算出来的,手动添加点没有意义。
152
- * @overwrite
153
- * @param point
154
- * @param index
155
- */
156
- addDot(point: [number, number], index: number): void;
157
- /**
158
- * ICEVisioLink 中的点都是自动计算出来的,手动删除点没有意义。
159
- * @overwrite
160
- * @param index
161
- */
162
- rmDot(index: number): boolean;
163
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Copyright (c) 2022 大漠穷秋.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
- import ICEEllipse from './ICEEllipse.mjs';
9
- /**
10
- * @class ICECircle 正圆形
11
- *
12
- * 采用椭圆绘制方法,正圆形作为椭圆的特殊情况。
13
- *
14
- * @author 大漠穷秋<damoqiongqiu@126.com>
15
- */
16
- declare class ICECircle extends ICEEllipse {
17
- constructor(props?: any);
18
- }
19
- export default ICECircle;
@@ -1,19 +0,0 @@
1
- /**
2
- * Copyright (c) 2022 大漠穷秋.
3
- *
4
- * This source code is licensed under the MIT license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- *
7
- */
8
- import ICEEllipse from './ICEEllipse';
9
- /**
10
- * @class ICECircle 正圆形
11
- *
12
- * 采用椭圆绘制方法,正圆形作为椭圆的特殊情况。
13
- *
14
- * @author 大漠穷秋<damoqiongqiu@126.com>
15
- */
16
- declare class ICECircle extends ICEEllipse {
17
- constructor(props?: any);
18
- }
19
- export default ICECircle;