vislite 1.3.0-alpha.0 → 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 (73) hide show
  1. package/CHANGELOG +11 -1
  2. package/README.md +1 -25
  3. package/lib/Buffer/index.es.js +1 -1
  4. package/lib/Buffer/index.es.min.js +1 -1
  5. package/lib/Canvas/index.es.js +15 -2
  6. package/lib/Canvas/index.es.min.js +2 -2
  7. package/lib/Cardinal/index.es.js +1 -1
  8. package/lib/Cardinal/index.es.min.js +1 -1
  9. package/lib/Eoap/index.es.js +1 -1
  10. package/lib/Eoap/index.es.min.js +1 -1
  11. package/lib/Hermite/index.es.js +1 -1
  12. package/lib/Hermite/index.es.min.js +1 -1
  13. package/lib/MapCoordinate/index.es.d.ts +3 -0
  14. package/lib/MapCoordinate/index.es.js +217 -0
  15. package/lib/MapCoordinate/index.es.min.d.ts +3 -0
  16. package/lib/MapCoordinate/index.es.min.js +5 -0
  17. package/lib/Matrix4/index.es.js +1 -1
  18. package/lib/Matrix4/index.es.min.js +1 -1
  19. package/lib/Mercator/index.es.js +1 -1
  20. package/lib/Mercator/index.es.min.js +1 -1
  21. package/lib/RawCanvas/index.es.js +15 -2
  22. package/lib/RawCanvas/index.es.min.js +2 -2
  23. package/lib/SVG/index.es.js +47 -20
  24. package/lib/SVG/index.es.min.js +2 -2
  25. package/lib/Shader/index.es.js +1 -1
  26. package/lib/Shader/index.es.min.js +1 -1
  27. package/lib/Texture/index.es.js +1 -1
  28. package/lib/Texture/index.es.min.js +1 -1
  29. package/lib/TreeLayout/index.es.js +1 -1
  30. package/lib/TreeLayout/index.es.min.js +1 -1
  31. package/lib/animation/index.es.js +1 -1
  32. package/lib/animation/index.es.min.js +1 -1
  33. package/lib/assemble/index.es.js +1 -1
  34. package/lib/assemble/index.es.min.js +1 -1
  35. package/lib/getLoopColors/index.es.js +1 -1
  36. package/lib/getLoopColors/index.es.min.js +1 -1
  37. package/lib/getWebGLContext/index.es.js +1 -1
  38. package/lib/getWebGLContext/index.es.min.js +1 -1
  39. package/lib/index.umd.js +177 -21
  40. package/lib/index.umd.min.js +2 -2
  41. package/lib/initOption/index.es.js +1 -1
  42. package/lib/initOption/index.es.min.js +1 -1
  43. package/lib/mergeOption/index.es.js +1 -1
  44. package/lib/mergeOption/index.es.min.js +1 -1
  45. package/lib/move/index.es.js +1 -1
  46. package/lib/move/index.es.min.js +1 -1
  47. package/lib/rotate/index.es.js +1 -1
  48. package/lib/rotate/index.es.min.js +1 -1
  49. package/lib/ruler/index.es.js +1 -1
  50. package/lib/ruler/index.es.min.js +1 -1
  51. package/lib/scale/index.es.js +1 -1
  52. package/lib/scale/index.es.min.js +1 -1
  53. package/lib/throttle/index.es.js +1 -1
  54. package/lib/throttle/index.es.min.js +1 -1
  55. package/package/MapCoordinate/index.ts +3 -0
  56. package/package/index.ts +5 -0
  57. package/package.json +1 -3
  58. package/src/common/canvas/default.ts +1 -1
  59. package/src/common/canvas/painter.ts +13 -0
  60. package/src/common/map/getBoundary.ts +16 -0
  61. package/src/common/map/tool.ts +30 -0
  62. package/src/common/svg/config.ts +29 -10
  63. package/src/common/svg/default.ts +4 -1
  64. package/src/common/svg/gradient.ts +1 -1
  65. package/src/common/svg/index.ts +6 -6
  66. package/src/common/svg/tool.ts +9 -0
  67. package/src/coordinate/MapCoordinate.ts +81 -0
  68. package/types/Canvas.d.ts +8 -0
  69. package/types/CanvasConfig.d.ts +0 -30
  70. package/types/MapConfig.d.ts +28 -0
  71. package/types/MapCoordinate.d.ts +23 -0
  72. package/types/SVGConfig.d.ts +2 -20
  73. package/types/index.d.ts +15 -1
package/CHANGELOG CHANGED
@@ -284,7 +284,17 @@ v1.2.1:
284
284
  v1.3.0:
285
285
  date:
286
286
  changes:
287
+ - 修复bug
288
+ 1、SVG 画笔
289
+ * 修复图形stroke模式的lineWidth、lineDash、lineCap、lineJoin不生效问题
290
+ 2、从types中移除被废弃的画笔属性
287
291
  - 新增功能
288
292
  1、Canvas画笔
289
293
  * 配置config添加可配置项
290
- > rectRadius 矩形圆角半径
294
+ > rectRadius 矩形圆角半径
295
+ * clearCircle 圆形橡皮擦
296
+ 2、SVG画笔
297
+ * 配置config添加可配置项
298
+ > rectRadius 矩形圆角半径
299
+ 3、坐标系
300
+ * 地理坐标系 mapCoordinate
package/README.md CHANGED
@@ -114,31 +114,7 @@
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
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Buffer of VISLite JavaScript Library v1.3.0-alpha.0
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.3.0-alpha.0
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.3.0-alpha.0
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
  /******************************************************************************
@@ -183,7 +183,7 @@ function defaultFactory (type) {
183
183
  "fontStyle": "normal",
184
184
  "arcStartCap": 'butt',
185
185
  "arcEndCap": 'butt',
186
- "rectRadius": 0
186
+ "rectRadius": []
187
187
  };
188
188
  var init = {
189
189
  "fillStyle": 'black',
@@ -446,6 +446,19 @@ var Painter = (function () {
446
446
  this.painter.clearRect(x, y, w, h);
447
447
  return this;
448
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
+ };
449
462
  Painter.prototype.fillArc = function (cx, cy, r1, r2, beginDeg, deg) {
450
463
  if (this.__region && !this.__onlyView)
451
464
  this.__region.fillArc(cx, cy, r1, r2, beginDeg, deg);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Canvas of VISLite JavaScript Library v1.3.0-alpha.0
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,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:0},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,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 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.3.0-alpha.0
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.3.0-alpha.0
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.3.0-alpha.0
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.3.0-alpha.0
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.3.0-alpha.0
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.3.0-alpha.0
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
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * MapCoordinate of VISLite JavaScript Library v1.3.0-alpha.1
3
+ * git+https://github.com/oi-contrib/VISLite.git
4
+ */
5
+ var t=Object.prototype.toString;function n(n){if(null===n||"object"!=typeof n||"[object Object]"!=function(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":t.call(n)}(n))return!1;if(null===Object.getPrototypeOf(n))return!0;for(var e=n;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(n)===e}function e(t){for(var n=null,e=null,o=null,r=null,i=function(t){for(var i=0;i<t.length;i++)for(var a=0;a<t[i].length;a++){var u=t[i][a][0],h=t[i][a][1];(null==n||n>u)&&(n=u),(null==e||e<u)&&(e=u),(null==o||o>h)&&(o=h),(null==r||r<h)&&(r=h)}},a=t.features,u=0;u<a.length;u++)if("Polygon"==a[u].geometry.type)i(a[u].geometry.coordinates);else if("MultiPolygon"==a[u].geometry.type)for(var h=0;h<a[u].geometry.coordinates.length;h++)i(a[u].geometry.coordinates[h]);return[n,e,o,r]}function o(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var o=null,r=null,i=null,a=null,u=0,h=t;u<h.length;u++){var l=e(h[u]),f=l[0],c=l[1],s=l[2],_=l[3];(null==o||f<o)&&(o=f),(null==r||c>r)&&(r=c),(null==i||s<i)&&(i=s),(null==a||_>a)&&(a=_)}return[o,r,i,a]}var r=function(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Mercator";var e=100*t*Math.PI/180,o=e*n[0],r=-1*e*n[1];this.use=function(t,n){return[.8*(e*t-o),-1*e*n-r,0]}},i=function(t,n,e,o){var r=Math.cos(t),i=Math.sin(t);return[n*r-e*i,n*i+e*r,o]},a=function(){function t(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Eoap",this.__scale=t,this.__center=n}return t.prototype.use=function(t,n){var e,o,r,a,u,h,l=(e=(360-n)/180*Math.PI,o=100*this.__scale,r=0,a=0,u=Math.cos(e),h=Math.sin(e),[a*h+o*u,r,a*u-o*h]);return l=i(t/180*Math.PI,l[0],l[1],l[2]),l=i((90-this.__center[0])/180*Math.PI,l[0],l[1],l[2]),l=function(t,n,e,o){var r=Math.cos(t),i=Math.sin(t);return[n,e*r-o*i,e*i+o*r]}((90-this.__center[1])/180*Math.PI,l[0],l[1],l[2]),[-l[0],l[1],l[2]]},t}(),u=function(){function t(t){void 0===t&&(t={}),this.name="MapCoordinate",this.__config=function(t,n){for(var e in t)n[e]=t[e];return n}(t,{api:"Mercator",width:400,height:300,left:0,top:0})}return t.prototype.$$updateMap=function(){var t=this.__boundary,n=t[0],e=t[1],o=t[2],i=t[3];if("Eoap"==this.__config.api){var u=.836*this.__config.width/(e-n),h=.557*this.__config.height/(i-o);this.__map=new a(u<h?u:h,[.5*(n+e)*.9778,.5*(o+i)*1.025])}else{if("Mercator"!=this.__config.api)throw new Error("Unexpected API types:"+this.__config.api);u=.72*this.__config.width/(e-n),h=.575*this.__config.height/(i-o);this.__map=new r(u<h?u:h,[.5*(n+e),.5*(o+i)])}},t.prototype.setConfig=function(t){return function t(e,o){for(var r in o){var i=o[r];n(i)?(e[r]||(e[r]={}),t(e[r],o[r])):e[r]=i}}(this.__config,t),this.$$updateMap(),this},t.prototype.setGeos=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this.__boundary=o.apply(void 0,t),this.$$updateMap(),this},t.prototype.use=function(t,n){if(this.__map){var e=this.__map.use(t,n);return[this.__config.left+.5*this.__config.width+e[0],this.__config.top+.5*this.__config.height+e[1]]}throw new Error("Geographic data not set")},t}();export{u as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Matrix4 of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * Matrix4 of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function _move (d, a, b, c) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Matrix4 of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * Matrix4 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,r){for(var i=[],o=0;o<4;o++)for(var n=0;n<r.length/4;n++)i[4*n+o]=t[o]*r[4*n]+t[o+4]*r[4*n+1]+t[o+8]*r[4*n+2]+t[o+12]*r[4*n+3];return i},r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],i=function(){function i(t){void 0===t&&(t=r),this.name="Matrix4",this.__matrix4=t}return i.prototype.setValue=function(t){return void 0===t&&(t=r),this.__matrix4=t,this},i.prototype.move=function(r,i,o,n){return void 0===n&&(n=0),this.__matrix4=t(function(t,r,i,o){void 0===o&&(o=0);var n=Math.sqrt(r*r+i*i+o*o);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/n,i*t/n,o*t/n,1]}(r,i,o,n),this.__matrix4),this},i.prototype.rotate=function(r,i,o,n,e,u,a){var s=function(t,r,i,o,n,e){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof i?(i=0,o=t,n=r,e=1):"number"==typeof o&&"number"==typeof n&&"number"==typeof e||(o=t,n=r,e=i,t=0,r=0,i=0),t==o&&r==n&&i==e)throw new Error("It's not a legitimate ray!");var u=Math.sqrt((o-t)*(o-t)+(n-r)*(n-r)),a=0!=u?(n-r)/u:1,s=0!=u?(o-t)/u:0,h=(o-t)*s+(n-r)*a,_=e-i,f=Math.sqrt(h*h+_*_),m=0!=f?_/f:1,p=0!=f?h/f:0;return[[a,m*s,s*p,0,-s,a*m,a*p,0,0,-p,m,0,r*s-t*a,i*p-t*s*m-r*a*m,-t*s*p-r*a*p-i*m,1],[a,-s,0,0,m*s,m*a,-p,0,s*p,a*p,m,0,t,r,i,1]]}throw new Error("a1 and b1 is required!")}(i,o,n,e,u,a);return this.__matrix4=t(t(t(s[1],function(t){var r=Math.sin(t),i=Math.cos(t);return[i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1]}(r)),s[0]),this.__matrix4),this},i.prototype.scale=function(r,i,o,n,e,u){return void 0===n&&(n=0),void 0===e&&(e=0),void 0===u&&(u=0),this.__matrix4=t(function(t,r,i,o,n,e){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===e&&(e=0),[t,0,0,0,0,r,0,0,0,0,i,0,o-o*t,n-n*r,e-e*i,1]}(r,i,o,n,e,u),this.__matrix4),this},i.prototype.multiply=function(r,i){return void 0===i&&(i=!1),this.__matrix4=i?t(this.__matrix4,r):t(r,this.__matrix4),this},i.prototype.use=function(r,i,o,n){return void 0===o&&(o=0),void 0===n&&(n=1),t(this.__matrix4,[r,i,o,n])},i.prototype.value=function(){return this.__matrix4},i}();export{i as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Mercator of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * Mercator of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var Mercator = (function () {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Mercator of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * Mercator 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,a){void 0===t&&(t=7),void 0===a&&(a=[107,36]),this.name="Mercator";var r=100*t*Math.PI/180,e=r*a[0],i=-1*r*a[1];this.use=function(t,a){return[.8*(r*t-e),-1*r*a-i,0]}};export{t as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * RawCanvas of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * RawCanvas of VISLite JavaScript Library v1.3.0-alpha.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /******************************************************************************
@@ -183,7 +183,7 @@ function defaultFactory (type) {
183
183
  "fontStyle": "normal",
184
184
  "arcStartCap": 'butt',
185
185
  "arcEndCap": 'butt',
186
- "rectRadius": 0
186
+ "rectRadius": []
187
187
  };
188
188
  var init = {
189
189
  "fillStyle": 'black',
@@ -446,6 +446,19 @@ var Painter = (function () {
446
446
  this.painter.clearRect(x, y, w, h);
447
447
  return this;
448
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
+ };
449
462
  Painter.prototype.fillArc = function (cx, cy, r1, r2, beginDeg, deg) {
450
463
  if (this.__region && !this.__onlyView)
451
464
  this.__region.fillArc(cx, cy, r1, r2, beginDeg, deg);
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * RawCanvas of VISLite JavaScript Library v1.3.0-alpha.0
2
+ * RawCanvas 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)};var i=function(){return i=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},i.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var e=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 n=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},r=function(t,i,n,r,o,s,_,h){if(o>s){var a=o;o=s,s=a}return _%=2*Math.PI,h>=1.999999*Math.PI||h<=1.999999*-Math.PI?h=2*Math.PI:h%=2*Math.PI,function(t,i,n,r,o,s,_){i<0&&(t+=i,i*=-1);var h,a=[];h=e(0,0,t,o,0),a[0]=h[0],a[1]=h[1],h=e(0,0,i,h[0],h[1]),a[2]=h[0],a[3]=h[1],h=e(0,0,t,s,0),a[4]=h[0],a[5]=h[1],h=e(0,0,i,h[0],h[1]),a[6]=h[0],a[7]=h[1],_(t,t+i,a[0]+n,a[1]+r,a[4]+n,a[5]+r,a[2]+n,a[3]+r,a[6]+n,a[7]+r,.5*(s-o))}(_,h,n,r,o,s,(function(e,_,h,a,l,p,u,f,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(h,a),t.arc(n,r,o,e,_,!1),"round"==i.arcEndCap?t.arc(.5*(u+c),.5*(f+g),y,_-Math.PI,_,!0):"-round"==i.arcEndCap?t.arc(.5*(u+c),.5*(f+g),y,_-Math.PI,_,!1):t.lineTo(c,g),t.arc(n,r,s,_,e,!0),"round"==i.arcStartCap?t.arc(.5*(h+l),.5*(a+p),y,e,e-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(h+l),.5*(a+p),y,e,e-Math.PI,!1):t.lineTo(h,a)})),"butt"==i.arcStartCap&&t.closePath(),t},o=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},s=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 _(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 e={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt",rectRadius:0},n={fillStyle:"black",strokeStyle:"black",lineWidth:1,lineCap:"butt",lineJoin:"miter",lineDash:[],textAlign:"left",textBaseline:"middle",shadowBlur:0,shadowColor:"black"};return"special"==t?e:"init"==t?n:i(i({},e),n)}var a=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,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.fillText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,e,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.strokeText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,e,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.fullText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.fillText(t,0,i),h.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,o,s){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||r(this.painter,this.__specialConfig,t,i,e,n,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,n,o,s){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||r(this.painter,this.__specialConfig,t,i,e,n,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,n,o,s){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||(r(this.painter,this.__specialConfig,t,i,e,n,o,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||o(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||o(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||(o(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||s(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||s(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||(s(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 h=new Image;h.onload=function(){s.painter.drawImage(h,i,e,n,r),_({})},h.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 l=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(i){function e(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new a(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 function(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)}(e,i),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(),n(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 l(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 l(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 l(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}(a);export{p 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)};var i=function(){return i=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},i.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var e=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 n=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},r=function(t,i,n,r,o,s,_,h){if(o>s){var a=o;o=s,s=a}return _%=2*Math.PI,h>=1.999999*Math.PI||h<=1.999999*-Math.PI?h=2*Math.PI:h%=2*Math.PI,function(t,i,n,r,o,s,_){i<0&&(t+=i,i*=-1);var h,a=[];h=e(0,0,t,o,0),a[0]=h[0],a[1]=h[1],h=e(0,0,i,h[0],h[1]),a[2]=h[0],a[3]=h[1],h=e(0,0,t,s,0),a[4]=h[0],a[5]=h[1],h=e(0,0,i,h[0],h[1]),a[6]=h[0],a[7]=h[1],_(t,t+i,a[0]+n,a[1]+r,a[4]+n,a[5]+r,a[2]+n,a[3]+r,a[6]+n,a[7]+r,.5*(s-o))}(_,h,n,r,o,s,(function(e,_,h,a,l,p,u,f,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(h,a),t.arc(n,r,o,e,_,!1),"round"==i.arcEndCap?t.arc(.5*(u+c),.5*(f+g),y,_-Math.PI,_,!0):"-round"==i.arcEndCap?t.arc(.5*(u+c),.5*(f+g),y,_-Math.PI,_,!1):t.lineTo(c,g),t.arc(n,r,s,_,e,!0),"round"==i.arcStartCap?t.arc(.5*(h+l),.5*(a+p),y,e,e-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(h+l),.5*(a+p),y,e,e-Math.PI,!1):t.lineTo(h,a)})),"butt"==i.arcStartCap&&t.closePath(),t},o=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},s=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 _(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 e={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?e:"init"==t?n:i(i({},e),n)}var a=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,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.fillText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,e,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.strokeText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,e,r){return void 0===r&&(r=0),this.__region&&!this.__onlyView&&this.__region.fullText(t,i,e,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),n(this.painter,this.__specialConfig,i,e,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,r,o,s){var h=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,r,o)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){h.painter.fillText(t,0,i),h.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,o,s){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||r(this.painter,this.__specialConfig,t,i,e,n,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,n,o,s){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||r(this.painter,this.__specialConfig,t,i,e,n,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,n,o,s){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,o,s),this.__isPainter&&this.__onlyRegion||(r(this.painter,this.__specialConfig,t,i,e,n,o,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||o(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||o(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||(o(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||s(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||s(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||(s(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 h=new Image;h.onload=function(){s.painter.drawImage(h,i,e,n,r),_({})},h.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 l=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(i){function e(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new a(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 function(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)}(e,i),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(),n(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 l(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 l(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 l(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}(a);export{p as default};