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,177 +1,177 @@
1
- # TreeLayout 树布局
2
-
3
- TreeLayout 用于绘制树状图,支持多种布局方向和交互。
4
-
5
- ## 引入
6
-
7
- ```js
8
- import { TreeLayout } from 'vislite';
9
- ```
10
-
11
- ## 初始化
12
-
13
- ```js
14
- var treeLayout = new TreeLayout(config);
15
- ```
16
-
17
- ### config 配置
18
-
19
- ```js
20
- {
21
- // 获取根节点方法
22
- root: function(initTree) {
23
- return initTree;
24
- },
25
-
26
- // 获取子节点方法
27
- children: function(parentTree, initTree) {
28
- return parentTree.children;
29
- },
30
-
31
- // 获取节点ID方法
32
- id: function(treedata) {
33
- return treedata.name;
34
- }
35
- }
36
- ```
37
-
38
- ## setOption 设置布局行为
39
-
40
- ```js
41
- treeLayout.setOption({
42
- offsetX: 0, // 水平方向隐藏节点偏差
43
- offsetY: 0, // 垂直方向隐藏节点偏差
44
- duration: 500, // 切换动画时长(ms)
45
- type: 'rect', // 树图类型:plain|rect|circle
46
- direction: 'LR', // 方向:LR|RL|TB|BT
47
- x: 250, // 根一侧的中间位置x坐标
48
- y: 20, // 根一侧的中间位置y坐标
49
- width: 500, // 矩形树图宽度(type=rect时有效)
50
- height: 260, // 矩形树图高度(type=rect时有效)
51
- radius: 100 // 圆树图半径(type=circle时有效)
52
- });
53
- ```
54
-
55
- ### type 类型
56
-
57
- - **plain**: 普通树图(默认)
58
- - **rect**: 矩形树图
59
- - **circle**: 圆树图
60
-
61
- ### direction 方向
62
-
63
- - **LR**: 从左往右
64
- - **RL**: 从右往左
65
- - **TB**: 从上往下(默认)
66
- - **BT**: 从下往上
67
-
68
- ## use 坐标计算
69
-
70
- ```js
71
- var tree = treeLayout.use(initTree, noOpens);
72
- ```
73
-
74
- ### 返回值 tree 结构
75
-
76
- ```js
77
- {
78
- node: {
79
- '节点ID': {
80
- left: x坐标,
81
- top: y坐标,
82
- pid: 父节点ID,
83
- show: 是否显示,
84
- deg: 旋转角度(circle类型时)
85
- }
86
- },
87
- size: 节点数量,
88
- deep: 深度
89
- }
90
- ```
91
-
92
- ### noOpens 参数
93
-
94
- 控制节点展开/闭合状态:
95
-
96
- ```js
97
- treeLayout.use(initTree, {
98
- 'nodeId1': false, // 闭合
99
- 'nodeId2': true // 打开
100
- });
101
- ```
102
-
103
- ## bind 绑定渲染
104
-
105
- ```js
106
- treeLayout.bind(initTree, function(tree) {
107
- // 绘制树图
108
- for (var key in tree.node) {
109
- var node = tree.node[key];
110
- // 绘制节点...
111
- }
112
- }, noOpens);
113
- ```
114
-
115
- ## 交互方法
116
-
117
- ```js
118
- // 关闭节点
119
- treeLayout.closeNode('nodeId');
120
-
121
- // 打开节点
122
- treeLayout.openNode('nodeId');
123
-
124
- // 切换节点状态
125
- treeLayout.toggleNode('nodeId');
126
-
127
- // 更新布局
128
- treeLayout.doUpdate();
129
-
130
- // 解绑
131
- treeLayout.unbind();
132
- ```
133
-
134
- ## 使用示例
135
-
136
- ```js
137
- var treeLayout = new TreeLayout();
138
-
139
- treeLayout.setOption({
140
- type: 'rect',
141
- direction: 'TB',
142
- x: 250,
143
- y: 20,
144
- width: 500,
145
- height: 260
146
- });
147
-
148
- var data = {
149
- name: '前端',
150
- children: [{
151
- name: '基础',
152
- children: [{ name: 'HTML' }, { name: 'CSS' }]
153
- }, {
154
- name: '框架'
155
- }]
156
- };
157
-
158
- var tree = treeLayout.use(data);
159
-
160
- // 绘制连线
161
- painter.config({ strokeStyle: 'red' });
162
- for (var key in tree.node) {
163
- var pid = tree.node[key].pid;
164
- if (pid) {
165
- painter
166
- .beginPath()
167
- .moveTo(tree.node[key].left, tree.node[key].top)
168
- .bezierCurveTo(...)
169
- .stroke();
170
- }
171
- }
172
-
173
- // 绘制节点
174
- for (var key in tree.node) {
175
- painter.fullCircle(tree.node[key].left, tree.node[key].top, 10);
176
- }
1
+ # TreeLayout 树布局
2
+
3
+ TreeLayout 用于绘制树状图,支持多种布局方向和交互。
4
+
5
+ ## 引入
6
+
7
+ ```js
8
+ import { TreeLayout } from 'vislite';
9
+ ```
10
+
11
+ ## 初始化
12
+
13
+ ```js
14
+ var treeLayout = new TreeLayout(config);
15
+ ```
16
+
17
+ ### config 配置
18
+
19
+ ```js
20
+ {
21
+ // 获取根节点方法
22
+ root: function(initTree) {
23
+ return initTree;
24
+ },
25
+
26
+ // 获取子节点方法
27
+ children: function(parentTree, initTree) {
28
+ return parentTree.children;
29
+ },
30
+
31
+ // 获取节点ID方法
32
+ id: function(treedata) {
33
+ return treedata.name;
34
+ }
35
+ }
36
+ ```
37
+
38
+ ## setOption 设置布局行为
39
+
40
+ ```js
41
+ treeLayout.setOption({
42
+ offsetX: 0, // 水平方向隐藏节点偏差
43
+ offsetY: 0, // 垂直方向隐藏节点偏差
44
+ duration: 500, // 切换动画时长(ms)
45
+ type: 'rect', // 树图类型:plain|rect|circle
46
+ direction: 'LR', // 方向:LR|RL|TB|BT
47
+ x: 250, // 根一侧的中间位置x坐标
48
+ y: 20, // 根一侧的中间位置y坐标
49
+ width: 500, // 矩形树图宽度(type=rect时有效)
50
+ height: 260, // 矩形树图高度(type=rect时有效)
51
+ radius: 100 // 圆树图半径(type=circle时有效)
52
+ });
53
+ ```
54
+
55
+ ### type 类型
56
+
57
+ - **plain**: 普通树图(默认)
58
+ - **rect**: 矩形树图
59
+ - **circle**: 圆树图
60
+
61
+ ### direction 方向
62
+
63
+ - **LR**: 从左往右
64
+ - **RL**: 从右往左
65
+ - **TB**: 从上往下(默认)
66
+ - **BT**: 从下往上
67
+
68
+ ## use 坐标计算
69
+
70
+ ```js
71
+ var tree = treeLayout.use(initTree, noOpens);
72
+ ```
73
+
74
+ ### 返回值 tree 结构
75
+
76
+ ```js
77
+ {
78
+ node: {
79
+ '节点ID': {
80
+ left: x坐标,
81
+ top: y坐标,
82
+ pid: 父节点ID,
83
+ show: 是否显示,
84
+ deg: 旋转角度(circle类型时)
85
+ }
86
+ },
87
+ size: 节点数量,
88
+ deep: 深度
89
+ }
90
+ ```
91
+
92
+ ### noOpens 参数
93
+
94
+ 控制节点展开/闭合状态:
95
+
96
+ ```js
97
+ treeLayout.use(initTree, {
98
+ 'nodeId1': false, // 闭合
99
+ 'nodeId2': true // 打开
100
+ });
101
+ ```
102
+
103
+ ## bind 绑定渲染
104
+
105
+ ```js
106
+ treeLayout.bind(initTree, function(tree) {
107
+ // 绘制树图
108
+ for (var key in tree.node) {
109
+ var node = tree.node[key];
110
+ // 绘制节点...
111
+ }
112
+ }, noOpens);
113
+ ```
114
+
115
+ ## 交互方法
116
+
117
+ ```js
118
+ // 关闭节点
119
+ treeLayout.closeNode('nodeId');
120
+
121
+ // 打开节点
122
+ treeLayout.openNode('nodeId');
123
+
124
+ // 切换节点状态
125
+ treeLayout.toggleNode('nodeId');
126
+
127
+ // 更新布局
128
+ treeLayout.doUpdate();
129
+
130
+ // 解绑
131
+ treeLayout.unbind();
132
+ ```
133
+
134
+ ## 使用示例
135
+
136
+ ```js
137
+ var treeLayout = new TreeLayout();
138
+
139
+ treeLayout.setOption({
140
+ type: 'rect',
141
+ direction: 'TB',
142
+ x: 250,
143
+ y: 20,
144
+ width: 500,
145
+ height: 260
146
+ });
147
+
148
+ var data = {
149
+ name: '前端',
150
+ children: [{
151
+ name: '基础',
152
+ children: [{ name: 'HTML' }, { name: 'CSS' }]
153
+ }, {
154
+ name: '框架'
155
+ }]
156
+ };
157
+
158
+ var tree = treeLayout.use(data);
159
+
160
+ // 绘制连线
161
+ painter.config({ strokeStyle: 'red' });
162
+ for (var key in tree.node) {
163
+ var pid = tree.node[key].pid;
164
+ if (pid) {
165
+ painter
166
+ .beginPath()
167
+ .moveTo(tree.node[key].left, tree.node[key].top)
168
+ .bezierCurveTo(...)
169
+ .stroke();
170
+ }
171
+ }
172
+
173
+ // 绘制节点
174
+ for (var key in tree.node) {
175
+ painter.fullCircle(tree.node[key].left, tree.node[key].top, 10);
176
+ }
177
177
  ```