vislite 1.12.0 → 1.12.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.
Files changed (179) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +408 -403
  3. package/LICENSE +20 -20
  4. package/README-en.md +245 -245
  5. package/README.md +245 -245
  6. package/bin/formatArgv.js +30 -30
  7. package/bin/help.js +17 -17
  8. package/bin/run +21 -21
  9. package/bin/skills.js +26 -26
  10. package/lib/BarLayout/index.es.js +348 -348
  11. package/lib/Buffer/index.es.js +34 -34
  12. package/lib/Canvas/index.es.js +804 -804
  13. package/lib/Cardinal/index.es.js +89 -89
  14. package/lib/Eoap/index.es.js +32 -32
  15. package/lib/Hermite/index.es.js +34 -34
  16. package/lib/MapCoordinate/index.es.js +199 -199
  17. package/lib/Matrix4/index.es.js +123 -123
  18. package/lib/Mercator/index.es.js +18 -18
  19. package/lib/PieLayout/index.es.js +115 -115
  20. package/lib/RawCanvas/index.es.js +736 -736
  21. package/lib/SVG/index.es.js +626 -626
  22. package/lib/Shader/index.es.js +34 -34
  23. package/lib/Texture/index.es.js +52 -52
  24. package/lib/TreeLayout/index.es.js +301 -301
  25. package/lib/animation/index.es.js +2 -2
  26. package/lib/assemble/index.es.js +19 -19
  27. package/lib/getLoopColors/index.es.js +34 -34
  28. package/lib/getWebGLContext/index.es.js +61 -61
  29. package/lib/index.umd.js +2797 -2797
  30. package/lib/index.umd.min.js +1 -1
  31. package/lib/initOption/index.es.js +5 -5
  32. package/lib/mergeOption/index.es.js +34 -34
  33. package/lib/move/index.es.js +6 -6
  34. package/lib/rotate/index.es.js +6 -6
  35. package/lib/ruler/index.es.js +136 -136
  36. package/lib/scale/index.es.js +5 -5
  37. package/minialipay/ui-canvas/drawImage.js +35 -35
  38. package/minialipay/ui-canvas/index.acss +4 -4
  39. package/minialipay/ui-canvas/index.axml +3 -3
  40. package/minialipay/ui-canvas/index.d.ts +1 -1
  41. package/minialipay/ui-canvas/index.js +100 -100
  42. package/minialipay/ui-canvas/index.json +6 -6
  43. package/miniprogram/ui-canvas/drawImage.js +35 -35
  44. package/miniprogram/ui-canvas/index.js +125 -125
  45. package/miniprogram/ui-canvas/index.json +4 -4
  46. package/miniprogram/ui-canvas/index.wxml +4 -4
  47. package/miniprogram/ui-canvas/index.wxss +5 -5
  48. package/package/BarLayout/index.ts +2 -2
  49. package/package/Buffer/index.ts +2 -2
  50. package/package/Canvas/index.ts +2 -2
  51. package/package/Cardinal/index.ts +2 -2
  52. package/package/Eoap/index.ts +2 -2
  53. package/package/Hermite/index.ts +2 -2
  54. package/package/MapCoordinate/index.ts +2 -2
  55. package/package/Matrix4/index.ts +2 -2
  56. package/package/Mercator/index.ts +2 -2
  57. package/package/PieLayout/index.ts +2 -2
  58. package/package/RawCanvas/index.ts +2 -2
  59. package/package/SVG/index.ts +2 -2
  60. package/package/Shader/index.ts +2 -2
  61. package/package/Texture/index.ts +2 -2
  62. package/package/TreeLayout/index.ts +2 -2
  63. package/package/animation/index.ts +5 -5
  64. package/package/assemble/index.ts +2 -2
  65. package/package/getLoopColors/index.ts +2 -2
  66. package/package/getWebGLContext/index.ts +40 -40
  67. package/package/index.ts +84 -84
  68. package/package/initOption/index.ts +2 -2
  69. package/package/mergeOption/index.ts +2 -2
  70. package/package/move/index.ts +2 -2
  71. package/package/rotate/index.ts +2 -2
  72. package/package/ruler/index.ts +2 -2
  73. package/package/scale/index.ts +2 -2
  74. package/package/throttle/index.ts +2 -2
  75. package/package.json +79 -79
  76. package/skills/vislite-lib/BarLayout.md +117 -117
  77. package/skills/vislite-lib/Canvas.md +183 -183
  78. package/skills/vislite-lib/Interpolation.md +129 -129
  79. package/skills/vislite-lib/Matrix.md +174 -174
  80. package/skills/vislite-lib/PieLayout.md +131 -131
  81. package/skills/vislite-lib/Projections.md +158 -158
  82. package/skills/vislite-lib/SKILL.md +179 -179
  83. package/skills/vislite-lib/SVG.md +137 -137
  84. package/skills/vislite-lib/TreeLayout.md +176 -176
  85. package/skills/vislite-lib/Utilities.md +261 -261
  86. package/skills/vislite-lib/WebGL.md +106 -106
  87. package/skills/vislite-lib/minialipay/ui-canvas.md +95 -95
  88. package/skills/vislite-lib/miniprogram/ui-canvas.md +98 -98
  89. package/skills/vislite-lib/uniapp/ui-canvas.md +113 -113
  90. package/src/Canvas.ts +89 -89
  91. package/src/Eoap.ts +66 -66
  92. package/src/Matrix4/index.ts +84 -84
  93. package/src/Matrix4/move.ts +12 -12
  94. package/src/Matrix4/rotate.ts +15 -15
  95. package/src/Matrix4/scale.ts +11 -11
  96. package/src/Matrix4/transform.ts +64 -64
  97. package/src/Mercator.ts +27 -27
  98. package/src/SVG.ts +86 -86
  99. package/src/common/assemble.ts +30 -30
  100. package/src/common/canvas/arc.ts +51 -51
  101. package/src/common/canvas/config.ts +176 -176
  102. package/src/common/canvas/default.ts +64 -64
  103. package/src/common/canvas/gradient.ts +31 -31
  104. package/src/common/canvas/index.ts +189 -189
  105. package/src/common/canvas/painter.ts +475 -475
  106. package/src/common/canvas/texts.ts +18 -18
  107. package/src/common/map/getBoundary.ts +15 -15
  108. package/src/common/map/tool.ts +29 -29
  109. package/src/common/option.ts +31 -31
  110. package/src/common/setStyle.ts +5 -5
  111. package/src/common/svg/config.ts +213 -213
  112. package/src/common/svg/default.ts +29 -29
  113. package/src/common/svg/gradient.ts +53 -53
  114. package/src/common/svg/index.ts +420 -420
  115. package/src/common/svg/tool.ts +51 -51
  116. package/src/common/tree/index.ts +25 -25
  117. package/src/common/tree/toInnerTree.ts +61 -61
  118. package/src/common/tree/toPlainTree.ts +135 -135
  119. package/src/common/type.ts +26 -26
  120. package/src/common/webgl/buffer.ts +79 -79
  121. package/src/common/webgl/getWebGLContext.ts +45 -45
  122. package/src/common/webgl/shader.ts +75 -75
  123. package/src/common/webgl/texture.ts +98 -98
  124. package/src/coordinate/MapCoordinate.ts +80 -80
  125. package/src/getLoopColors.ts +42 -42
  126. package/src/interpolation/Cardinal.ts +110 -110
  127. package/src/interpolation/Hermite.ts +65 -65
  128. package/src/layout/BarLayout.ts +249 -249
  129. package/src/layout/PieLayout.ts +146 -146
  130. package/src/layout/TreeLayout.ts +200 -200
  131. package/src/move.ts +7 -7
  132. package/src/rotate.ts +7 -7
  133. package/src/ruler.ts +209 -209
  134. package/src/scale.ts +6 -6
  135. package/types/Bar.d.ts +91 -91
  136. package/types/BarConfig.d.ts +4 -4
  137. package/types/BarLayout.d.ts +48 -48
  138. package/types/BarOption.d.ts +31 -31
  139. package/types/Buffer.d.ts +30 -30
  140. package/types/Canvas.d.ts +379 -379
  141. package/types/CanvasConfig.d.ts +61 -61
  142. package/types/CanvasOption.d.ts +13 -13
  143. package/types/CanvasOpts.d.ts +9 -9
  144. package/types/Cardinal.d.ts +20 -20
  145. package/types/Gradient.d.ts +20 -20
  146. package/types/Hermite.d.ts +25 -25
  147. package/types/Map.d.ts +9 -9
  148. package/types/MapConfig.d.ts +27 -27
  149. package/types/MapCoordinate.d.ts +22 -22
  150. package/types/Matrix4.d.ts +79 -79
  151. package/types/Pie.d.ts +73 -73
  152. package/types/PieConfig.d.ts +26 -26
  153. package/types/PieLayout.d.ts +40 -40
  154. package/types/PieOption.d.ts +21 -21
  155. package/types/SVG.d.ts +282 -282
  156. package/types/SVGConfig.d.ts +54 -54
  157. package/types/Shader.d.ts +22 -22
  158. package/types/Texture.d.ts +22 -22
  159. package/types/Tree.d.ts +74 -74
  160. package/types/TreeConfig.d.ts +52 -52
  161. package/types/TreeLayout.d.ts +71 -71
  162. package/types/TreeOption.d.ts +48 -48
  163. package/types/animation.d.ts +26 -26
  164. package/types/assemble.d.ts +14 -14
  165. package/types/getLoopColors.d.ts +13 -13
  166. package/types/getWebGLContext.d.ts +7 -7
  167. package/types/index.d.ts +220 -220
  168. package/types/module.d.ts +110 -110
  169. package/types/move.d.ts +15 -15
  170. package/types/option.d.ts +12 -12
  171. package/types/painterConfig.d.ts +14 -14
  172. package/types/rotate.d.ts +15 -15
  173. package/types/ruler.d.ts +24 -24
  174. package/types/scale.d.ts +15 -15
  175. package/types/throttle.d.ts +6 -6
  176. package/types/ui-canvas.d.ts +4 -4
  177. package/types/uni-canvas.d.ts +3 -3
  178. package/uni-app/drawImage.js +19 -19
  179. package/uni-app/ui-canvas.vue +295 -295
@@ -1,262 +1,262 @@
1
- # 工具函数 API
2
-
3
- VISLite 提供多种实用的工具函数。
4
-
5
- ## ruler 刻度尺算法
6
-
7
- 根据数值范围计算合适的刻度尺刻度。
8
-
9
- ### 引入
10
-
11
- ```js
12
- import { ruler } from 'vislite';
13
- ```
14
-
15
- ### 使用方法
16
-
17
- ```js
18
- var scales = ruler(maxValue, minValue, num);
19
- ```
20
-
21
- ### 参数说明
22
-
23
- - **maxValue**: 最大值
24
- - **minValue**: 最小值
25
- - **num**: 刻度数量(建议值)
26
-
27
- ### 返回值
28
-
29
- 返回刻度数组,例如 `[0, 20, 40, 60, 80, 100]`
30
-
31
- ### 示例
32
-
33
- ```js
34
- var scales = ruler(85, 12, 5);
35
- console.log(scales); // 可能输出 [0, 20, 40, 60, 80, 100]
36
- ```
37
-
38
- ---
39
-
40
- ## animation 动画控制
41
-
42
- 提供基于requestAnimationFrame的动画控制。
43
-
44
- ### 引入
45
-
46
- ```js
47
- import { animation } from 'vislite';
48
- ```
49
-
50
- ### 使用方法
51
-
52
- ```js
53
- var stop = animation(function(percent) {
54
- // percent: 0-1 的动画进度
55
- var x = startX + (endX - startX) * percent;
56
- // 更新绘制...
57
- }, duration, function() {
58
- // 动画结束回调
59
- });
60
- ```
61
-
62
- ### 返回值
63
-
64
- `stop` 函数,调用可停止动画。
65
-
66
- ### 示例
67
-
68
- ```js
69
- var stop = animation(function(percent) {
70
- var x = 0 + (200 - 0) * percent;
71
- painter.clearRect(0, 0, 300, 300);
72
- painter.fillCircle(x, 100, 20);
73
- }, 1000, function() {
74
- console.log('动画结束');
75
- });
76
-
77
- // 1秒后停止
78
- setTimeout(stop, 1000);
79
- ```
80
-
81
- ---
82
-
83
- ## getLoopColors 循环颜色
84
-
85
- 生成一组循环使用的颜色数组。
86
-
87
- ### 引入
88
-
89
- ```js
90
- import { getLoopColors } from 'vislite';
91
- ```
92
-
93
- ### 使用方法
94
-
95
- ```js
96
- var colors = getLoopColors(num, alpha, colorsFactory);
97
- ```
98
-
99
- ### 参数说明
100
-
101
- - **num**: 需要的颜色数量
102
- - **alpha**: 透明度(0-1),默认 1
103
- - **colorsFactory**: 自定义颜色工厂函数
104
-
105
- ### 返回值
106
-
107
- 返回颜色数组,例如 `['rgba(84,112,198,1)', 'rgba(145,204,117,1)', ...]`
108
-
109
- ### 示例
110
-
111
- ```js
112
- // 获取10个颜色
113
- var colors = getLoopColors(10);
114
-
115
- // 获取半透明颜色
116
- var colors = getLoopColors(10, 0.5);
117
-
118
- // 自定义颜色
119
- var colors = getLoopColors(5, 1, function(alpha) {
120
- return [
121
- 'rgba(255,0,0,' + alpha + ')',
122
- 'rgba(0,255,0,' + alpha + ')'
123
- ];
124
- });
125
- ```
126
-
127
- ---
128
-
129
- ## throttle 节流函数
130
-
131
- 限制函数执行频率。
132
-
133
- ### 引入
134
-
135
- ```js
136
- import { throttle } from 'vislite';
137
- ```
138
-
139
- ### 使用方法
140
-
141
- ```js
142
- var throttleFunc = throttle(func, delay);
143
- ```
144
-
145
- ### 参数说明
146
-
147
- - **func**: 要节流的函数
148
- - **delay**: 延迟时间(毫秒)
149
-
150
- ### 返回值
151
-
152
- 返回节流后的函数。
153
-
154
- ### 示例
155
-
156
- ```js
157
- // 滚动事件节流
158
- var handleScroll = throttle(function() {
159
- console.log('scrolling');
160
- }, 100);
161
-
162
- window.addEventListener('scroll', handleScroll);
163
- ```
164
-
165
- ---
166
-
167
- ## assemble 颜色组装
168
-
169
- 内部使用的颜色组装工具,用于区域检测的颜色编码。
170
-
171
- ### 引入
172
-
173
- ```js
174
- import { assemble } from 'vislite';
175
- ```
176
-
177
- 返回给定范围内的随机颜色值,用于 Canvas 区域检测功能。
178
-
179
- ---
180
-
181
- ## initOption 初始化配置
182
-
183
- **浅合并**用户配置到默认配置中,用于初始化组件选项。
184
-
185
- ### 引入
186
-
187
- ```js
188
- import { initOption } from 'vislite';
189
- ```
190
-
191
- ### 使用方法
192
-
193
- ```js
194
- var option = initOption(setOption, defaultOption);
195
- ```
196
-
197
- ### 参数说明
198
-
199
- - **setOption**: 用户传入的配置对象
200
- - **defaultOption**: 默认配置对象
201
-
202
- ### 返回值
203
-
204
- 返回合并后的配置对象(会修改 defaultOption)。
205
-
206
- ### 示例
207
-
208
- ```js
209
- var defaultOption = { width: 100, height: 100, color: 'red' };
210
- var setOption = { width: 200, color: 'blue' };
211
-
212
- var option = initOption(setOption, defaultOption);
213
- console.log(option); // { width: 200, height: 100, color: 'blue' }
214
- ```
215
-
216
- ---
217
-
218
- ## mergeOption 合并配置
219
-
220
- **深合并**两个配置对象,递归处理嵌套对象,用于更新组件选项。
221
-
222
- ### 引入
223
-
224
- ```js
225
- import { mergeOption } from 'vislite';
226
- ```
227
-
228
- ### 使用方法
229
-
230
- ```js
231
- var option = mergeOption(oldOption, newOption);
232
- ```
233
-
234
- ### 参数说明
235
-
236
- - **oldOption**: 旧配置对象
237
- - **newOption**: 新配置对象
238
-
239
- ### 返回值
240
-
241
- 返回合并后的配置对象(会修改 oldOption)。
242
-
243
- ### 示例
244
-
245
- ```js
246
- var oldOption = {
247
- size: { width: 100, height: 100 },
248
- color: 'red'
249
- };
250
- var newOption = {
251
- size: { width: 200 },
252
- border: '1px solid black'
253
- };
254
-
255
- var option = mergeOption(oldOption, newOption);
256
- console.log(option);
257
- // {
258
- // size: { width: 200, height: 100 },
259
- // color: 'red',
260
- // border: '1px solid black'
261
- // }
1
+ # 工具函数 API
2
+
3
+ VISLite 提供多种实用的工具函数。
4
+
5
+ ## ruler 刻度尺算法
6
+
7
+ 根据数值范围计算合适的刻度尺刻度。
8
+
9
+ ### 引入
10
+
11
+ ```js
12
+ import { ruler } from 'vislite';
13
+ ```
14
+
15
+ ### 使用方法
16
+
17
+ ```js
18
+ var scales = ruler(maxValue, minValue, num);
19
+ ```
20
+
21
+ ### 参数说明
22
+
23
+ - **maxValue**: 最大值
24
+ - **minValue**: 最小值
25
+ - **num**: 刻度数量(建议值)
26
+
27
+ ### 返回值
28
+
29
+ 返回刻度数组,例如 `[0, 20, 40, 60, 80, 100]`
30
+
31
+ ### 示例
32
+
33
+ ```js
34
+ var scales = ruler(85, 12, 5);
35
+ console.log(scales); // 可能输出 [0, 20, 40, 60, 80, 100]
36
+ ```
37
+
38
+ ---
39
+
40
+ ## animation 动画控制
41
+
42
+ 提供基于requestAnimationFrame的动画控制。
43
+
44
+ ### 引入
45
+
46
+ ```js
47
+ import { animation } from 'vislite';
48
+ ```
49
+
50
+ ### 使用方法
51
+
52
+ ```js
53
+ var stop = animation(function(percent) {
54
+ // percent: 0-1 的动画进度
55
+ var x = startX + (endX - startX) * percent;
56
+ // 更新绘制...
57
+ }, duration, function() {
58
+ // 动画结束回调
59
+ });
60
+ ```
61
+
62
+ ### 返回值
63
+
64
+ `stop` 函数,调用可停止动画。
65
+
66
+ ### 示例
67
+
68
+ ```js
69
+ var stop = animation(function(percent) {
70
+ var x = 0 + (200 - 0) * percent;
71
+ painter.clearRect(0, 0, 300, 300);
72
+ painter.fillCircle(x, 100, 20);
73
+ }, 1000, function() {
74
+ console.log('动画结束');
75
+ });
76
+
77
+ // 1秒后停止
78
+ setTimeout(stop, 1000);
79
+ ```
80
+
81
+ ---
82
+
83
+ ## getLoopColors 循环颜色
84
+
85
+ 生成一组循环使用的颜色数组。
86
+
87
+ ### 引入
88
+
89
+ ```js
90
+ import { getLoopColors } from 'vislite';
91
+ ```
92
+
93
+ ### 使用方法
94
+
95
+ ```js
96
+ var colors = getLoopColors(num, alpha, colorsFactory);
97
+ ```
98
+
99
+ ### 参数说明
100
+
101
+ - **num**: 需要的颜色数量
102
+ - **alpha**: 透明度(0-1),默认 1
103
+ - **colorsFactory**: 自定义颜色工厂函数
104
+
105
+ ### 返回值
106
+
107
+ 返回颜色数组,例如 `['rgba(84,112,198,1)', 'rgba(145,204,117,1)', ...]`
108
+
109
+ ### 示例
110
+
111
+ ```js
112
+ // 获取10个颜色
113
+ var colors = getLoopColors(10);
114
+
115
+ // 获取半透明颜色
116
+ var colors = getLoopColors(10, 0.5);
117
+
118
+ // 自定义颜色
119
+ var colors = getLoopColors(5, 1, function(alpha) {
120
+ return [
121
+ 'rgba(255,0,0,' + alpha + ')',
122
+ 'rgba(0,255,0,' + alpha + ')'
123
+ ];
124
+ });
125
+ ```
126
+
127
+ ---
128
+
129
+ ## throttle 节流函数
130
+
131
+ 限制函数执行频率。
132
+
133
+ ### 引入
134
+
135
+ ```js
136
+ import { throttle } from 'vislite';
137
+ ```
138
+
139
+ ### 使用方法
140
+
141
+ ```js
142
+ var throttleFunc = throttle(func, delay);
143
+ ```
144
+
145
+ ### 参数说明
146
+
147
+ - **func**: 要节流的函数
148
+ - **delay**: 延迟时间(毫秒)
149
+
150
+ ### 返回值
151
+
152
+ 返回节流后的函数。
153
+
154
+ ### 示例
155
+
156
+ ```js
157
+ // 滚动事件节流
158
+ var handleScroll = throttle(function() {
159
+ console.log('scrolling');
160
+ }, 100);
161
+
162
+ window.addEventListener('scroll', handleScroll);
163
+ ```
164
+
165
+ ---
166
+
167
+ ## assemble 颜色组装
168
+
169
+ 内部使用的颜色组装工具,用于区域检测的颜色编码。
170
+
171
+ ### 引入
172
+
173
+ ```js
174
+ import { assemble } from 'vislite';
175
+ ```
176
+
177
+ 返回给定范围内的随机颜色值,用于 Canvas 区域检测功能。
178
+
179
+ ---
180
+
181
+ ## initOption 初始化配置
182
+
183
+ **浅合并**用户配置到默认配置中,用于初始化组件选项。
184
+
185
+ ### 引入
186
+
187
+ ```js
188
+ import { initOption } from 'vislite';
189
+ ```
190
+
191
+ ### 使用方法
192
+
193
+ ```js
194
+ var option = initOption(setOption, defaultOption);
195
+ ```
196
+
197
+ ### 参数说明
198
+
199
+ - **setOption**: 用户传入的配置对象
200
+ - **defaultOption**: 默认配置对象
201
+
202
+ ### 返回值
203
+
204
+ 返回合并后的配置对象(会修改 defaultOption)。
205
+
206
+ ### 示例
207
+
208
+ ```js
209
+ var defaultOption = { width: 100, height: 100, color: 'red' };
210
+ var setOption = { width: 200, color: 'blue' };
211
+
212
+ var option = initOption(setOption, defaultOption);
213
+ console.log(option); // { width: 200, height: 100, color: 'blue' }
214
+ ```
215
+
216
+ ---
217
+
218
+ ## mergeOption 合并配置
219
+
220
+ **深合并**两个配置对象,递归处理嵌套对象,用于更新组件选项。
221
+
222
+ ### 引入
223
+
224
+ ```js
225
+ import { mergeOption } from 'vislite';
226
+ ```
227
+
228
+ ### 使用方法
229
+
230
+ ```js
231
+ var option = mergeOption(oldOption, newOption);
232
+ ```
233
+
234
+ ### 参数说明
235
+
236
+ - **oldOption**: 旧配置对象
237
+ - **newOption**: 新配置对象
238
+
239
+ ### 返回值
240
+
241
+ 返回合并后的配置对象(会修改 oldOption)。
242
+
243
+ ### 示例
244
+
245
+ ```js
246
+ var oldOption = {
247
+ size: { width: 100, height: 100 },
248
+ color: 'red'
249
+ };
250
+ var newOption = {
251
+ size: { width: 200 },
252
+ border: '1px solid black'
253
+ };
254
+
255
+ var option = mergeOption(oldOption, newOption);
256
+ console.log(option);
257
+ // {
258
+ // size: { width: 200, height: 100 },
259
+ // color: 'red',
260
+ // border: '1px solid black'
261
+ // }
262
262
  ```