vislite 1.2.1 → 1.3.0-alpha.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 (168) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +18 -1
  3. package/LICENSE +20 -20
  4. package/README.md +9 -33
  5. package/lib/Buffer/index.es.js +1 -1
  6. package/lib/Buffer/index.es.min.js +1 -1
  7. package/lib/Canvas/index.es.js +36 -7
  8. package/lib/Canvas/index.es.min.js +2 -2
  9. package/lib/Cardinal/index.es.js +1 -1
  10. package/lib/Cardinal/index.es.min.js +1 -1
  11. package/lib/Eoap/index.es.js +1 -1
  12. package/lib/Eoap/index.es.min.js +1 -1
  13. package/lib/Hermite/index.es.js +1 -1
  14. package/lib/Hermite/index.es.min.js +1 -1
  15. package/lib/MapCoordinate/index.es.d.ts +3 -0
  16. package/lib/MapCoordinate/index.es.js +217 -0
  17. package/lib/MapCoordinate/index.es.min.d.ts +3 -0
  18. package/lib/MapCoordinate/index.es.min.js +5 -0
  19. package/lib/Matrix4/index.es.js +1 -1
  20. package/lib/Matrix4/index.es.min.js +1 -1
  21. package/lib/Mercator/index.es.js +1 -1
  22. package/lib/Mercator/index.es.min.js +1 -1
  23. package/lib/RawCanvas/index.es.js +36 -7
  24. package/lib/RawCanvas/index.es.min.js +2 -2
  25. package/lib/SVG/index.es.js +47 -20
  26. package/lib/SVG/index.es.min.js +2 -2
  27. package/lib/Shader/index.es.js +1 -1
  28. package/lib/Shader/index.es.min.js +1 -1
  29. package/lib/Texture/index.es.js +1 -1
  30. package/lib/Texture/index.es.min.js +1 -1
  31. package/lib/TreeLayout/index.es.js +1 -1
  32. package/lib/TreeLayout/index.es.min.js +1 -1
  33. package/lib/animation/index.es.js +1 -1
  34. package/lib/animation/index.es.min.js +1 -1
  35. package/lib/assemble/index.es.js +1 -1
  36. package/lib/assemble/index.es.min.js +1 -1
  37. package/lib/getLoopColors/index.es.js +1 -1
  38. package/lib/getLoopColors/index.es.min.js +1 -1
  39. package/lib/getWebGLContext/index.es.js +1 -1
  40. package/lib/getWebGLContext/index.es.min.js +1 -1
  41. package/lib/index.umd.js +198 -26
  42. package/lib/index.umd.min.js +2 -2
  43. package/lib/initOption/index.es.js +1 -1
  44. package/lib/initOption/index.es.min.js +1 -1
  45. package/lib/mergeOption/index.es.js +1 -1
  46. package/lib/mergeOption/index.es.min.js +1 -1
  47. package/lib/move/index.es.js +1 -1
  48. package/lib/move/index.es.min.js +1 -1
  49. package/lib/rotate/index.es.js +1 -1
  50. package/lib/rotate/index.es.min.js +1 -1
  51. package/lib/ruler/index.es.js +1 -1
  52. package/lib/ruler/index.es.min.js +1 -1
  53. package/lib/scale/index.es.js +1 -1
  54. package/lib/scale/index.es.min.js +1 -1
  55. package/lib/throttle/index.es.js +1 -1
  56. package/lib/throttle/index.es.min.js +1 -1
  57. package/minialipay/ui-canvas/drawImage.js +35 -35
  58. package/minialipay/ui-canvas/index.acss +4 -4
  59. package/minialipay/ui-canvas/index.axml +3 -3
  60. package/minialipay/ui-canvas/index.d.ts +1 -1
  61. package/minialipay/ui-canvas/index.js +100 -100
  62. package/minialipay/ui-canvas/index.json +6 -6
  63. package/miniprogram/ui-canvas/drawImage.js +35 -35
  64. package/miniprogram/ui-canvas/index.js +117 -117
  65. package/miniprogram/ui-canvas/index.json +4 -4
  66. package/miniprogram/ui-canvas/index.wxml +4 -4
  67. package/miniprogram/ui-canvas/index.wxss +5 -5
  68. package/package/Buffer/index.ts +2 -2
  69. package/package/Canvas/index.ts +2 -2
  70. package/package/Cardinal/index.ts +2 -2
  71. package/package/Eoap/index.ts +2 -2
  72. package/package/Hermite/index.ts +2 -2
  73. package/package/MapCoordinate/index.ts +3 -0
  74. package/package/Matrix4/index.ts +2 -2
  75. package/package/Mercator/index.ts +2 -2
  76. package/package/RawCanvas/index.ts +2 -2
  77. package/package/SVG/index.ts +2 -2
  78. package/package/Shader/index.ts +2 -2
  79. package/package/Texture/index.ts +2 -2
  80. package/package/TreeLayout/index.ts +2 -2
  81. package/package/animation/index.ts +2 -2
  82. package/package/assemble/index.ts +2 -2
  83. package/package/getLoopColors/index.ts +2 -2
  84. package/package/getWebGLContext/index.ts +40 -40
  85. package/package/index.ts +80 -75
  86. package/package/initOption/index.ts +2 -2
  87. package/package/mergeOption/index.ts +2 -2
  88. package/package/move/index.ts +2 -2
  89. package/package/rotate/index.ts +2 -2
  90. package/package/ruler/index.ts +2 -2
  91. package/package/scale/index.ts +2 -2
  92. package/package/throttle/index.ts +2 -2
  93. package/package.json +75 -77
  94. package/src/Canvas.ts +84 -84
  95. package/src/Eoap.ts +66 -66
  96. package/src/Matrix4/index.ts +84 -84
  97. package/src/Matrix4/move.ts +12 -12
  98. package/src/Matrix4/rotate.ts +15 -15
  99. package/src/Matrix4/scale.ts +11 -11
  100. package/src/Matrix4/transform.ts +64 -64
  101. package/src/Mercator.ts +27 -27
  102. package/src/SVG.ts +24 -24
  103. package/src/common/assemble.ts +22 -22
  104. package/src/common/canvas/arc.ts +51 -51
  105. package/src/common/canvas/config.ts +176 -158
  106. package/src/common/canvas/default.ts +64 -61
  107. package/src/common/canvas/gradient.ts +31 -31
  108. package/src/common/canvas/index.ts +188 -188
  109. package/src/common/canvas/painter.ts +443 -430
  110. package/src/common/canvas/texts.ts +18 -18
  111. package/src/common/map/getBoundary.ts +16 -0
  112. package/src/common/map/tool.ts +30 -0
  113. package/src/common/option.ts +29 -29
  114. package/src/common/setStyle.ts +5 -5
  115. package/src/common/svg/config.ts +213 -194
  116. package/src/common/svg/default.ts +29 -26
  117. package/src/common/svg/gradient.ts +53 -53
  118. package/src/common/svg/index.ts +332 -332
  119. package/src/common/svg/tool.ts +51 -42
  120. package/src/common/tree/index.ts +25 -25
  121. package/src/common/tree/toPlainTree.ts +132 -132
  122. package/src/common/type.ts +26 -26
  123. package/src/common/webgl/buffer.ts +79 -79
  124. package/src/common/webgl/getWebGLContext.ts +45 -45
  125. package/src/common/webgl/shader.ts +75 -75
  126. package/src/common/webgl/texture.ts +97 -97
  127. package/src/coordinate/MapCoordinate.ts +81 -0
  128. package/src/getLoopColors.ts +42 -42
  129. package/src/interpolation/Cardinal.ts +110 -110
  130. package/src/interpolation/Hermite.ts +65 -65
  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/Buffer.d.ts +23 -23
  136. package/types/Canvas.d.ts +352 -344
  137. package/types/CanvasConfig.d.ts +88 -116
  138. package/types/CanvasOption.d.ts +8 -8
  139. package/types/CanvasOpts.d.ts +9 -9
  140. package/types/Cardinal.d.ts +13 -13
  141. package/types/Gradient.d.ts +14 -14
  142. package/types/Hermite.d.ts +18 -18
  143. package/types/Map.d.ts +9 -9
  144. package/types/MapConfig.d.ts +28 -0
  145. package/types/MapCoordinate.d.ts +23 -0
  146. package/types/Matrix4.d.ts +47 -47
  147. package/types/SVG.d.ts +243 -243
  148. package/types/SVGConfig.d.ts +71 -89
  149. package/types/Shader.d.ts +16 -16
  150. package/types/Texture.d.ts +16 -16
  151. package/types/TreeConfig.d.ts +36 -36
  152. package/types/TreeOption.d.ts +48 -48
  153. package/types/animation.d.ts +5 -5
  154. package/types/assemble.d.ts +5 -5
  155. package/types/getLoopColors.d.ts +5 -5
  156. package/types/getWebGLContext.d.ts +7 -7
  157. package/types/index.d.ts +179 -165
  158. package/types/move.d.ts +5 -5
  159. package/types/option.d.ts +12 -12
  160. package/types/painterConfig.d.ts +4 -4
  161. package/types/rotate.d.ts +5 -5
  162. package/types/ruler.d.ts +10 -10
  163. package/types/scale.d.ts +5 -5
  164. package/types/throttle.d.ts +5 -5
  165. package/types/ui-canvas.d.ts +4 -4
  166. package/types/uni-canvas.d.ts +3 -3
  167. package/uni-app/drawImage.js +19 -19
  168. package/uni-app/ui-canvas.vue +284 -284
package/AUTHORS.txt CHANGED
@@ -1,6 +1,6 @@
1
- Authors ordered by first contribution.
2
-
3
- zxl20070701 <1904314465@qq.com> <https://github.com/zxl20070701>
4
-
5
- -----------------------------------------------------
6
- We thank all of them for their contributions!
1
+ Authors ordered by first contribution.
2
+
3
+ zxl20070701 <1904314465@qq.com> <https://github.com/zxl20070701>
4
+
5
+ -----------------------------------------------------
6
+ We thank all of them for their contributions!
package/CHANGELOG CHANGED
@@ -280,4 +280,21 @@ v1.2.1:
280
280
  - 新增功能
281
281
  1、树布局 treeLayout
282
282
  * 新增doUpdate方法
283
- * 新增deg文字建议旋转弧度
283
+ * 新增deg文字建议旋转弧度
284
+ v1.3.0:
285
+ date:
286
+ changes:
287
+ - 修复bug
288
+ 1、SVG 画笔
289
+ * 修复图形stroke模式的lineWidth、lineDash、lineCap、lineJoin不生效问题
290
+ 2、从types中移除被废弃的画笔属性
291
+ - 新增功能
292
+ 1、Canvas画笔
293
+ * 配置config添加可配置项
294
+ > rectRadius 矩形圆角半径
295
+ * clearCircle 圆形橡皮擦
296
+ 2、SVG画笔
297
+ * 配置config添加可配置项
298
+ > rectRadius 矩形圆角半径
299
+ 3、坐标系
300
+ * 地理坐标系 mapCoordinate
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) zxl20070701 走一步,再走一步
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) zxl20070701 走一步,再走一步
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -114,77 +114,53 @@
114
114
 
115
115
  你可以查看[VISLite 贡献指南](./.github/CONTRIBUTING.md)文件了解更多细节,查看[AUTHORS.txt](./AUTHORS.txt)了解所有的贡献者。
116
116
 
117
- ## 相关项目
118
-
119
- | Project | Status | Download | Description |
120
- | ----------------- | -------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------------- |
121
- | [@vislite/canvas] | [![vislite-canvas-status]][vislite-canvas-package] | [![vislite-canvas-download-status]][vislite-canvas-download] | 基于VISLite的Canvas画笔开发的绘制方法 |
122
- | [@vislite/chart] | [![vislite-chart-status]][vislite-chart-package] | [![vislite-chart-download-status]][vislite-chart-download] | 基于VISLite开发的可视化图表库(基础布局版本可跨端,类似无头ECharts) |
123
- | [H5Charts] | [![h5charts-status]][h5charts-package] | [![h5charts-download-status]][h5charts-download] | 一个基于 JavaScript 的开源可视化图表库 |
124
-
125
- [@vislite/canvas]: https://github.com/oi-contrib/H5Charts/blob/master/modules/vislite-plugin-canvas/README.md
126
- [vislite-canvas-package]: https://npmjs.com/package/@vislite/canvas
127
- [vislite-canvas-status]: https://img.shields.io/npm/v/@vislite/canvas.svg
128
- [vislite-canvas-download-status]: https://img.shields.io/npm/dm/@vislite/canvas.svg
129
- [vislite-canvas-download]: https://zxl20070701.github.io/toolbox/#/npm-download?packages=@vislite/canvas&interval=7
130
- [@vislite/chart]: https://github.com/oi-contrib/H5Charts/blob/master/modules/vislite-plugin-chart/README.md
131
- [vislite-chart-package]: https://npmjs.com/package/@vislite/chart
132
- [vislite-chart-status]: https://img.shields.io/npm/v/@vislite/chart.svg
133
- [vislite-chart-download-status]: https://img.shields.io/npm/dm/@vislite/chart.svg
134
- [vislite-chart-download]: https://zxl20070701.github.io/toolbox/#/npm-download?packages=@vislite/chart&interval=7
135
- [H5Charts]: https://github.com/oi-contrib/H5Charts
136
- [h5charts-package]: https://npmjs.com/package/h5charts
137
- [h5charts-status]: https://img.shields.io/npm/v/h5charts.svg
138
- [h5charts-download-status]: https://img.shields.io/npm/dm/h5charts.svg
139
- [h5charts-download]: https://zxl20070701.github.io/toolbox/#/npm-download?packages=h5charts&interval=7
140
-
141
- 此外,我们还基于此项目维护了一个用例项目[dataGUI](https://oi-contrib.github.io/h5box/dataGUI/index.html),比如:
117
+ ## 例子项目
142
118
 
143
119
  ### 水分子式 H2O
144
120
 
145
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/h2o" target="_blank">
121
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/h2o" target="_blank">
146
122
  <img src="https://oi-contrib.github.io/h5box/snipping/h2o.png">
147
123
  </a>
148
124
 
149
125
  ### 手式解锁
150
126
 
151
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/manual-unlocking" target="_blank">
127
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/manual-unlocking" target="_blank">
152
128
  <img src="https://oi-contrib.github.io/h5box/snipping/manual-unlocking.jpeg">
153
129
  </a>
154
130
 
155
131
  ### 3D环图
156
132
 
157
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/ring3d" target="_blank">
133
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/ring3d" target="_blank">
158
134
  <img src="https://oi-contrib.github.io/h5box/snipping/ring3d.jpeg">
159
135
  </a>
160
136
 
161
137
  ### 径向树状图
162
138
 
163
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/tree-radial" target="_blank">
139
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/tree-radial" target="_blank">
164
140
  <img src="https://oi-contrib.github.io/h5box/snipping/tree-radial.jpeg">
165
141
  </a>
166
142
 
167
143
  ### 桑基图
168
144
 
169
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/sankey" target="_blank">
145
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/sankey" target="_blank">
170
146
  <img src="https://oi-contrib.github.io/h5box/snipping/sankey.jpeg">
171
147
  </a>
172
148
 
173
149
  ### 可缩放折线图
174
150
 
175
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/zoom-line" target="_blank">
151
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/zoom-line" target="_blank">
176
152
  <img src="https://oi-contrib.github.io/h5box/snipping/zoom-line.jpeg">
177
153
  </a>
178
154
 
179
155
  ### 从上到下树状图
180
156
 
181
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/tree-orient-top-bottom" target="_blank">
157
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/tree-orient-top-bottom" target="_blank">
182
158
  <img src="https://oi-contrib.github.io/h5box/snipping/tree-orient-top-bottom.jpeg">
183
159
  </a>
184
160
 
185
161
  ### 可视化大屏
186
162
 
187
- <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html/#/bigview" target="_blank">
163
+ <a href="https://oi-contrib.github.io/h5box/dataGUI/index.html#/bigview" target="_blank">
188
164
  <img src="https://oi-contrib.github.io/h5box/snipping/bigview.jpeg">
189
165
  </a>
190
166
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Buffer of VISLite JavaScript Library v1.2.1
2
+ * Buffer of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var newBuffer = function (painter) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Buffer of VISLite JavaScript Library v1.2.1
2
+ * Buffer of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var t=function(){function t(t,i){void 0===i&&(i=!1),this.__painter=t,this.__isElement=i,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=i?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,i,e,_){var r=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(r,i,_)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,i,e,_){return void 0===_&&(_=0),function(t,i,e,_,r,n,s){t.vertexAttribPointer(i,e,_,s,r,n),t.enableVertexAttribArray(i)}(this.__painter,t,i,this.__painter.FLOAT,e*this.__fsize,_*this.__fsize,!1),this},t}();export{t as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Canvas of VISLite JavaScript Library v1.2.1
2
+ * Canvas of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /******************************************************************************
@@ -135,9 +135,24 @@ var initCircle = function (painter, cx, cy, r) {
135
135
  painter.arc(cx, cy, r, 0, Math.PI * 2);
136
136
  return painter;
137
137
  };
138
- var initRect = function (painter, x, y, width, height) {
138
+ var initRect = function (painter, config, x, y, width, height) {
139
139
  painter.beginPath();
140
- painter.rect(x, y, width, height);
140
+ var rectRadius = [];
141
+ if (Array.isArray(config.rectRadius) && config.rectRadius.length > 0) {
142
+ for (var index = 0; index < 4; index++) {
143
+ rectRadius.push.apply(rectRadius, config.rectRadius);
144
+ }
145
+ }
146
+ if (rectRadius.length >= 4) {
147
+ painter.arc(x + rectRadius[0], y + rectRadius[0], rectRadius[0], Math.PI, Math.PI * 1.5);
148
+ painter.arc(x + width - rectRadius[1], y + rectRadius[1], rectRadius[1], 1.5 * Math.PI, 0);
149
+ painter.arc(x + width - rectRadius[2], y + height - rectRadius[2], rectRadius[2], 0, Math.PI * 0.5);
150
+ painter.arc(x + rectRadius[3], y + height - rectRadius[3], rectRadius[3], 0.5 * Math.PI, Math.PI);
151
+ painter.closePath();
152
+ }
153
+ else {
154
+ painter.rect(x, y, width, height);
155
+ }
141
156
  return painter;
142
157
  };
143
158
 
@@ -167,7 +182,8 @@ function defaultFactory (type) {
167
182
  "fontWeight": 400,
168
183
  "fontStyle": "normal",
169
184
  "arcStartCap": 'butt',
170
- "arcEndCap": 'butt'
185
+ "arcEndCap": 'butt',
186
+ "rectRadius": []
171
187
  };
172
188
  var init = {
173
189
  "fillStyle": 'black',
@@ -430,6 +446,19 @@ var Painter = (function () {
430
446
  this.painter.clearRect(x, y, w, h);
431
447
  return this;
432
448
  };
449
+ Painter.prototype.clearCircle = function (cx, cy, r) {
450
+ if (this.__region && !this.__onlyView)
451
+ this.__region.clearCircle(cx, cy, r);
452
+ if (this.__isPainter && this.__onlyRegion)
453
+ return this;
454
+ this.painter.beginPath();
455
+ this.painter.globalCompositeOperation = "destination-out";
456
+ this.painter.arc(cx, cy, r, 0, Math.PI * 2);
457
+ this.painter.fill();
458
+ this.painter.globalCompositeOperation = "source-over";
459
+ this.painter.closePath();
460
+ return this;
461
+ };
433
462
  Painter.prototype.fillArc = function (cx, cy, r1, r2, beginDeg, deg) {
434
463
  if (this.__region && !this.__onlyView)
435
464
  this.__region.fillArc(cx, cy, r1, r2, beginDeg, deg);
@@ -487,7 +516,7 @@ var Painter = (function () {
487
516
  this.__region.fillRect(x, y, width, height);
488
517
  if (this.__isPainter && this.__onlyRegion)
489
518
  return this;
490
- initRect(this.painter, x, y, width, height).fill();
519
+ initRect(this.painter, this.__specialConfig, x, y, width, height).fill();
491
520
  return this;
492
521
  };
493
522
  Painter.prototype.strokeRect = function (x, y, width, height) {
@@ -495,7 +524,7 @@ var Painter = (function () {
495
524
  this.__region.strokeRect(x, y, width, height);
496
525
  if (this.__isPainter && this.__onlyRegion)
497
526
  return this;
498
- initRect(this.painter, x, y, width, height).stroke();
527
+ initRect(this.painter, this.__specialConfig, x, y, width, height).stroke();
499
528
  return this;
500
529
  };
501
530
  Painter.prototype.fullRect = function (x, y, width, height) {
@@ -503,7 +532,7 @@ var Painter = (function () {
503
532
  this.__region.fullRect(x, y, width, height);
504
533
  if (this.__isPainter && this.__onlyRegion)
505
534
  return this;
506
- initRect(this.painter, x, y, width, height);
535
+ initRect(this.painter, this.__specialConfig, x, y, width, height);
507
536
  this.painter.fill();
508
537
  this.painter.stroke();
509
538
  return this;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Canvas of VISLite JavaScript Library v1.2.1
2
+ * Canvas of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
- var t=function(i,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},t(i,e)};function i(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var e=function(){return e=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var r in i=arguments[e])Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r]);return t},e.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var n=function(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(r-i)*s+t).toFixed(7),+((n-t)*s+(r-i)*o+i).toFixed(7)]};var r=function(t,i,e,n,r){return t.beginPath(),t.translate(e,n),t.rotate(r),t.font=i.fontStyle+" "+i.fontWeight+" "+i.fontSize+"px "+i.fontFamily,t},o=function(t,i,e,r,o,s,_,a){if(o>s){var h=o;o=s,s=h}return _%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,function(t,i,e,r,o,s,_){i<0&&(t+=i,i*=-1);var a,h=[];a=n(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=n(0,0,i,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=n(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=n(0,0,i,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+i,h[0]+e,h[1]+r,h[4]+e,h[5]+r,h[2]+e,h[3]+r,h[6]+e,h[7]+r,.5*(s-o))}(_,a,e,r,o,s,(function(n,_,a,h,l,u,p,f,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(e,r,o,n,_,!1),"round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+g),y,_-Math.PI,_,!0):"-round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+g),y,_-Math.PI,_,!1):t.lineTo(c,g),t.arc(e,r,s,_,n,!0),"round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+u),y,n,n-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+u),y,n,n-Math.PI,!1):t.lineTo(a,h)})),"butt"==i.arcStartCap&&t.closePath(),t},s=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},_=function(t,i,e,n,r){return t.beginPath(),t.rect(i,e,n,r),t};function a(t,i,e,n,r){for(var o=0,s="",_=0;_<i.length;_++)t.measureText(s+i[_]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[_]):_==i.length-1?(o+=1,r(s+i[_],(o-.5)*n)):s+=i[_];return o*n}function h(t){var i={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},n={fillStyle:"black",strokeStyle:"black",lineWidth:1,lineCap:"butt",lineJoin:"miter",lineDash:[],textAlign:"left",textBaseline:"middle",shadowBlur:0,shadowColor:"black"};return"special"==t?i:"init"==t?n:e(e({},i),n)}var l=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__onlyView=!1,this.__specialConfig=h("special"),this.__initConfig=h("init"),this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&!this.__onlyView&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,i),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(i);else if(t in this.__specialConfig)"fontSize"==t&&(i=Math.round(i)),this.__specialConfig[t]=i;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=i}return this},t.prototype.fillText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fillText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.strokeText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fullText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.fillText(t,0,i),_.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.beginPath=function(){return this.__region&&!this.__onlyView&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&!this.__onlyView&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.moveTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.lineTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.lineTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.arc=function(t,i,e,n,r){return this.__region&&!this.__onlyView&&this.__region.arc(t,i,e,n,r),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,i,e,n,n+r,r<0),this},t.prototype.fill=function(){return this.__region&&!this.__onlyView&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&!this.__onlyView&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&!this.__onlyView&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&!this.__onlyView&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&!this.__onlyView&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&!this.__onlyView&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.quadraticCurveTo(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,i,e,n),this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.bezierCurveTo(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,i,e,n,r,o),this},t.prototype.clearRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.fillArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).fill(),this},t.prototype.strokeArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).stroke(),this},t.prototype.fullArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||(o(this.painter,this.__specialConfig,t,i,e,n,r,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(s(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||_(this.painter,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||_(this.painter,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(_(this.painter,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){return Promise.resolve()},t.prototype.drawImage=function(t,i,e,n,r,o){var s=this;return void 0===o&&(o=!1),new Promise((function(_){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)_({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),_({});else{var a=new Image;a.onload=function(){s.painter.drawImage(a,i,e,n,r),_({})},a.src=t}}))},t.prototype.install=function(t){var i=this,e=function(e){if(e in n)throw new Error("VISLite Canvas:Method already exists and cannot be overwritten.");n[e]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o=t[e].apply(i,n);return null!=o?o:i}},n=this;for(var r in t)e(r);return this},t}();var u=function(t,i){var e={value:function(){return t},setColor:function(n,r){return t.addColorStop(i?i(n):n,r),e}};return e},p=function(t){function e(i,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=t.call(this,i,n,e?new l(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=function(t,i,e,n){for(var r=[],o=0;o<n;o++)r[o]=t;return function(){for(var o=0;o<n;o++){if(r[o]+e<i){r[o]=+(r[o]+e).toFixed(7);break}o<n-1&&(r[o]=t)}return r}}(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return i(e,t),e.prototype.config=function(t){for(var i in t)this.useConfig(i,t[i]);return this},e.prototype.reset=function(){return this.config(h()),this},e.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},e.prototype.onlyView=function(t){return this.__onlyView=t,this},e.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var i=this.__regionAssemble();this.__regionList[t]="rgb("+i[0]+","+i[1]+","+i[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},e.prototype.getRegion=function(t,i){var e=this;return new Promise((function(n){var r=e.__region?e.__region.painter.getImageData(t-.5,i-.5,1,1):{data:[0,0,0,0]},o=r.data,s=function(){if(e.__region)for(var t in e.__regionList)if("rgb("+o[0]+","+o[1]+","+o[2]+")"==e.__regionList[t]){n(t);break}n("")};o?s():r.then((function(t){o=t,s()}))}))},e.prototype.textWidth=function(t){this.painter.save(),r(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},e.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},e.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},e.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r);return u(o)}(this.painter,t,i,e,n)},e.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n);return u(r)}(this.painter,t,i,e)},e.prototype.createConicGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createConicGradient(n,i,e);return u(o,r?function(t){return r/(2*Math.PI)*t}:void 0)}(this.painter,t,i,e,n)},e.prototype.getColor=function(t,i){t*=this.__scaleSize,i*=this.__scaleSize;var e=this.painter.getImageData(t-.5,i-.5,1,1).data;return"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]+")"},e}(l);var f=function(t){function e(i,e,n,r){void 0===e&&(e={}),void 0===n&&(n=0),void 0===r&&(r=0);var o=this;if(!i)throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.");e=function(t,i){for(var e in t)i[e]=t[e];return i}(e,{region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,_=null,a=i;a._vislite_canvas_?(s=a._vislite_canvas_[0],_=a._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(_=document.createElement("canvas")),a._vislite_canvas_=[s,_],i.setAttribute("vislite","Canvas"));for(var h=[_,s],l=0;l<h.length;l++){var u=h[l];u&&(u.style.width=n+"px",u.setAttribute("width",l*n+n+""),u.style.height=r+"px",u.setAttribute("height",l*r+r+""))}return(o=t.call(this,s,_,{willReadFrequently:e.willReadFrequently},2)||this).__canvas=s,o.__el=i,o.painter.scale(2,2),o}return i(e,t),e.prototype.toDataURL=function(){var t=this;return new Promise((function(i){i(t.__canvas.toDataURL())}))},e.prototype.bind=function(t,i){var e=this;return this.__el.addEventListener(t,(function(t){e.getRegion(t.offsetX,t.offsetY).then((function(e){i(e,t.offsetX,t.offsetY)}))})),this},e}(p);export{f as default};
5
+ var t=function(i,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},t(i,e)};function i(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var e=function(){return e=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var r in i=arguments[e])Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r]);return t},e.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var n=function(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(r-i)*s+t).toFixed(7),+((n-t)*s+(r-i)*o+i).toFixed(7)]};var r=function(t,i,e,n,r){return t.beginPath(),t.translate(e,n),t.rotate(r),t.font=i.fontStyle+" "+i.fontWeight+" "+i.fontSize+"px "+i.fontFamily,t},o=function(t,i,e,r,o,s,_,a){if(o>s){var h=o;o=s,s=h}return _%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,function(t,i,e,r,o,s,_){i<0&&(t+=i,i*=-1);var a,h=[];a=n(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=n(0,0,i,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=n(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=n(0,0,i,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+i,h[0]+e,h[1]+r,h[4]+e,h[5]+r,h[2]+e,h[3]+r,h[6]+e,h[7]+r,.5*(s-o))}(_,a,e,r,o,s,(function(n,_,a,h,l,p,u,c,f,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(e,r,o,n,_,!1),"round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,_-Math.PI,_,!0):"-round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,_-Math.PI,_,!1):t.lineTo(f,g),t.arc(e,r,s,_,n,!0),"round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,n,n-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,n,n-Math.PI,!1):t.lineTo(a,h)})),"butt"==i.arcStartCap&&t.closePath(),t},s=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},_=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var _=0;_<4;_++)s.push.apply(s,i.rectRadius);return s.length>=4?(t.arc(e+s[0],n+s[0],s[0],Math.PI,1.5*Math.PI),t.arc(e+r-s[1],n+s[1],s[1],1.5*Math.PI,0),t.arc(e+r-s[2],n+o-s[2],s[2],0,.5*Math.PI),t.arc(e+s[3],n+o-s[3],s[3],.5*Math.PI,Math.PI),t.closePath()):t.rect(e,n,r,o),t};function a(t,i,e,n,r){for(var o=0,s="",_=0;_<i.length;_++)t.measureText(s+i[_]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[_]):_==i.length-1?(o+=1,r(s+i[_],(o-.5)*n)):s+=i[_];return o*n}function h(t){var i={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt",rectRadius:[]},n={fillStyle:"black",strokeStyle:"black",lineWidth:1,lineCap:"butt",lineJoin:"miter",lineDash:[],textAlign:"left",textBaseline:"middle",shadowBlur:0,shadowColor:"black"};return"special"==t?i:"init"==t?n:e(e({},i),n)}var l=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__onlyView=!1,this.__specialConfig=h("special"),this.__initConfig=h("init"),this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&!this.__onlyView&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,i),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(i);else if(t in this.__specialConfig)"fontSize"==t&&(i=Math.round(i)),this.__specialConfig[t]=i;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=i}return this},t.prototype.fillText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fillText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.strokeText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fullText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,n,o,s){var _=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=a(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){_.painter.fillText(t,0,i),_.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.beginPath=function(){return this.__region&&!this.__onlyView&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&!this.__onlyView&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.moveTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.lineTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.lineTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.arc=function(t,i,e,n,r){return this.__region&&!this.__onlyView&&this.__region.arc(t,i,e,n,r),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,i,e,n,n+r,r<0),this},t.prototype.fill=function(){return this.__region&&!this.__onlyView&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&!this.__onlyView&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&!this.__onlyView&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&!this.__onlyView&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&!this.__onlyView&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&!this.__onlyView&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.quadraticCurveTo(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,i,e,n),this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.bezierCurveTo(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,i,e,n,r,o),this},t.prototype.clearRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.clearCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.clearCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(this.painter.beginPath(),this.painter.globalCompositeOperation="destination-out",this.painter.arc(t,i,e,0,2*Math.PI),this.painter.fill(),this.painter.globalCompositeOperation="source-over",this.painter.closePath()),this},t.prototype.fillArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).fill(),this},t.prototype.strokeArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).stroke(),this},t.prototype.fullArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||(o(this.painter,this.__specialConfig,t,i,e,n,r,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(s(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||_(this.painter,this.__specialConfig,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||_(this.painter,this.__specialConfig,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(_(this.painter,this.__specialConfig,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){return Promise.resolve()},t.prototype.drawImage=function(t,i,e,n,r,o){var s=this;return void 0===o&&(o=!1),new Promise((function(_){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)_({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),_({});else{var a=new Image;a.onload=function(){s.painter.drawImage(a,i,e,n,r),_({})},a.src=t}}))},t.prototype.install=function(t){var i=this,e=function(e){if(e in n)throw new Error("VISLite Canvas:Method already exists and cannot be overwritten.");n[e]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o=t[e].apply(i,n);return null!=o?o:i}},n=this;for(var r in t)e(r);return this},t}();var p=function(t,i){var e={value:function(){return t},setColor:function(n,r){return t.addColorStop(i?i(n):n,r),e}};return e},u=function(t){function e(i,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=t.call(this,i,n,e?new l(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=function(t,i,e,n){for(var r=[],o=0;o<n;o++)r[o]=t;return function(){for(var o=0;o<n;o++){if(r[o]+e<i){r[o]=+(r[o]+e).toFixed(7);break}o<n-1&&(r[o]=t)}return r}}(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return i(e,t),e.prototype.config=function(t){for(var i in t)this.useConfig(i,t[i]);return this},e.prototype.reset=function(){return this.config(h()),this},e.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},e.prototype.onlyView=function(t){return this.__onlyView=t,this},e.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var i=this.__regionAssemble();this.__regionList[t]="rgb("+i[0]+","+i[1]+","+i[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},e.prototype.getRegion=function(t,i){var e=this;return new Promise((function(n){var r=e.__region?e.__region.painter.getImageData(t-.5,i-.5,1,1):{data:[0,0,0,0]},o=r.data,s=function(){if(e.__region)for(var t in e.__regionList)if("rgb("+o[0]+","+o[1]+","+o[2]+")"==e.__regionList[t]){n(t);break}n("")};o?s():r.then((function(t){o=t,s()}))}))},e.prototype.textWidth=function(t){this.painter.save(),r(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},e.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},e.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},e.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r);return p(o)}(this.painter,t,i,e,n)},e.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n);return p(r)}(this.painter,t,i,e)},e.prototype.createConicGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createConicGradient(n,i,e);return p(o,r?function(t){return r/(2*Math.PI)*t}:void 0)}(this.painter,t,i,e,n)},e.prototype.getColor=function(t,i){t*=this.__scaleSize,i*=this.__scaleSize;var e=this.painter.getImageData(t-.5,i-.5,1,1).data;return"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]+")"},e}(l);var c=function(t){function e(i,e,n,r){void 0===e&&(e={}),void 0===n&&(n=0),void 0===r&&(r=0);var o=this;if(!i)throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.");e=function(t,i){for(var e in t)i[e]=t[e];return i}(e,{region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,_=null,a=i;a._vislite_canvas_?(s=a._vislite_canvas_[0],_=a._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(_=document.createElement("canvas")),a._vislite_canvas_=[s,_],i.setAttribute("vislite","Canvas"));for(var h=[_,s],l=0;l<h.length;l++){var p=h[l];p&&(p.style.width=n+"px",p.setAttribute("width",l*n+n+""),p.style.height=r+"px",p.setAttribute("height",l*r+r+""))}return(o=t.call(this,s,_,{willReadFrequently:e.willReadFrequently},2)||this).__canvas=s,o.__el=i,o.painter.scale(2,2),o}return i(e,t),e.prototype.toDataURL=function(){var t=this;return new Promise((function(i){i(t.__canvas.toDataURL())}))},e.prototype.bind=function(t,i){var e=this;return this.__el.addEventListener(t,(function(t){e.getRegion(t.offsetX,t.offsetY).then((function(e){i(e,t.offsetX,t.offsetY)}))})),this},e}(u);export{c as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Cardinal of VISLite JavaScript Library v1.2.1
2
+ * Cardinal of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var Hermite = (function () {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Cardinal of VISLite JavaScript Library v1.2.1
2
+ * Cardinal of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,_,h,s,e){if(!(t<_))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=_;var n=this.__u*s,o=this.__u*e;return i/=_-t,h/=_-t,this.__MR=[2*i-2*h+n+o,3*h-3*i-2*n-o,n,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),_=i*i;return(i*_*this.__MR[0]+_*this.__MR[1]+i*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}(),i=function(){function i(t){void 0===t&&(t=0),this.name="Cardinal",this.__t=t}return i.prototype.setP=function(i){this.__HS={x:[],h:[]};var _,h,s=(i[1][1]-i[0][1])/(i[1][0]-i[0][0]);for(this.__HS.x[0]=i[0][0],_=1;_<i.length;_++){if(i[_][0]<=i[_-1][0])throw new Error("The point position should be increamented!");this.__HS.x[_]=i[_][0],h=_<i.length-1?i[_+1][1]>i[_][1]&&i[_-1][1]>i[_][1]||i[_+1][1]<i[_][1]&&i[_-1][1]<i[_][1]||i[_+1][1]==i[_][1]||i[_-1][1]==i[_][1]?0:(i[_+1][1]-i[_-1][1])/(i[_+1][0]-i[_-1][0]):(i[_][1]-i[_-1][1])/(i[_][0]-i[_-1][0]),this.__HS.h[_-1]=new t(.5*(1-this.__t)).setP(i[_-1][0],i[_-1][1],i[_][0],i[_][1],s,h),s=h}return this},i.prototype.use=function(t){if(this.__HS){for(this.__i=-1;this.__i+1<this.__HS.x.length&&(t>this.__HS.x[this.__i+1]||-1==this.__i&&t>=this.__HS.x[this.__i+1]);)this.__i+=1;return this.__i<0?this.__HS.h[0].use(this.__HS.x[0]):this.__i>=this.__HS.h.length?this.__HS.h[this.__HS.h.length-1].use(this.__HS.x[this.__HS.x.length-1]):this.__HS.h[this.__i].use(t)}throw new Error("You shoud first set the position!")},i}();export{i as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Eoap of VISLite JavaScript Library v1.2.1
2
+ * Eoap of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var rotateX = function (deg, x, y, z) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Eoap of VISLite JavaScript Library v1.2.1
2
+ * Eoap of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var t=function(t,n,a,e){var r=Math.cos(t),h=Math.sin(t);return[n*r-a*h,n*h+a*r,e]},n=function(){function n(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Eoap",this.__scale=t,this.__center=n}return n.prototype.use=function(n,a){var e,r,h,i,s,o,c=(e=(360-a)/180*Math.PI,r=100*this.__scale,h=0,i=0,s=Math.cos(e),o=Math.sin(e),[i*o+r*s,h,i*s-r*o]);return c=t(n/180*Math.PI,c[0],c[1],c[2]),c=t((90-this.__center[0])/180*Math.PI,c[0],c[1],c[2]),c=function(t,n,a,e){var r=Math.cos(t),h=Math.sin(t);return[n,a*r-e*h,a*h+e*r]}((90-this.__center[1])/180*Math.PI,c[0],c[1],c[2]),[-c[0],c[1],c[2]]},n}();export{n as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Hermite of VISLite JavaScript Library v1.2.1
2
+ * Hermite of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var Hermite = (function () {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Hermite of VISLite JavaScript Library v1.2.1
2
+ * Hermite of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,_,s,h,r){if(!(t<_))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=_;var o=this.__u*h,e=this.__u*r;return i/=_-t,s/=_-t,this.__MR=[2*i-2*s+o+e,3*s-3*i-2*o-e,o,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),_=i*i;return(i*_*this.__MR[0]+_*this.__MR[1]+i*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}();export{t as default};
@@ -0,0 +1,3 @@
1
+ import { MapCoordinate } from "../../types/index"
2
+
3
+ export default MapCoordinate
@@ -0,0 +1,217 @@
1
+ /*!
2
+ * MapCoordinate of VISLite JavaScript Library v1.3.0-alpha.1
3
+ * git+https://github.com/oi-contrib/VISLite.git
4
+ */
5
+ var toString = Object.prototype.toString;
6
+ function getType(value) {
7
+ if (value == null) {
8
+ return value === undefined ? '[object Undefined]' : '[object Null]';
9
+ }
10
+ return toString.call(value);
11
+ }
12
+ function isPlainObject(value) {
13
+ if (value === null || typeof value !== 'object' || getType(value) != '[object Object]') {
14
+ return false;
15
+ }
16
+ if (Object.getPrototypeOf(value) === null) {
17
+ return true;
18
+ }
19
+ var proto = value;
20
+ while (Object.getPrototypeOf(proto) !== null) {
21
+ proto = Object.getPrototypeOf(proto);
22
+ }
23
+ return Object.getPrototypeOf(value) === proto;
24
+ }
25
+
26
+ function initOption(setOption, defaultOption) {
27
+ for (var key in setOption) {
28
+ defaultOption[key] = setOption[key];
29
+ }
30
+ return defaultOption;
31
+ }
32
+ function mergeOption(oldOption, newOption) {
33
+ (function doit(oldOption, newOption) {
34
+ for (var key in newOption) {
35
+ var value = newOption[key];
36
+ if (isPlainObject(value)) {
37
+ if (!oldOption[key])
38
+ oldOption[key] = {};
39
+ doit(oldOption[key], newOption[key]);
40
+ }
41
+ else {
42
+ oldOption[key] = value;
43
+ }
44
+ }
45
+ })(oldOption, newOption);
46
+ }
47
+
48
+ function mllData(geoJson) {
49
+ var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
50
+ var forPolygon = function (coordinates) {
51
+ for (var j = 0; j < coordinates.length; j++) {
52
+ for (var k = 0; k < coordinates[j].length; k++) {
53
+ var longitude = coordinates[j][k][0], latitude = coordinates[j][k][1];
54
+ if (minLongitude == void 0 || minLongitude > longitude)
55
+ minLongitude = longitude;
56
+ if (maxLongitude == void 0 || maxLongitude < longitude)
57
+ maxLongitude = longitude;
58
+ if (minLatitude == void 0 || minLatitude > latitude)
59
+ minLatitude = latitude;
60
+ if (maxLatitude == void 0 || maxLatitude < latitude)
61
+ maxLatitude = latitude;
62
+ }
63
+ }
64
+ };
65
+ var features = geoJson.features;
66
+ for (var i = 0; i < features.length; i++) {
67
+ if (features[i].geometry.type == "Polygon") {
68
+ forPolygon(features[i].geometry.coordinates);
69
+ }
70
+ else if (features[i].geometry.type == "MultiPolygon") {
71
+ for (var j = 0; j < features[i].geometry.coordinates.length; j++) {
72
+ forPolygon(features[i].geometry.coordinates[j]);
73
+ }
74
+ }
75
+ }
76
+ return [minLongitude, maxLongitude, minLatitude, maxLatitude];
77
+ }
78
+
79
+ function getBoundary () {
80
+ var geos = [];
81
+ for (var _i = 0; _i < arguments.length; _i++) {
82
+ geos[_i] = arguments[_i];
83
+ }
84
+ var minLongitude = null, maxLongitude = null, minLatitude = null, maxLatitude = null;
85
+ for (var _a = 0, geos_1 = geos; _a < geos_1.length; _a++) {
86
+ var geoJson = geos_1[_a];
87
+ var _b = mllData(geoJson), _minLongitude = _b[0], _maxLongitude = _b[1], _minLatitude = _b[2], _maxLatitude = _b[3];
88
+ if (minLongitude == void 0 || _minLongitude < minLongitude)
89
+ minLongitude = _minLongitude;
90
+ if (maxLongitude == void 0 || _maxLongitude > maxLongitude)
91
+ maxLongitude = _maxLongitude;
92
+ if (minLatitude == void 0 || _minLatitude < minLatitude)
93
+ minLatitude = _minLatitude;
94
+ if (maxLatitude == void 0 || _maxLatitude > maxLatitude)
95
+ maxLatitude = _maxLatitude;
96
+ }
97
+ return [minLongitude, maxLongitude, minLatitude, maxLatitude];
98
+ }
99
+
100
+ var Mercator = (function () {
101
+ function Mercator(scale, center) {
102
+ if (scale === void 0) { scale = 7; }
103
+ if (center === void 0) { center = [107, 36]; }
104
+ this.name = 'Mercator';
105
+ var perimeter = 100 * scale * Math.PI;
106
+ var help = perimeter / 180;
107
+ var cx = help * center[0];
108
+ var cy = -1 * help * center[1];
109
+ this.use = function (λ, φ) {
110
+ return [
111
+ (help * λ - cx) * 0.8,
112
+ -1 * help * φ - cy,
113
+ 0
114
+ ];
115
+ };
116
+ }
117
+ return Mercator;
118
+ }());
119
+
120
+ var rotateX = function (deg, x, y, z) {
121
+ var cos = Math.cos(deg), sin = Math.sin(deg);
122
+ return [x, y * cos - z * sin, y * sin + z * cos];
123
+ };
124
+ var rotateY = function (deg, x, y, z) {
125
+ var cos = Math.cos(deg), sin = Math.sin(deg);
126
+ return [z * sin + x * cos, y, z * cos - x * sin];
127
+ };
128
+ var rotateZ = function (deg, x, y, z) {
129
+ var cos = Math.cos(deg), sin = Math.sin(deg);
130
+ return [x * cos - y * sin, x * sin + y * cos, z];
131
+ };
132
+ var Eoap = (function () {
133
+ function Eoap(scale, center) {
134
+ if (scale === void 0) { scale = 7; }
135
+ if (center === void 0) { center = [107, 36]; }
136
+ this.name = 'Eoap';
137
+ this.__scale = scale;
138
+ this.__center = center;
139
+ }
140
+ Eoap.prototype.use = function (λ, φ) {
141
+ var p = rotateY((360 - φ) / 180 * Math.PI, 100 * this.__scale, 0, 0);
142
+ p = rotateZ(λ / 180 * Math.PI, p[0], p[1], p[2]);
143
+ p = rotateZ((90 - this.__center[0]) / 180 * Math.PI, p[0], p[1], p[2]);
144
+ p = rotateX((90 - this.__center[1]) / 180 * Math.PI, p[0], p[1], p[2]);
145
+ return [
146
+ -p[0],
147
+ p[1],
148
+ p[2]
149
+ ];
150
+ };
151
+ return Eoap;
152
+ }());
153
+
154
+ var MapCoordinate = (function () {
155
+ function MapCoordinate(config) {
156
+ if (config === void 0) { config = {}; }
157
+ this.name = 'MapCoordinate';
158
+ this.__config = initOption(config, {
159
+ api: "Mercator",
160
+ width: 400,
161
+ height: 300,
162
+ left: 0,
163
+ top: 0
164
+ });
165
+ }
166
+ MapCoordinate.prototype.$$updateMap = function () {
167
+ var _a = this.__boundary, minLongitude = _a[0], maxLongitude = _a[1], minLatitude = _a[2], maxLatitude = _a[3];
168
+ if (this.__config.api == "Eoap") {
169
+ var xScale = this.__config.width * 0.836 / (maxLongitude - minLongitude);
170
+ var yScale = this.__config.height * 0.557 / (maxLatitude - minLatitude);
171
+ this.__map = new Eoap(xScale < yScale ? xScale : yScale, [
172
+ (minLongitude + maxLongitude) * 0.5 * 0.9778,
173
+ (minLatitude + maxLatitude) * 0.5 * 1.025
174
+ ]);
175
+ }
176
+ else if (this.__config.api == "Mercator") {
177
+ var xScale = this.__config.width * 0.72 / (maxLongitude - minLongitude);
178
+ var yScale = this.__config.height * 0.575 / (maxLatitude - minLatitude);
179
+ this.__map = new Mercator(xScale < yScale ? xScale : yScale, [
180
+ (minLongitude + maxLongitude) * 0.5,
181
+ (minLatitude + maxLatitude) * 0.5
182
+ ]);
183
+ }
184
+ else {
185
+ throw new Error("Unexpected API types:" + this.__config.api);
186
+ }
187
+ };
188
+ MapCoordinate.prototype.setConfig = function (config) {
189
+ mergeOption(this.__config, config);
190
+ this.$$updateMap();
191
+ return this;
192
+ };
193
+ MapCoordinate.prototype.setGeos = function () {
194
+ var geos = [];
195
+ for (var _i = 0; _i < arguments.length; _i++) {
196
+ geos[_i] = arguments[_i];
197
+ }
198
+ this.__boundary = getBoundary.apply(void 0, geos);
199
+ this.$$updateMap();
200
+ return this;
201
+ };
202
+ MapCoordinate.prototype.use = function (λ, φ) {
203
+ if (this.__map) {
204
+ var dxyz = this.__map.use(λ, φ);
205
+ return [
206
+ this.__config.left + this.__config.width * 0.5 + dxyz[0],
207
+ this.__config.top + this.__config.height * 0.5 + dxyz[1],
208
+ ];
209
+ }
210
+ else {
211
+ throw new Error("Geographic data not set");
212
+ }
213
+ };
214
+ return MapCoordinate;
215
+ }());
216
+
217
+ export { MapCoordinate as default };
@@ -0,0 +1,3 @@
1
+ import { MapCoordinate } from "../../types/index"
2
+
3
+ export default MapCoordinate