ice-render 1.0.4 → 1.0.6

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 (145) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +229 -141
  3. package/dist/THIRD-PARTY-NOTICES.txt +32 -0
  4. package/dist/index.cjs +30 -0
  5. package/dist/index.mjs +30 -0
  6. package/dist/index.umd.js +6 -1
  7. package/dist/types/FrameManager.d.mts +26 -0
  8. package/dist/types/FrameManager.d.ts +26 -26
  9. package/dist/types/ICE.d.mts +369 -0
  10. package/dist/types/ICE.d.ts +369 -107
  11. package/dist/types/a11y/accessibility.d.mts +46 -0
  12. package/dist/types/a11y/accessibility.d.ts +46 -0
  13. package/dist/types/animation/AnimationManager.d.mts +96 -0
  14. package/dist/types/animation/AnimationManager.d.ts +96 -25
  15. package/dist/types/animation/Easing.d.mts +33 -0
  16. package/dist/types/animation/Easing.d.ts +33 -32
  17. package/dist/types/consts/BIG_ZINDEX_NUMBER.d.mts +14 -0
  18. package/dist/types/consts/BIG_ZINDEX_NUMBER.d.ts +14 -14
  19. package/dist/types/consts/COMPONENT_TYPE_MAPPING.d.mts +45 -0
  20. package/dist/types/consts/COMPONENT_TYPE_MAPPING.d.ts +45 -36
  21. package/dist/types/consts/DOM_EVENT_MAPPING_CONSTS.d.mts +37 -0
  22. package/dist/types/consts/DOM_EVENT_MAPPING_CONSTS.d.ts +37 -19
  23. package/dist/types/consts/ICE_EVENT_NAME_CONSTS.d.mts +27 -0
  24. package/dist/types/consts/ICE_EVENT_NAME_CONSTS.d.ts +27 -20
  25. package/dist/types/control-panel/AlignmentGuideManager.d.mts +92 -0
  26. package/dist/types/control-panel/AlignmentGuideManager.d.ts +92 -0
  27. package/dist/types/control-panel/ICEControlPanel.d.mts +37 -0
  28. package/dist/types/control-panel/ICEControlPanel.d.ts +37 -37
  29. package/dist/types/control-panel/ICEControlPanelManager.d.mts +25 -0
  30. package/dist/types/control-panel/ICEControlPanelManager.d.ts +25 -23
  31. package/dist/types/control-panel/link-controls/LineControlPanel.d.mts +39 -0
  32. package/dist/types/control-panel/link-controls/LineControlPanel.d.ts +39 -39
  33. package/dist/types/control-panel/transform-controls/ResizeControl.d.mts +38 -0
  34. package/dist/types/control-panel/transform-controls/ResizeControl.d.ts +38 -38
  35. package/dist/types/control-panel/transform-controls/RotateControl.d.mts +12 -0
  36. package/dist/types/control-panel/transform-controls/RotateControl.d.ts +12 -12
  37. package/dist/types/control-panel/transform-controls/TransformControlPanel.d.mts +83 -0
  38. package/dist/types/control-panel/transform-controls/TransformControlPanel.d.ts +83 -74
  39. package/dist/types/control-panel/transform-controls/constraints.d.mts +24 -0
  40. package/dist/types/control-panel/transform-controls/constraints.d.ts +24 -0
  41. package/dist/types/cross-platform/PolyfillPath2D.d.mts +31 -0
  42. package/dist/types/cross-platform/PolyfillPath2D.d.ts +31 -0
  43. package/dist/types/cross-platform/root.d.mts +7 -0
  44. package/dist/types/cross-platform/root.d.ts +7 -2
  45. package/dist/types/event/DOMEventDispatcher.d.mts +68 -0
  46. package/dist/types/event/DOMEventDispatcher.d.ts +68 -29
  47. package/dist/types/event/DOMEventInterceptor.d.mts +36 -0
  48. package/dist/types/event/DOMEventInterceptor.d.ts +36 -7
  49. package/dist/types/event/EventBus.d.mts +27 -0
  50. package/dist/types/event/EventBus.d.ts +27 -27
  51. package/dist/types/event/ICEEvent.d.mts +46 -0
  52. package/dist/types/event/ICEEvent.d.ts +46 -46
  53. package/dist/types/event/ICEEventTarget.d.mts +106 -0
  54. package/dist/types/event/ICEEventTarget.d.ts +106 -106
  55. package/dist/types/event/input-normalize.d.mts +75 -0
  56. package/dist/types/event/input-normalize.d.ts +75 -0
  57. package/dist/types/geometry/GeoLine.d.mts +24 -0
  58. package/dist/types/geometry/GeoLine.d.ts +24 -23
  59. package/dist/types/geometry/GeoPoint.d.mts +53 -0
  60. package/dist/types/geometry/GeoPoint.d.ts +53 -66
  61. package/dist/types/geometry/GeoUtil.d.mts +73 -0
  62. package/dist/types/geometry/GeoUtil.d.ts +73 -37
  63. package/dist/types/geometry/ICEBoundingBox.d.mts +81 -0
  64. package/dist/types/geometry/ICEBoundingBox.d.ts +81 -81
  65. package/dist/types/graphic/ICEComponent.d.mts +436 -0
  66. package/dist/types/graphic/ICEComponent.d.ts +436 -264
  67. package/dist/types/graphic/ICEDotPath.d.mts +99 -0
  68. package/dist/types/graphic/ICEDotPath.d.ts +99 -63
  69. package/dist/types/graphic/ICEImage.d.mts +17 -0
  70. package/dist/types/graphic/ICEImage.d.ts +17 -17
  71. package/dist/types/graphic/ICEPath.d.mts +39 -0
  72. package/dist/types/graphic/ICEPath.d.ts +39 -36
  73. package/dist/types/graphic/container/ICEGroup.d.mts +101 -0
  74. package/dist/types/graphic/container/ICEGroup.d.ts +101 -53
  75. package/dist/types/graphic/link/ICEBezier.d.mts +23 -0
  76. package/dist/types/graphic/link/ICEBezier.d.ts +23 -15
  77. package/dist/types/graphic/link/ICELinkHook.d.mts +52 -0
  78. package/dist/types/graphic/link/ICELinkHook.d.ts +52 -52
  79. package/dist/types/graphic/link/ICELinkSlot.d.mts +54 -0
  80. package/dist/types/graphic/link/ICELinkSlot.d.ts +54 -46
  81. package/dist/types/graphic/link/ICELinkSlotManager.d.mts +28 -0
  82. package/dist/types/graphic/link/ICELinkSlotManager.d.ts +28 -28
  83. package/dist/types/graphic/link/ICEPolyLine.d.mts +292 -0
  84. package/dist/types/graphic/link/ICEPolyLine.d.ts +292 -219
  85. package/dist/types/graphic/link/ICEVisioLink.d.mts +163 -0
  86. package/dist/types/graphic/link/ICEVisioLink.d.ts +163 -129
  87. package/dist/types/graphic/shape/ICECircle.d.mts +19 -0
  88. package/dist/types/graphic/shape/ICECircle.d.ts +19 -19
  89. package/dist/types/graphic/shape/ICEEllipse.d.mts +29 -0
  90. package/dist/types/graphic/shape/ICEEllipse.d.ts +29 -23
  91. package/dist/types/graphic/shape/ICEIsogon.d.mts +52 -0
  92. package/dist/types/graphic/shape/ICEIsogon.d.ts +52 -52
  93. package/dist/types/graphic/shape/ICERect.d.mts +10 -0
  94. package/dist/types/graphic/shape/ICERect.d.ts +10 -17
  95. package/dist/types/graphic/shape/ICERose.d.mts +41 -0
  96. package/dist/types/graphic/shape/ICERose.d.ts +41 -41
  97. package/dist/types/graphic/shape/ICEStar.d.mts +45 -0
  98. package/dist/types/graphic/shape/ICEStar.d.ts +45 -45
  99. package/dist/types/graphic/text/ICEText.d.mts +137 -0
  100. package/dist/types/graphic/text/ICEText.d.ts +137 -65
  101. package/dist/types/index.d.mts +55 -0
  102. package/dist/types/index.d.ts +55 -41
  103. package/dist/types/layout/ICEBorderLayout.d.mts +34 -0
  104. package/dist/types/layout/ICEBorderLayout.d.ts +34 -0
  105. package/dist/types/layout/ICEBoxLayout.d.mts +30 -0
  106. package/dist/types/layout/ICEBoxLayout.d.ts +30 -0
  107. package/dist/types/layout/ICECardLayout.d.mts +36 -0
  108. package/dist/types/layout/ICECardLayout.d.ts +36 -0
  109. package/dist/types/layout/ICEFlowLayout.d.mts +31 -0
  110. package/dist/types/layout/ICEFlowLayout.d.ts +31 -0
  111. package/dist/types/layout/ICEGridLayout.d.mts +33 -0
  112. package/dist/types/layout/ICEGridLayout.d.ts +33 -0
  113. package/dist/types/layout/ICELayeredLayout.d.mts +49 -0
  114. package/dist/types/layout/ICELayeredLayout.d.ts +49 -0
  115. package/dist/types/layout/ICELayoutManager.d.mts +33 -0
  116. package/dist/types/layout/ICELayoutManager.d.ts +33 -0
  117. package/dist/types/layout/ICEOverlayLayout.d.mts +25 -0
  118. package/dist/types/layout/ICEOverlayLayout.d.ts +25 -0
  119. package/dist/types/persistence/Deserializer.d.mts +43 -0
  120. package/dist/types/persistence/Deserializer.d.ts +43 -14
  121. package/dist/types/persistence/Serializer.d.mts +35 -0
  122. package/dist/types/persistence/Serializer.d.ts +35 -26
  123. package/dist/types/plugin/PluginHost.d.mts +86 -0
  124. package/dist/types/plugin/PluginHost.d.ts +86 -0
  125. package/dist/types/renderer/CanvasRenderer.d.mts +150 -0
  126. package/dist/types/renderer/CanvasRenderer.d.ts +150 -22
  127. package/dist/types/renderer/ObjectCache.d.mts +79 -0
  128. package/dist/types/renderer/ObjectCache.d.ts +79 -0
  129. package/dist/types/renderer/dirty-rect-util.d.mts +86 -0
  130. package/dist/types/renderer/dirty-rect-util.d.ts +86 -0
  131. package/dist/types/theme/ICETheme.d.mts +382 -0
  132. package/dist/types/theme/ICETheme.d.ts +382 -0
  133. package/dist/types/util/ImageCache.d.mts +19 -0
  134. package/dist/types/util/ImageCache.d.ts +19 -19
  135. package/dist/types/util/data-util.d.mts +43 -0
  136. package/dist/types/util/data-util.d.ts +43 -19
  137. package/dist/types/util/gl-matrix-skew.d.mts +14 -0
  138. package/dist/types/util/gl-matrix-skew.d.ts +14 -14
  139. package/dist/types/util/lang.d.mts +28 -0
  140. package/dist/types/util/lang.d.ts +28 -0
  141. package/dist/types/util/uuid.d.mts +1 -0
  142. package/dist/types/util/uuid.d.ts +1 -1
  143. package/package.json +118 -81
  144. package/dist/index.cjs.js +0 -25
  145. package/dist/index.js +0 -25
@@ -0,0 +1,292 @@
1
+ import ICEEvent from '../../event/ICEEvent.mjs';
2
+ import ICEDotPath from '../ICEDotPath.mjs';
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
+ * 箭头三角形是通过在 `state.dots` 里插入顶点来构造的,它只被**描边**(折线强制 fill:false),
239
+ * 所以默认看起来是空心的。这里在描边之后单独把三角面填充一次。
240
+ *
241
+ * 必须在 CTM 复原(`applyActiveTransform()`)之后调用 —— 用的是 dots 的本地坐标,
242
+ * 与 `drawLabel()` 同一坐标系。
243
+ */
244
+ private drawArrowFills;
245
+ /**
246
+ * 标签的**本地矩形**度量:`{ x, y, halfW, halfH }`;无标签时返回 null。
247
+ *
248
+ * 绘制(`drawLabel`)与包围盒(`__localBox`)**共用**这一份口径,避免「画的框」与「算的盒」漂移。
249
+ * 注意:`measureText` 前必须先设 `ctx.font`(字体状态跨调用遗留,先量后设会按上次字体算宽)——
250
+ * 本方法设置 font 但**不负责恢复**:绘制路径由 `ctx.save/restore` 兜住,包围盒路径见
251
+ * `__measureLabelBoxForBounds()`(盒子计算不应留下渲染副作用)。
252
+ */
253
+ private __labelMetrics;
254
+ /** `__localBox()` 专用包装:算完把 `ctx.font` 恢复 —— 盒子计算不该改变渲染状态。 */
255
+ private __measureLabelBoxForBounds;
256
+ /**
257
+ * 绘制连线标签:在折线中点绘制带背景的文本,遮住下面的线以保证可读性。
258
+ * 度量口径与 `__labelMetrics()` 共用(后者同时服务于包围盒)。
259
+ */
260
+ private drawLabel;
261
+ /**
262
+ * 计算标签位置:折线中点(本地坐标)。2 点取端点中点,多点取中间顶点。
263
+ */
264
+ private getLabelPosition;
265
+ /**
266
+ * @method getRotateAngle 获取组件的旋转角度
267
+ * @returns {number}
268
+ */
269
+ getRotateAngle(): number;
270
+ /**
271
+ * @method containsPoint 判断点是否在线上
272
+ *
273
+ * 计算方法:如果给点的坐标点到线段两端的距离之和等于线段长度,则表示点位于线段上,允许一定的误差范围,用 delta 参数进行调节。
274
+ * 算法来源:http://www.jeffreythompson.org/collision-detection/line-point.php
275
+ *
276
+ * @param x
277
+ * @param y
278
+ * @returns {boolean}
279
+ */
280
+ containsPoint(x: number, y: number): boolean;
281
+ /**
282
+ * @method getLines 获取线段数组
283
+ * @returns {Array<any>}
284
+ */
285
+ private getLines;
286
+ /**
287
+ * @overwrite
288
+ * @method destory
289
+ */
290
+ destory(): void;
291
+ }
292
+ export default ICEPolyLine;