vislite 1.12.0-alpha.0 → 1.12.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.
- package/CHANGELOG +7 -0
- package/lib/Canvas/index.es.js +4 -15
- package/lib/Canvas/index.es.min.js +1 -1
- package/lib/RawCanvas/index.es.js +4 -15
- package/lib/RawCanvas/index.es.min.js +1 -1
- package/lib/SVG/index.es.js +14 -19
- package/lib/SVG/index.es.min.js +1 -1
- package/lib/TreeLayout/index.es.js +0 -14
- package/lib/assemble/index.es.js +4 -1
- package/lib/assemble/index.es.min.js +1 -1
- package/lib/index.umd.js +19 -21
- package/lib/index.umd.min.js +2 -2
- package/package.json +1 -1
- package/src/SVG.ts +22 -5
- package/src/common/assemble.ts +9 -1
- package/src/common/canvas/index.ts +1 -1
- package/types/index.d.ts +1 -1
package/CHANGELOG
CHANGED
|
@@ -387,9 +387,16 @@ v1.11.0:
|
|
|
387
387
|
v1.12.0:
|
|
388
388
|
date:
|
|
389
389
|
changes:
|
|
390
|
+
- 修复bug
|
|
391
|
+
1、修复 index.d.ts 中 module.d.ts 路径错误问题
|
|
392
|
+
2、修复SVG.toDataURL若干问题
|
|
393
|
+
* 未对data URI进行URL编码,遇到"#"/中文等字符导致出错的bug
|
|
394
|
+
* 使用固定 setTimeout(..., 100) 等待图片加载,复杂SVG在100ms内未渲染完成导致截图丢失的bug
|
|
390
395
|
- 优化改造
|
|
391
396
|
1、优化mergeOption,返回合并后的配置项
|
|
392
397
|
2、完善 skills/vislite-lib
|
|
398
|
+
3、去掉TS编译头部提示
|
|
399
|
+
4、优化assemble累加逻辑,避免每次都做toFixed格式化,统一在返回前格式化
|
|
393
400
|
- 新增功能
|
|
394
401
|
1、vislite-cli命令
|
|
395
402
|
* skills相关操作
|
package/lib/Canvas/index.es.js
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/******************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|
|
15
1
|
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
16
2
|
|
|
17
3
|
var extendStatics = function(d, b) {
|
|
@@ -605,13 +591,16 @@ function assemble (begin, end, step, count) {
|
|
|
605
591
|
return function () {
|
|
606
592
|
for (var i = 0; i < count; i++) {
|
|
607
593
|
if (val[i] + step < end) {
|
|
608
|
-
val[i] =
|
|
594
|
+
val[i] = val[i] + step;
|
|
609
595
|
break;
|
|
610
596
|
}
|
|
611
597
|
else if (i < count - 1) {
|
|
612
598
|
val[i] = begin;
|
|
613
599
|
}
|
|
614
600
|
}
|
|
601
|
+
for (var k = 0; k < val.length; k++) {
|
|
602
|
+
val[k] = +val[k].toFixed(7);
|
|
603
|
+
}
|
|
615
604
|
return val;
|
|
616
605
|
};
|
|
617
606
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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 a%=2*Math.PI,_>=1.999999*Math.PI||_<=1.999999*-Math.PI?_=2*Math.PI:_%=2*Math.PI,function(t,i,e,r,o,s,a){i<0&&(t+=i,i*=-1);var _,h=[];_=n(0,0,t,o,0),h[0]=_[0],h[1]=_[1],_=n(0,0,i,_[0],_[1]),h[2]=_[0],h[3]=_[1],_=n(0,0,t,s,0),h[4]=_[0],h[5]=_[1],_=n(0,0,i,_[0],_[1]),h[6]=_[0],h[7]=_[1],a(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(_,h),t.arc(e,r,o,n,a,!1),"round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!0):"-round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!1):t.lineTo(f,g),t.arc(e,r,s,a,n,!0),"round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!1):t.lineTo(_,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},a=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)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="",a=0;a<i.length;a++)t.measureText(s+i[a]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[a]):a==i.length-1?(o+=1,r(s+i[a],(o-.5)*n)):s+=i[a];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",this.painter.shadowColor="black"}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 a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,n,o,s){var a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,n,o,s){var a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.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||a(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||a(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||(a(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(a){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)a({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),a({});else{var _=new Image;_.onload=function(){s.painter.drawImage(_,i,e,n,r),a({})},_.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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};function u(t,i){for(var e in t)i[e]=t[e];return i}var c=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(t){return void 0===t&&(t={}),this.config(u(t,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),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=u(e,{scale:2,region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,a=null,_=i;_._vislite_canvas_?(s=_._vislite_canvas_[0],a=_._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(a=document.createElement("canvas")),_._vislite_canvas_=[s,a],i.setAttribute("vislite","Canvas"));for(var h=[a,s],l=0;l<h.length;l++){var p=h[l];p&&(p.style.width=n+"px",p.setAttribute("width",(1===l?e.scale:1)*n+""),p.style.height=r+"px",p.setAttribute("height",(1===l?e.scale:1)*r+""))}return(o=t.call(this,s,a,{willReadFrequently:e.willReadFrequently},e.scale)||this).__canvas=s,o.__el=i,o.painter.scale(e.scale,e.scale),o}return i(e,t),e.prototype.toDataURL=function(t,i){var e=this;return void 0===t&&(t="image/png"),void 0===i&&(i=.92),new Promise((function(n){n(e.__canvas.toDataURL(t,i))}))},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}(c);export{f as default};
|
|
1
|
+
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 a%=2*Math.PI,_>=1.999999*Math.PI||_<=1.999999*-Math.PI?_=2*Math.PI:_%=2*Math.PI,function(t,i,e,r,o,s,a){i<0&&(t+=i,i*=-1);var _,h=[];_=n(0,0,t,o,0),h[0]=_[0],h[1]=_[1],_=n(0,0,i,_[0],_[1]),h[2]=_[0],h[3]=_[1],_=n(0,0,t,s,0),h[4]=_[0],h[5]=_[1],_=n(0,0,i,_[0],_[1]),h[6]=_[0],h[7]=_[1],a(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(_,h),t.arc(e,r,o,n,a,!1),"round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!0):"-round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!1):t.lineTo(f,g),t.arc(e,r,s,a,n,!0),"round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!1):t.lineTo(_,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},a=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)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="",a=0;a<i.length;a++)t.measureText(s+i[a]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[a]):a==i.length-1?(o+=1,r(s+i[a],(o-.5)*n)):s+=i[a];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",this.painter.shadowColor="black"}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 a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,n,o,s){var a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,n,o,s){var a=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=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.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||a(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||a(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||(a(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(a){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)a({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),a({});else{var _=new Image;_.onload=function(){s.painter.drawImage(_,i,e,n,r),a({})},_.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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};function u(t,i){for(var e in t)i[e]=t[e];return i}var c=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;break}o<n-1&&(r[o]=t)}for(var s=0;s<r.length;s++)r[s]=+r[s].toFixed(7);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(t){return void 0===t&&(t={}),this.config(u(t,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),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=u(e,{scale:2,region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,a=null,_=i;_._vislite_canvas_?(s=_._vislite_canvas_[0],a=_._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(a=document.createElement("canvas")),_._vislite_canvas_=[s,a],i.setAttribute("vislite","Canvas"));for(var h=[a,s],l=0;l<h.length;l++){var p=h[l];p&&(p.style.width=n+"px",p.setAttribute("width",(1===l?e.scale:1)*n+""),p.style.height=r+"px",p.setAttribute("height",(1===l?e.scale:1)*r+""))}return(o=t.call(this,s,a,{willReadFrequently:e.willReadFrequently},e.scale)||this).__canvas=s,o.__el=i,o.painter.scale(e.scale,e.scale),o}return i(e,t),e.prototype.toDataURL=function(t,i){var e=this;return void 0===t&&(t="image/png"),void 0===i&&(i=.92),new Promise((function(n){n(e.__canvas.toDataURL(t,i))}))},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}(c);export{f as default};
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/******************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|
|
15
1
|
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
16
2
|
|
|
17
3
|
var extendStatics = function(d, b) {
|
|
@@ -605,13 +591,16 @@ function assemble (begin, end, step, count) {
|
|
|
605
591
|
return function () {
|
|
606
592
|
for (var i = 0; i < count; i++) {
|
|
607
593
|
if (val[i] + step < end) {
|
|
608
|
-
val[i] =
|
|
594
|
+
val[i] = val[i] + step;
|
|
609
595
|
break;
|
|
610
596
|
}
|
|
611
597
|
else if (i < count - 1) {
|
|
612
598
|
val[i] = begin;
|
|
613
599
|
}
|
|
614
600
|
}
|
|
601
|
+
for (var k = 0; k < val.length; k++) {
|
|
602
|
+
val[k] = +val[k].toFixed(7);
|
|
603
|
+
}
|
|
615
604
|
return val;
|
|
616
605
|
};
|
|
617
606
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
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,_,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,n,r,o,s,_){i<0&&(t+=i,i*=-1);var a,h=[];a=e(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=e(0,0,i,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=e(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=e(0,0,i,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+i,h[0]+n,h[1]+r,h[4]+n,h[5]+r,h[2]+n,h[3]+r,h[6]+n,h[7]+r,.5*(s-o))}(_,a,n,r,o,s,(function(e,_,a,h,l,p,u,f,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),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*(a+l),.5*(h+p),y,e,e-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,e,e-Math.PI,!1):t.lineTo(a,h)})),"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 a(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 h=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=a("special"),this.__initConfig=a("init"),this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left",this.painter.shadowColor="black"}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 a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,r,o,s){var a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,r,o,s){var a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.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 a=new Image;a.onload=function(){s.painter.drawImage(a,i,e,n,r),_({})},a.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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};var 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 h(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(t){return void 0===t&&(t={}),this.config(function(t,i){for(var e in t)i[e]=t[e];return i}(t,a())),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}(h);export{p as default};
|
|
1
|
+
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,_,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,n,r,o,s,_){i<0&&(t+=i,i*=-1);var a,h=[];a=e(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=e(0,0,i,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=e(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=e(0,0,i,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+i,h[0]+n,h[1]+r,h[4]+n,h[5]+r,h[2]+n,h[3]+r,h[6]+n,h[7]+r,.5*(s-o))}(_,a,n,r,o,s,(function(e,_,a,h,l,p,u,f,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),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*(a+l),.5*(h+p),y,e,e-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,e,e-Math.PI,!1):t.lineTo(a,h)})),"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 a(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 h=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=a("special"),this.__initConfig=a("init"),this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left",this.painter.shadowColor="black"}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 a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,r,o,s){var a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,r,o,s){var a=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,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),n(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.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 a=new Image;a.onload=function(){s.painter.drawImage(a,i,e,n,r),_({})},a.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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};var 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 h(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;break}o<n-1&&(r[o]=t)}for(var s=0;s<r.length;s++)r[s]=+r[s].toFixed(7);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(t){return void 0===t&&(t={}),this.config(function(t,i){for(var e in t)i[e]=t[e];return i}(t,a())),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}(h);export{p as default};
|
package/lib/SVG/index.es.js
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/******************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|
|
15
1
|
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
16
2
|
|
|
17
3
|
var extendStatics = function(d, b) {
|
|
@@ -652,22 +638,31 @@ var SVG = (function (_super) {
|
|
|
652
638
|
}
|
|
653
639
|
SVG.prototype.toDataURL = function () {
|
|
654
640
|
var _this = this;
|
|
655
|
-
return new Promise(function (resolve) {
|
|
641
|
+
return new Promise(function (resolve, reject) {
|
|
656
642
|
var width = _this.__el.clientWidth, height = _this.__el.clientHeight;
|
|
657
643
|
var img = document.createElement('img');
|
|
658
644
|
img.setAttribute('width', width + "");
|
|
659
645
|
img.setAttribute('height', height + "");
|
|
660
|
-
var
|
|
646
|
+
var innerSVG = _this.__svg.innerHTML.replace(/"/g, "'");
|
|
647
|
+
var base64_svg = "data:image/svg+xml;charset=utf-8," + encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='" + width + "' height='" + height + "'>" + innerSVG + "</svg>");
|
|
661
648
|
img.setAttribute('src', base64_svg);
|
|
662
|
-
|
|
649
|
+
img.onload = function () {
|
|
663
650
|
var canvas = document.createElement('canvas');
|
|
664
651
|
canvas.setAttribute('width', width + "");
|
|
665
652
|
canvas.setAttribute('height', height + "");
|
|
666
653
|
var painter = canvas.getContext('2d');
|
|
667
654
|
if (painter)
|
|
668
655
|
painter.drawImage(img, 0, 0, width, height);
|
|
669
|
-
|
|
670
|
-
|
|
656
|
+
try {
|
|
657
|
+
resolve(canvas.toDataURL());
|
|
658
|
+
}
|
|
659
|
+
catch (e) {
|
|
660
|
+
reject(e);
|
|
661
|
+
}
|
|
662
|
+
};
|
|
663
|
+
img.onerror = function (e) {
|
|
664
|
+
reject(e);
|
|
665
|
+
};
|
|
671
666
|
});
|
|
672
667
|
};
|
|
673
668
|
return SVG;
|
package/lib/SVG/index.es.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},t(r,e)};"function"==typeof SuppressedError&&SuppressedError;var r=["href","title","show","type","role","actuate"],e=function(t,r){o(t,"stroke-dasharray",r.lineDash.join(",")),o(t,"stroke-width",r.lineWidth+""),o(t,"stroke-linecap",r.lineCap+""),o(t,"stroke-linejoin",r.lineJoin+"")};function i(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var n=function(t,e,i){r.indexOf(e)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+e,i+""):t.setAttribute(e,i+"")},o=n;function s(t,r){e(t,r),n(t,"stroke",r.strokeStyle),n(t,"fill",r.fillStyle)}function a(t,r){n(t,"fill",r.fillStyle)}function h(t,r){e(t,r),n(t,"stroke",r.strokeStyle),n(t,"fill","none")}var _=function(t,r,e,i,n){var o=Math.cos(e),s=Math.sin(e);return[+((i-t)*o-(n-r)*s+t).toFixed(7),+((i-t)*s+(n-r)*o+r).toFixed(7)]};var u=function(t){var r=t.getElementsByTagName("defs");if(r.length<=0){var e=i("defs");return t.appendChild(e),e}return r[0]},f=function(t,r,e,i,n){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");o(t,"dy",{top:.5*r.fontSize,middle:0,bottom:.5*-r.fontSize}[r.textBaseline]),function(t,r){for(var e in r)t.style[e]=r[e]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[r.textAlign],"dominant-baseline":"central","font-size":r.fontSize+"px","font-family":r.fontFamily}),o(t,"x",e),o(t,"y",i),"number"==typeof n&&o(t,"transform","rotate("+(n%=360)+","+e+","+i+")")},c=function(t,r,e,i){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");o(t,"cx",r),o(t,"cy",e),o(t,"r",i)},l=function(t,r){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");o(t,"d",r)},p=function(t,r,e,i,n,s){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");var a=[];if(Array.isArray(r.rectRadius)&&r.rectRadius.length>0)for(var h=0;h<4;h++)a.push.apply(a,r.rectRadius);s<0&&(i-=s*=-1),n<0&&(e-=n*=-1);var _="";a.length>=4?(_="M"+(e+a[0])+" "+i,_+="L"+(e+n-a[1])+" "+i,_+="A"+a[1]+" "+a[1]+" 0 0 1 "+(e+n)+" "+(i+a[1]),_+="L"+(e+n)+" "+(i+s-a[2]),_+="A"+a[2]+" "+a[2]+" 0 0 1 "+(e+n-a[2])+" "+(i+s),_+="L"+(e+a[3])+" "+(i+s),_+="A"+a[3]+" "+a[3]+" 0 0 1 "+e+" "+(i+s-a[3]),_+="L"+e+" "+(i+a[0]),_+="A"+a[0]+" "+a[0]+" 0 0 1 "+(e+a[0])+" "+i):(_="M"+e+" "+i,_+="L"+(e+n)+" "+i,_+="L"+(e+n)+" "+(i+s),_+="L"+e+" "+(i+s),_+="Z"),o(t,"d",_)},d=function(t,r,e,i,n,s,a,h){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(a=a/180*Math.PI,h=h/180*Math.PI,a%=2*Math.PI,n>s){var u=n;n=s,s=u}h>=1.999999*Math.PI||h<=1.999999*-Math.PI?h=1.999999*Math.PI:h%=2*Math.PI,function(t,r,e,i,n,o,s){r<0&&(t+=r,r*=-1);var a,h=[];a=_(0,0,t,n,0),h[0]=a[0],h[1]=a[1],a=_(0,0,r,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=_(0,0,t,o,0),h[4]=a[0],h[5]=a[1],a=_(0,0,r,a[0],a[1]),h[6]=a[0],h[7]=a[1],s(t,t+r,h[0]+e,h[1]+i,h[4]+e,h[5]+i,h[2]+e,h[3]+i,h[6]+e,h[7]+i,.5*(o-n))}(a,h,e,i,n,s,(function(e,i,a,h,_,u,f,c,l,p,d){var y=i-e>Math.PI?1:0,m="M"+a+" "+h;d<0&&(d=-d),m+="A"+n+" "+n+" 0 "+y+" 1 "+f+" "+c,"round"==r.arcEndCap?m+="A"+d+" "+d+" 0 1 0 "+l+" "+p:"-round"==r.arcEndCap?m+="A"+d+" "+d+" 0 1 1 "+l+" "+p:m+="L"+l+" "+p,m+="A"+s+" "+s+" 0 "+y+" 0 "+_+" "+u,"round"==r.arcStartCap?m+="A"+d+" "+d+" 0 1 0 "+a+" "+h:"-round"==r.arcStartCap?m+="A"+d+" "+d+" 0 1 1 "+a+" "+h:m+="L"+a+" "+h,"butt"==r.arcStartCap&&(m+="Z"),o(t,"d",m)}))};function y(t,r,e,i,n){var o=Math.cos(e),s=Math.sin(e);return[(i-t)*o-(n-r)*s+t,(i-t)*s+(n-r)*o+r]}var m=function(t,r){var e={value:function(){return"url(#"+r+")"},setColor:function(r,n){var s=i("stop");return t.appendChild(s),o(s,"offset",100*r+"%"),o(s,"style","stop-color:"+n+";"),e}};return e};var g=function(){function t(t){this.name="SVG",this.__config={fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]},this.__path="",this.__currentPosition=[],this.__transform_history=[],this.__transform_current="",this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[t];for(var r in t)this.__config[r]=t[r];return this},t.prototype.reset=function(t){return void 0===t&&(t={}),this.config(function(t,r){for(var e in t)r[e]=t[e];return r}(t,{fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]})),this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,r){return r=r||this.__svg,"string"==typeof t&&(t=i(t)),r.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,r){var e=t;if("string"==typeof t&&(e={text:"text",path:"path",arc:"path",circle:"circle",rect:"path"}[t]||""),""==e)throw new Error("Unsupported drawing method:"+t);return this.appendEl(e,r)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,e){return r.indexOf(e)>-1&&(e="xlink:"+e),t.getAttribute(e)}(this.__useEl,t);for(var e in t)o(this.__useEl,e,t[e]);return this},t.prototype.fillText=function(t,r,e,i){return void 0===i&&(i=0),f(this.__useEl,this.__config,r,e,i),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,a(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,r,e,i){return void 0===i&&(i=0),f(this.__useEl,this.__config,r,e,i),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,h(this.__useEl,this.__config),this},t.prototype.fullText=function(t,r,e,i){return void 0===i&&(i=0),f(this.__useEl,this.__config,r,e,i),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,s(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,r,e,i,n,o){return d(this.__useEl,this.__config,t,r,e,i,n,o),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,r,e,i,n,o){return d(this.__useEl,this.__config,t,r,e,i,n,o),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,r,e,i,n,o){return d(this.__useEl,this.__config,t,r,e,i,n,o),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,r,e,i){return p(this.__useEl,this.__config,t,r,e,i),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,r,e,i){return p(this.__useEl,this.__config,t,r,e,i),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,r,e,i){return p(this.__useEl,this.__config,t,r,e,i),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,r){return this.__currentPosition=[t,r],this.__path+="M"+t+" "+r,this},t.prototype.lineTo=function(t,r){return this.__currentPosition=[t,r],this.__path+=(""==this.__path?"M":"L")+t+" "+r,this},t.prototype.fill=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.stroke=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.full=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.save=function(){return this.__transform_history.push(this.__transform_current),this},t.prototype.restore=function(){return this.__transform_history.length>0&&(this.__transform_current=this.__transform_history.pop()),this},t.prototype.arc=function(t,r,e,i,n){var o=y(t,r,i/180*Math.PI,t+e,r),s=y(t,r,(i+n)/180*Math.PI,t+e,r);return""==this.__path?this.__path+="M"+o[0]+","+o[1]:o[0]==this.__currentPosition[0]&&o[1]==this.__currentPosition[1]||(this.__path+="L"+o[0]+","+o[1]),this.__path+="A"+e+","+e+" 0 "+(n>180||n<-180?1:0)+","+(n>0?1:0)+" "+s[0]+","+s[1],this},t.prototype.quadraticCurveTo=function(t,r,e,i){return this.__path+="Q"+t+" "+r+","+e+" "+i,this},t.prototype.bezierCurveTo=function(t,r,e,i,n,o){return this.__path+="C"+t+" "+r+","+e+" "+i+","+n+" "+o,this},t.prototype.bind=function(t,r){return this.__useEl.addEventListener(t,(function(t){r.call(this,t,this)}),!1),this},t.prototype.createLinearGradient=function(t,r,e,n){return function(t,r,e,n,s){var a=u(t),h="visliteLg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),_=i("linearGradient");return a.appendChild(_),o(_,"id",h),o(_,"x1",r+"%"),o(_,"y1",e+"%"),o(_,"x2",n+"%"),o(_,"y2",s+"%"),m(_,h)}(this.__svg,t,r,e,n)},t.prototype.createRadialGradient=function(t,r,e){return function(t,r,e,n){var s=u(t),a="visliteRg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),h=i("radialGradient");return s.appendChild(h),o(h,"id",a),o(h,"cx",r+"%"),o(h,"cy",e+"%"),o(h,"r",n+"%"),m(h,a)}(this.__svg,t,r,e)},t.prototype.translate=function(t,r){return this.__transform_current+=" translate("+t+","+r+")",this},t.prototype.rotate=function(t){return this.__transform_current+=" rotate("+t+")",this},t.prototype.install=function(t){var r=this,e=function(e){if(e in i)throw new Error("VISLite SVG:Method already exists and cannot be overwritten.");i[e]=function(){for(var i=[],n=0;n<arguments.length;n++)i[n]=arguments[n];var o=t[e].apply(r,i);return null!=o?o:r}},i=this;for(var n in t)e(n);return this},t}(),v=function(r){function e(t){var e=this;if(!t)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var i,n=t.clientWidth,o=t.clientHeight,s=t;return s._vislite_svg_?i=s._vislite_svg_[0]:(i=document.createElementNS("http://www.w3.org/2000/svg","svg"),t.appendChild(i),i.setAttribute("width",n+""),i.setAttribute("height",o+""),i.setAttribute("viewBox","0 0 "+n+" "+o),s._vislite_svg_=[i],t.setAttribute("vislite","SVG")),(e=r.call(this,i)||this).__el=t,e}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=r}t(r,e),r.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,r),e.prototype.toDataURL=function(){var t=this;return new Promise((function(r){var e=t.__el.clientWidth,i=t.__el.clientHeight,n=document.createElement("img");n.setAttribute("width",e+""),n.setAttribute("height",i+"");var o="data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='"+e+"' height='"+i+"'>"+t.__svg.innerHTML.replace(/"/g,"'")+"</svg>";n.setAttribute("src",o),setTimeout((function(){var t=document.createElement("canvas");t.setAttribute("width",e+""),t.setAttribute("height",i+"");var o=t.getContext("2d");o&&o.drawImage(n,0,0,e,i),r(t.toDataURL())}),100)}))},e}(g);export{v as default};
|
|
1
|
+
var t=function(r,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&(t[e]=r[e])},t(r,e)};"function"==typeof SuppressedError&&SuppressedError;var r=["href","title","show","type","role","actuate"],e=function(t,r){o(t,"stroke-dasharray",r.lineDash.join(",")),o(t,"stroke-width",r.lineWidth+""),o(t,"stroke-linecap",r.lineCap+""),o(t,"stroke-linejoin",r.lineJoin+"")};function n(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var i=function(t,e,n){r.indexOf(e)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+e,n+""):t.setAttribute(e,n+"")},o=i;function s(t,r){e(t,r),i(t,"stroke",r.strokeStyle),i(t,"fill",r.fillStyle)}function a(t,r){i(t,"fill",r.fillStyle)}function h(t,r){e(t,r),i(t,"stroke",r.strokeStyle),i(t,"fill","none")}var _=function(t,r,e,n,i){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(i-r)*s+t).toFixed(7),+((n-t)*s+(i-r)*o+r).toFixed(7)]};var u=function(t){var r=t.getElementsByTagName("defs");if(r.length<=0){var e=n("defs");return t.appendChild(e),e}return r[0]},f=function(t,r,e,n,i){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");o(t,"dy",{top:.5*r.fontSize,middle:0,bottom:.5*-r.fontSize}[r.textBaseline]),function(t,r){for(var e in r)t.style[e]=r[e]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[r.textAlign],"dominant-baseline":"central","font-size":r.fontSize+"px","font-family":r.fontFamily}),o(t,"x",e),o(t,"y",n),"number"==typeof i&&o(t,"transform","rotate("+(i%=360)+","+e+","+n+")")},c=function(t,r,e,n){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");o(t,"cx",r),o(t,"cy",e),o(t,"r",n)},l=function(t,r){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");o(t,"d",r)},p=function(t,r,e,n,i,s){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");var a=[];if(Array.isArray(r.rectRadius)&&r.rectRadius.length>0)for(var h=0;h<4;h++)a.push.apply(a,r.rectRadius);s<0&&(n-=s*=-1),i<0&&(e-=i*=-1);var _="";a.length>=4?(_="M"+(e+a[0])+" "+n,_+="L"+(e+i-a[1])+" "+n,_+="A"+a[1]+" "+a[1]+" 0 0 1 "+(e+i)+" "+(n+a[1]),_+="L"+(e+i)+" "+(n+s-a[2]),_+="A"+a[2]+" "+a[2]+" 0 0 1 "+(e+i-a[2])+" "+(n+s),_+="L"+(e+a[3])+" "+(n+s),_+="A"+a[3]+" "+a[3]+" 0 0 1 "+e+" "+(n+s-a[3]),_+="L"+e+" "+(n+a[0]),_+="A"+a[0]+" "+a[0]+" 0 0 1 "+(e+a[0])+" "+n):(_="M"+e+" "+n,_+="L"+(e+i)+" "+n,_+="L"+(e+i)+" "+(n+s),_+="L"+e+" "+(n+s),_+="Z"),o(t,"d",_)},d=function(t,r,e,n,i,s,a,h){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(a=a/180*Math.PI,h=h/180*Math.PI,a%=2*Math.PI,i>s){var u=i;i=s,s=u}h>=1.999999*Math.PI||h<=1.999999*-Math.PI?h=1.999999*Math.PI:h%=2*Math.PI,function(t,r,e,n,i,o,s){r<0&&(t+=r,r*=-1);var a,h=[];a=_(0,0,t,i,0),h[0]=a[0],h[1]=a[1],a=_(0,0,r,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=_(0,0,t,o,0),h[4]=a[0],h[5]=a[1],a=_(0,0,r,a[0],a[1]),h[6]=a[0],h[7]=a[1],s(t,t+r,h[0]+e,h[1]+n,h[4]+e,h[5]+n,h[2]+e,h[3]+n,h[6]+e,h[7]+n,.5*(o-i))}(a,h,e,n,i,s,(function(e,n,a,h,_,u,f,c,l,p,d){var y=n-e>Math.PI?1:0,m="M"+a+" "+h;d<0&&(d=-d),m+="A"+i+" "+i+" 0 "+y+" 1 "+f+" "+c,"round"==r.arcEndCap?m+="A"+d+" "+d+" 0 1 0 "+l+" "+p:"-round"==r.arcEndCap?m+="A"+d+" "+d+" 0 1 1 "+l+" "+p:m+="L"+l+" "+p,m+="A"+s+" "+s+" 0 "+y+" 0 "+_+" "+u,"round"==r.arcStartCap?m+="A"+d+" "+d+" 0 1 0 "+a+" "+h:"-round"==r.arcStartCap?m+="A"+d+" "+d+" 0 1 1 "+a+" "+h:m+="L"+a+" "+h,"butt"==r.arcStartCap&&(m+="Z"),o(t,"d",m)}))};function y(t,r,e,n,i){var o=Math.cos(e),s=Math.sin(e);return[(n-t)*o-(i-r)*s+t,(n-t)*s+(i-r)*o+r]}var m=function(t,r){var e={value:function(){return"url(#"+r+")"},setColor:function(r,i){var s=n("stop");return t.appendChild(s),o(s,"offset",100*r+"%"),o(s,"style","stop-color:"+i+";"),e}};return e};var g=function(){function t(t){this.name="SVG",this.__config={fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]},this.__path="",this.__currentPosition=[],this.__transform_history=[],this.__transform_current="",this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[t];for(var r in t)this.__config[r]=t[r];return this},t.prototype.reset=function(t){return void 0===t&&(t={}),this.config(function(t,r){for(var e in t)r[e]=t[e];return r}(t,{fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]})),this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,r){return r=r||this.__svg,"string"==typeof t&&(t=n(t)),r.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,r){var e=t;if("string"==typeof t&&(e={text:"text",path:"path",arc:"path",circle:"circle",rect:"path"}[t]||""),""==e)throw new Error("Unsupported drawing method:"+t);return this.appendEl(e,r)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,e){return r.indexOf(e)>-1&&(e="xlink:"+e),t.getAttribute(e)}(this.__useEl,t);for(var e in t)o(this.__useEl,e,t[e]);return this},t.prototype.fillText=function(t,r,e,n){return void 0===n&&(n=0),f(this.__useEl,this.__config,r,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,a(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,r,e,n){return void 0===n&&(n=0),f(this.__useEl,this.__config,r,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,h(this.__useEl,this.__config),this},t.prototype.fullText=function(t,r,e,n){return void 0===n&&(n=0),f(this.__useEl,this.__config,r,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,s(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,r,e,n,i,o){return d(this.__useEl,this.__config,t,r,e,n,i,o),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,r,e,n,i,o){return d(this.__useEl,this.__config,t,r,e,n,i,o),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,r,e,n,i,o){return d(this.__useEl,this.__config,t,r,e,n,i,o),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,r,e){return c(this.__useEl,t,r,e),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,r,e,n){return p(this.__useEl,this.__config,t,r,e,n),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,r,e,n){return p(this.__useEl,this.__config,t,r,e,n),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,r,e,n){return p(this.__useEl,this.__config,t,r,e,n),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,r){return this.__currentPosition=[t,r],this.__path+="M"+t+" "+r,this},t.prototype.lineTo=function(t,r){return this.__currentPosition=[t,r],this.__path+=(""==this.__path?"M":"L")+t+" "+r,this},t.prototype.fill=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),a(this.__useEl,this.__config),this},t.prototype.stroke=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),h(this.__useEl,this.__config),this},t.prototype.full=function(){return l(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),s(this.__useEl,this.__config),this},t.prototype.save=function(){return this.__transform_history.push(this.__transform_current),this},t.prototype.restore=function(){return this.__transform_history.length>0&&(this.__transform_current=this.__transform_history.pop()),this},t.prototype.arc=function(t,r,e,n,i){var o=y(t,r,n/180*Math.PI,t+e,r),s=y(t,r,(n+i)/180*Math.PI,t+e,r);return""==this.__path?this.__path+="M"+o[0]+","+o[1]:o[0]==this.__currentPosition[0]&&o[1]==this.__currentPosition[1]||(this.__path+="L"+o[0]+","+o[1]),this.__path+="A"+e+","+e+" 0 "+(i>180||i<-180?1:0)+","+(i>0?1:0)+" "+s[0]+","+s[1],this},t.prototype.quadraticCurveTo=function(t,r,e,n){return this.__path+="Q"+t+" "+r+","+e+" "+n,this},t.prototype.bezierCurveTo=function(t,r,e,n,i,o){return this.__path+="C"+t+" "+r+","+e+" "+n+","+i+" "+o,this},t.prototype.bind=function(t,r){return this.__useEl.addEventListener(t,(function(t){r.call(this,t,this)}),!1),this},t.prototype.createLinearGradient=function(t,r,e,i){return function(t,r,e,i,s){var a=u(t),h="visliteLg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),_=n("linearGradient");return a.appendChild(_),o(_,"id",h),o(_,"x1",r+"%"),o(_,"y1",e+"%"),o(_,"x2",i+"%"),o(_,"y2",s+"%"),m(_,h)}(this.__svg,t,r,e,i)},t.prototype.createRadialGradient=function(t,r,e){return function(t,r,e,i){var s=u(t),a="visliteRg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),h=n("radialGradient");return s.appendChild(h),o(h,"id",a),o(h,"cx",r+"%"),o(h,"cy",e+"%"),o(h,"r",i+"%"),m(h,a)}(this.__svg,t,r,e)},t.prototype.translate=function(t,r){return this.__transform_current+=" translate("+t+","+r+")",this},t.prototype.rotate=function(t){return this.__transform_current+=" rotate("+t+")",this},t.prototype.install=function(t){var r=this,e=function(e){if(e in n)throw new Error("VISLite SVG:Method already exists and cannot be overwritten.");n[e]=function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var o=t[e].apply(r,n);return null!=o?o:r}},n=this;for(var i in t)e(i);return this},t}(),v=function(r){function e(t){var e=this;if(!t)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var n,i=t.clientWidth,o=t.clientHeight,s=t;return s._vislite_svg_?n=s._vislite_svg_[0]:(n=document.createElementNS("http://www.w3.org/2000/svg","svg"),t.appendChild(n),n.setAttribute("width",i+""),n.setAttribute("height",o+""),n.setAttribute("viewBox","0 0 "+i+" "+o),s._vislite_svg_=[n],t.setAttribute("vislite","SVG")),(e=r.call(this,n)||this).__el=t,e}return function(r,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=r}t(r,e),r.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(e,r),e.prototype.toDataURL=function(){var t=this;return new Promise((function(r,e){var n=t.__el.clientWidth,i=t.__el.clientHeight,o=document.createElement("img");o.setAttribute("width",n+""),o.setAttribute("height",i+"");var s=t.__svg.innerHTML.replace(/"/g,"'"),a="data:image/svg+xml;charset=utf-8,"+encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='"+n+"' height='"+i+"'>"+s+"</svg>");o.setAttribute("src",a),o.onload=function(){var t=document.createElement("canvas");t.setAttribute("width",n+""),t.setAttribute("height",i+"");var s=t.getContext("2d");s&&s.drawImage(o,0,0,n,i);try{r(t.toDataURL())}catch(t){e(t)}},o.onerror=function(t){e(t)}}))},e}(g);export{v as default};
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/******************************************************************************
|
|
2
|
-
Copyright (c) Microsoft Corporation.
|
|
3
|
-
|
|
4
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
5
|
-
purpose with or without fee is hereby granted.
|
|
6
|
-
|
|
7
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
8
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
10
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */
|
|
15
1
|
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
16
2
|
|
|
17
3
|
var extendStatics = function(d, b) {
|
package/lib/assemble/index.es.js
CHANGED
|
@@ -5,13 +5,16 @@ function assemble (begin, end, step, count) {
|
|
|
5
5
|
return function () {
|
|
6
6
|
for (var i = 0; i < count; i++) {
|
|
7
7
|
if (val[i] + step < end) {
|
|
8
|
-
val[i] =
|
|
8
|
+
val[i] = val[i] + step;
|
|
9
9
|
break;
|
|
10
10
|
}
|
|
11
11
|
else if (i < count - 1) {
|
|
12
12
|
val[i] = begin;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
for (var k = 0; k < val.length; k++) {
|
|
16
|
+
val[k] = +val[k].toFixed(7);
|
|
17
|
+
}
|
|
15
18
|
return val;
|
|
16
19
|
};
|
|
17
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function r(r,t,e,f){for(var n=[],o=0;o<f;o++)n[o]=r;return function(){for(var o=0;o<f;o++){if(n[o]+e<t){n[o]
|
|
1
|
+
function r(r,t,e,f){for(var n=[],o=0;o<f;o++)n[o]=r;return function(){for(var o=0;o<f;o++){if(n[o]+e<t){n[o]=n[o]+e;break}o<f-1&&(n[o]=r)}for(var a=0;a<n.length;a++)n[a]=+n[a].toFixed(7);return n}}export{r as default};
|
package/lib/index.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v1.12.0-alpha.
|
|
2
|
+
* VISLite JavaScript Library v1.12.0-alpha.1
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*/
|
|
5
5
|
(function (global, factory) {
|
|
@@ -585,20 +585,6 @@
|
|
|
585
585
|
return rulerArray;
|
|
586
586
|
}
|
|
587
587
|
|
|
588
|
-
/******************************************************************************
|
|
589
|
-
Copyright (c) Microsoft Corporation.
|
|
590
|
-
|
|
591
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
592
|
-
purpose with or without fee is hereby granted.
|
|
593
|
-
|
|
594
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
595
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
596
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
597
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
598
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
599
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
600
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
601
|
-
***************************************************************************** */
|
|
602
588
|
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
603
589
|
|
|
604
590
|
var extendStatics = function(d, b) {
|
|
@@ -1279,22 +1265,31 @@
|
|
|
1279
1265
|
}
|
|
1280
1266
|
SVG.prototype.toDataURL = function () {
|
|
1281
1267
|
var _this = this;
|
|
1282
|
-
return new Promise(function (resolve) {
|
|
1268
|
+
return new Promise(function (resolve, reject) {
|
|
1283
1269
|
var width = _this.__el.clientWidth, height = _this.__el.clientHeight;
|
|
1284
1270
|
var img = document.createElement('img');
|
|
1285
1271
|
img.setAttribute('width', width + "");
|
|
1286
1272
|
img.setAttribute('height', height + "");
|
|
1287
|
-
var
|
|
1273
|
+
var innerSVG = _this.__svg.innerHTML.replace(/"/g, "'");
|
|
1274
|
+
var base64_svg = "data:image/svg+xml;charset=utf-8," + encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='" + width + "' height='" + height + "'>" + innerSVG + "</svg>");
|
|
1288
1275
|
img.setAttribute('src', base64_svg);
|
|
1289
|
-
|
|
1276
|
+
img.onload = function () {
|
|
1290
1277
|
var canvas = document.createElement('canvas');
|
|
1291
1278
|
canvas.setAttribute('width', width + "");
|
|
1292
1279
|
canvas.setAttribute('height', height + "");
|
|
1293
1280
|
var painter = canvas.getContext('2d');
|
|
1294
1281
|
if (painter)
|
|
1295
1282
|
painter.drawImage(img, 0, 0, width, height);
|
|
1296
|
-
|
|
1297
|
-
|
|
1283
|
+
try {
|
|
1284
|
+
resolve(canvas.toDataURL());
|
|
1285
|
+
}
|
|
1286
|
+
catch (e) {
|
|
1287
|
+
reject(e);
|
|
1288
|
+
}
|
|
1289
|
+
};
|
|
1290
|
+
img.onerror = function (e) {
|
|
1291
|
+
reject(e);
|
|
1292
|
+
};
|
|
1298
1293
|
});
|
|
1299
1294
|
};
|
|
1300
1295
|
return SVG;
|
|
@@ -1831,13 +1826,16 @@
|
|
|
1831
1826
|
return function () {
|
|
1832
1827
|
for (var i = 0; i < count; i++) {
|
|
1833
1828
|
if (val[i] + step < end) {
|
|
1834
|
-
val[i] =
|
|
1829
|
+
val[i] = val[i] + step;
|
|
1835
1830
|
break;
|
|
1836
1831
|
}
|
|
1837
1832
|
else if (i < count - 1) {
|
|
1838
1833
|
val[i] = begin;
|
|
1839
1834
|
}
|
|
1840
1835
|
}
|
|
1836
|
+
for (var k = 0; k < val.length; k++) {
|
|
1837
|
+
val[k] = +val[k].toFixed(7);
|
|
1838
|
+
}
|
|
1841
1839
|
return val;
|
|
1842
1840
|
};
|
|
1843
1841
|
}
|
package/lib/index.umd.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v1.12.0-alpha.
|
|
2
|
+
* VISLite JavaScript Library v1.12.0-alpha.1
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*/
|
|
5
|
-
var t,i;t=this,i=function(){"use strict";var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,e,n,r,o){if(!(t<e))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=e;var s=this.__u*r,a=this.__u*o;return i/=e-t,n/=e-t,this.__MR=[2*i-2*n+s+a,3*n-3*i-2*s-a,s,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),e=i*i;return(i*e*this.__MR[0]+e*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 e,n,r=(i[1][1]-i[0][1])/(i[1][0]-i[0][0]);for(this.__HS.x[0]=i[0][0],e=1;e<i.length;e++){if(i[e][0]<=i[e-1][0])throw new Error("The point position should be increamented!");this.__HS.x[e]=i[e][0],n=e<i.length-1?i[e+1][1]>i[e][1]&&i[e-1][1]>i[e][1]||i[e+1][1]<i[e][1]&&i[e-1][1]<i[e][1]||i[e+1][1]==i[e][1]||i[e-1][1]==i[e][1]?0:(i[e+1][1]-i[e-1][1])/(i[e+1][0]-i[e-1][0]):(i[e][1]-i[e-1][1])/(i[e][0]-i[e-1][0]),this.__HS.h[e-1]=new t(.5*(1-this.__t)).setP(i[e-1][0],i[e-1][1],i[e][0],i[e][1],r,n),r=n}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}(),e=function(t,i){for(var e=[],n=0;n<4;n++)for(var r=0;r<i.length/4;r++)e[4*r+n]=t[n]*i[4*r]+t[n+4]*i[4*r+1]+t[n+8]*i[4*r+2]+t[n+12]*i[4*r+3];return e},n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r=function(){function t(t){void 0===t&&(t=n),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=n),this.__matrix4=t,this},t.prototype.move=function(t,i,n,r){return void 0===r&&(r=0),this.__matrix4=e(function(t,i,e,n){void 0===n&&(n=0);var r=Math.sqrt(i*i+e*e+n*n);return[1,0,0,0,0,1,0,0,0,0,1,0,i*t/r,e*t/r,n*t/r,1]}(t,i,n,r),this.__matrix4),this},t.prototype.rotate=function(t,i,n,r,o,s,a){var _=function(t,i,e,n,r,o){if("number"==typeof t&&"number"==typeof i){if("number"!=typeof e?(e=0,n=t,r=i,o=1):"number"==typeof n&&"number"==typeof r&&"number"==typeof o||(n=t,r=i,o=e,t=0,i=0,e=0),t==n&&i==r&&e==o)throw new Error("It's not a legitimate ray!");var s=Math.sqrt((n-t)*(n-t)+(r-i)*(r-i)),a=0!=s?(r-i)/s:1,_=0!=s?(n-t)/s:0,h=(n-t)*_+(r-i)*a,u=o-e,l=Math.sqrt(h*h+u*u),p=0!=l?u/l:1,f=0!=l?h/l:0;return[[a,p*_,_*f,0,-_,a*p,a*f,0,0,-f,p,0,i*_-t*a,e*f-t*_*p-i*a*p,-t*_*f-i*a*f-e*p,1],[a,-_,0,0,p*_,p*a,-f,0,_*f,a*f,p,0,t,i,e,1]]}throw new Error("a1 and b1 is required!")}(i,n,r,o,s,a);return this.__matrix4=e(e(e(_[1],function(t){var i=Math.sin(t),e=Math.cos(t);return[e,i,0,0,-i,e,0,0,0,0,1,0,0,0,0,1]}(t)),_[0]),this.__matrix4),this},t.prototype.scale=function(t,i,n,r,o,s){return void 0===r&&(r=0),void 0===o&&(o=0),void 0===s&&(s=0),this.__matrix4=e(function(t,i,e,n,r,o){return void 0===n&&(n=0),void 0===r&&(r=0),void 0===o&&(o=0),[t,0,0,0,0,i,0,0,0,0,e,0,n-n*t,r-r*i,o-o*e,1]}(t,i,n,r,o,s),this.__matrix4),this},t.prototype.multiply=function(t,i){return void 0===i&&(i=!1),this.__matrix4=i?e(this.__matrix4,t):e(t,this.__matrix4),this},t.prototype.use=function(t,i,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),e(this.__matrix4,[t,i,n,r])},t.prototype.value=function(){return this.__matrix4},t}();function o(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[(n-t)*o-(r-i)*s+t,(n-t)*s+(r-i)*o+i]}let s,a=[],_=13;function h(t,i,e){arguments.length<2&&(i=400),arguments.length<3&&(e=function(){});let n={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");let r=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return a.push({id:r,createTime:new Date,pauseTime:-1,pauseKeepTime:0,status:"running",tick:t,duration:i,callback:e}),n.start(),r},start:function(){if(!s)try{s=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){n.tick(),s&&(s=globalThis.requestAnimationFrame(t))})):setInterval(n.tick,_)}catch(t){s=setInterval(n.tick,_)}},tick:function(){let t,i,e,r,o,s,_,h=a;for(a=[],a.length=0,i=0;i<h.length;i++)o=h[i],t=o.createTime,e=o.tick,s=o.duration,r=o.callback,_=(+(new Date).valueOf()-t.valueOf()-o.pauseKeepTime)/s,_=_>1?1:_,"running"===o.status&&e(_),(_<1||"paused"===o.status)&&o.id?a.push(o):r(_);a.length<=0&&n.stop()},stop:function(){if(s){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(s):clearInterval(s)}catch(t){clearInterval(s)}s=null}}},r=n.timer((function(i){t(i)}),i,e);return{stop:function(){for(let t in a)a[t].id==r&&(a[t].id=void 0)},pause:function(){for(let t in a)a[t].id==r&&-1===a[t].pauseTime&&(a[t].pauseTime=new Date,a[t].status="paused")},resume:function(){for(let t in a)a[t].id==r&&-1!==a[t].pauseTime&&(a[t].pauseKeepTime+=(new Date).valueOf()-a[t].pauseTime.valueOf(),a[t].pauseTime=-1,a[t].status="running")}}}function u(t,i,e,n){if(t<i){var r=i;i=t,t=r}else if(t==i)return[t];var o=function(t){for(var i=t<100&&t>-100?10:.1,e=-1,n=t;10==i?n>=-100&&n<=100:n<=-100||n>=100;)e+=1,n*=i;if(10==i)return Math.pow(10,e);for(var r="0.",o=1;o<e;o++)r+="0";return+(r+"1")}(t-i),s=Math.ceil((t-i)*o/e),a=function(e){var n=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[s+e]||s+e)/o,r=Math.floor(i/n)*n,a=[];a.push(r);for(var _=1;a[a.length-1]<t;_++)a.push(r+n*_);return a},_=a(0),h=function(){for(var t=[],e=_[_.length-1]-(null==n?void 0:n.max),r=0;r<_.length;r++)r+1<_.length&&_[r+1]-e<i||t.push(_[r]-e);return t},u=function(){for(var i=[],e=_[0]-(null==n?void 0:n.min),r=0;r<_.length&&(i[r]=_[r]-e,!(t<=i[r]));r++);return i};if(n){if("max"in n&&"min"in n&&n.max>=t&&n.min<=i){var l=function(){if(_[0]>=n.min&&_[_.length-1]<=n.max)return!0;var t=h();if(t[0]>=n.min&&t[t.length-1]<=n.max)return _=t,!0;var i=u();return i[0]>=n.min&&i[t.length-1]<=n.max?(_=i,!0):void 0};if(l())return _;for(var p=1;p<100;p++){if(_=a(p),l())return _;if(_=a(-p),l())return _}}"max"in n&&n.max>=t?n.max<_[_.length-1]&&(_=h()):"min"in n&&n.min<=i&&n.min>_[0]&&(_=u())}for(var f=0;f<_.length;f++){var c=_[f]+"";/\./.test(c)&&(/9{7,}$/.test(c)?(c=c.replace(/9{7,}$/,""),_[f]=+(c.substring(0,c.length-1)+(+c[c.length-1]+1))):/0{7,}\d$/.test(c)&&(_[f]=+c.replace(/0{7,}\d$/,"")))}return _}var l=function(t,i){return l=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])},l(t,i)};function p(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function e(){this.constructor=t}l(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}var f=function(){return f=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},f.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var c=["href","title","show","type","role","actuate"],d=function(t,i){y(t,"stroke-dasharray",i.lineDash.join(",")),y(t,"stroke-width",i.lineWidth+""),y(t,"stroke-linecap",i.lineCap+""),y(t,"stroke-linejoin",i.lineJoin+"")};function g(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var v=function(t,i,e){c.indexOf(i)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+i,e+""):t.setAttribute(i,e+"")},y=v;function m(t,i){d(t,i),v(t,"stroke",i.strokeStyle),v(t,"fill",i.fillStyle)}function w(t,i){v(t,"fill",i.fillStyle)}function x(t,i){d(t,i),v(t,"stroke",i.strokeStyle),v(t,"fill","none")}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)]};function b(t,i,e,n,r,o,s){i<0&&(t+=i,i*=-1);var a,_=[];a=E(0,0,t,r,0),_[0]=a[0],_[1]=a[1],a=E(0,0,i,a[0],a[1]),_[2]=a[0],_[3]=a[1],a=E(0,0,t,o,0),_[4]=a[0],_[5]=a[1],a=E(0,0,i,a[0],a[1]),_[6]=a[0],_[7]=a[1],s(t,t+i,_[0]+e,_[1]+n,_[4]+e,_[5]+n,_[2]+e,_[3]+n,_[6]+e,_[7]+n,.5*(o-r))}var T=function(t){var i=t.getElementsByTagName("defs");if(i.length<=0){var e=g("defs");return t.appendChild(e),e}return i[0]},P=function(t,i,e,n,r){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");y(t,"dy",{top:.5*i.fontSize,middle:0,bottom:.5*-i.fontSize}[i.textBaseline]),function(t,i){for(var e in i)t.style[e]=i[e]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[i.textAlign],"dominant-baseline":"central","font-size":i.fontSize+"px","font-family":i.fontFamily}),y(t,"x",e),y(t,"y",n),"number"==typeof r&&y(t,"transform","rotate("+(r%=360)+","+e+","+n+")")},C=function(t,i,e,n){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");y(t,"cx",i),y(t,"cy",e),y(t,"r",n)},R=function(t,i){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");y(t,"d",i)},M=function(t,i,e,n,r,o){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)s.push.apply(s,i.rectRadius);o<0&&(n-=o*=-1),r<0&&(e-=r*=-1);var _="";s.length>=4?(_="M"+(e+s[0])+" "+n,_+="L"+(e+r-s[1])+" "+n,_+="A"+s[1]+" "+s[1]+" 0 0 1 "+(e+r)+" "+(n+s[1]),_+="L"+(e+r)+" "+(n+o-s[2]),_+="A"+s[2]+" "+s[2]+" 0 0 1 "+(e+r-s[2])+" "+(n+o),_+="L"+(e+s[3])+" "+(n+o),_+="A"+s[3]+" "+s[3]+" 0 0 1 "+e+" "+(n+o-s[3]),_+="L"+e+" "+(n+s[0]),_+="A"+s[0]+" "+s[0]+" 0 0 1 "+(e+s[0])+" "+n):(_="M"+e+" "+n,_+="L"+(e+r)+" "+n,_+="L"+(e+r)+" "+(n+o),_+="L"+e+" "+(n+o),_+="Z"),y(t,"d",_)},S=function(t,i,e,n,r,o,s,a){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(s=s/180*Math.PI,a=a/180*Math.PI,s%=2*Math.PI,r>o){var _=r;r=o,o=_}a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=1.999999*Math.PI:a%=2*Math.PI,b(s,a,e,n,r,o,(function(e,n,s,a,_,h,u,l,p,f,c){var d=n-e>Math.PI?1:0,g="M"+s+" "+a;c<0&&(c=-c),g+="A"+r+" "+r+" 0 "+d+" 1 "+u+" "+l,"round"==i.arcEndCap?g+="A"+c+" "+c+" 0 1 0 "+p+" "+f:"-round"==i.arcEndCap?g+="A"+c+" "+c+" 0 1 1 "+p+" "+f:g+="L"+p+" "+f,g+="A"+o+" "+o+" 0 "+d+" 0 "+_+" "+h,"round"==i.arcStartCap?g+="A"+c+" "+c+" 0 1 0 "+s+" "+a:"-round"==i.arcStartCap?g+="A"+c+" "+c+" 0 1 1 "+s+" "+a:g+="L"+s+" "+a,"butt"==i.arcStartCap&&(g+="Z"),y(t,"d",g)}))},A=function(t,i){var e={value:function(){return"url(#"+i+")"},setColor:function(i,n){var r=g("stop");return t.appendChild(r),y(r,"offset",100*i+"%"),y(r,"style","stop-color:"+n+";"),e}};return e},I=Object.prototype.toString;function k(t){if(null===t||"object"!=typeof t||"[object Object]"!=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":I.call(t)}(t))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function L(t,i){for(var e in t)i[e]=t[e];return i}function O(t,i){return function t(i,e){for(var n in e){var r=e[n];k(r)?(i[n]||(i[n]={}),t(i[n],e[n])):i[n]=r}}(t,i),t}var V=function(){function t(t){this.name="SVG",this.__config={fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]},this.__path="",this.__currentPosition=[],this.__transform_history=[],this.__transform_current="",this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[t];for(var i in t)this.__config[i]=t[i];return this},t.prototype.reset=function(t){return void 0===t&&(t={}),this.config(L(t,{fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]})),this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,i){return i=i||this.__svg,"string"==typeof t&&(t=g(t)),i.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,i){var e=t;if("string"==typeof t&&(e={text:"text",path:"path",arc:"path",circle:"circle",rect:"path"}[t]||""),""==e)throw new Error("Unsupported drawing method:"+t);return this.appendEl(e,i)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,i){return c.indexOf(i)>-1&&(i="xlink:"+i),t.getAttribute(i)}(this.__useEl,t);for(var i in t)y(this.__useEl,i,t[i]);return this},t.prototype.fillText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,w(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,x(this.__useEl,this.__config),this},t.prototype.fullText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,m(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,i){return this.__currentPosition=[t,i],this.__path+="M"+t+" "+i,this},t.prototype.lineTo=function(t,i){return this.__currentPosition=[t,i],this.__path+=(""==this.__path?"M":"L")+t+" "+i,this},t.prototype.fill=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.stroke=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.full=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.save=function(){return this.__transform_history.push(this.__transform_current),this},t.prototype.restore=function(){return this.__transform_history.length>0&&(this.__transform_current=this.__transform_history.pop()),this},t.prototype.arc=function(t,i,e,n,r){var s=o(t,i,n/180*Math.PI,t+e,i),a=o(t,i,(n+r)/180*Math.PI,t+e,i);return""==this.__path?this.__path+="M"+s[0]+","+s[1]:s[0]==this.__currentPosition[0]&&s[1]==this.__currentPosition[1]||(this.__path+="L"+s[0]+","+s[1]),this.__path+="A"+e+","+e+" 0 "+(r>180||r<-180?1:0)+","+(r>0?1:0)+" "+a[0]+","+a[1],this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__path+="Q"+t+" "+i+","+e+" "+n,this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__path+="C"+t+" "+i+","+e+" "+n+","+r+" "+o,this},t.prototype.bind=function(t,i){return this.__useEl.addEventListener(t,(function(t){i.call(this,t,this)}),!1),this},t.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=T(t),s="visliteLg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),a=g("linearGradient");return o.appendChild(a),y(a,"id",s),y(a,"x1",i+"%"),y(a,"y1",e+"%"),y(a,"x2",n+"%"),y(a,"y2",r+"%"),A(a,s)}(this.__svg,t,i,e,n)},t.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=T(t),o="visliteRg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),s=g("radialGradient");return r.appendChild(s),y(s,"id",o),y(s,"cx",i+"%"),y(s,"cy",e+"%"),y(s,"r",n+"%"),A(s,o)}(this.__svg,t,i,e)},t.prototype.translate=function(t,i){return this.__transform_current+=" translate("+t+","+i+")",this},t.prototype.rotate=function(t){return this.__transform_current+=" rotate("+t+")",this},t.prototype.install=function(t){var i=this,e=function(e){if(e in n)throw new Error("VISLite SVG: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}(),B=function(t){function i(i){var e=this;if(!i)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var n,r=i.clientWidth,o=i.clientHeight,s=i;return s._vislite_svg_?n=s._vislite_svg_[0]:(n=document.createElementNS("http://www.w3.org/2000/svg","svg"),i.appendChild(n),n.setAttribute("width",r+""),n.setAttribute("height",o+""),n.setAttribute("viewBox","0 0 "+r+" "+o),s._vislite_svg_=[n],i.setAttribute("vislite","SVG")),(e=t.call(this,n)||this).__el=i,e}return p(i,t),i.prototype.toDataURL=function(){var t=this;return new Promise((function(i){var e=t.__el.clientWidth,n=t.__el.clientHeight,r=document.createElement("img");r.setAttribute("width",e+""),r.setAttribute("height",n+"");var o="data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' width='"+e+"' height='"+n+"'>"+t.__svg.innerHTML.replace(/"/g,"'")+"</svg>";r.setAttribute("src",o),setTimeout((function(){var t=document.createElement("canvas");t.setAttribute("width",e+""),t.setAttribute("height",n+"");var o=t.getContext("2d");o&&o.drawImage(r,0,0,e,n),i(t.toDataURL())}),100)}))},i}(V),U=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},N=function(t,i,e,n,r,o,s,a){if(r>o){var _=r;r=o,o=_}return s%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,b(s,a,e,n,r,o,(function(s,a,_,h,u,l,p,f,c,d,g){g<0&&(g=-g),t.beginPath(),t.moveTo(_,h),t.arc(e,n,r,s,a,!1),"round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+d),g,a-Math.PI,a,!0):"-round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+d),g,a-Math.PI,a,!1):t.lineTo(c,d),t.arc(e,n,o,a,s,!0),"round"==i.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!1):t.lineTo(_,h)})),"butt"==i.arcStartCap&&t.closePath(),t},F=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},D=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)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 G(t,i,e,n,r){for(var o=0,s="",a=0;a<i.length;a++)t.measureText(s+i[a]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[a]):a==i.length-1?(o+=1,r(s+i[a],(o-.5)*n)):s+=i[a];return o*n}function H(t){var i={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt",rectRadius:[]},e={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?e:f(f({},i),e)}var z=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",this.painter.shadowColor="black"}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(),U(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(),U(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(),U(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,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.fillText(t,0,i)}));return this.painter.restore(),_},t.prototype.strokeTexts=function(t,i,e,n,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.strokeText(t,0,i)}));return this.painter.restore(),_},t.prototype.fullTexts=function(t,i,e,n,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.fillText(t,0,i),s.painter.strokeText(t,0,i)}));return this.painter.restore(),_},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,o){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||N(this.painter,this.__specialConfig,t,i,e,n,r,o).fill(),this},t.prototype.strokeArc=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||N(this.painter,this.__specialConfig,t,i,e,n,r,o).stroke(),this},t.prototype.fullArc=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||(N(this.painter,this.__specialConfig,t,i,e,n,r,o),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||F(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||F(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||(F(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||D(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||D(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||(D(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(a){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)a({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),a({});else{var _=new Image;_.onload=function(){s.painter.drawImage(_,i,e,n,r),a({})},_.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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}();function q(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}}var X=function(t,i){var e={value:function(){return t},setColor:function(n,r){return t.addColorStop(i?i(n):n,r),e}};return e},j=function(t){function i(i,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=t.call(this,i,n,e?new z(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=q(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return p(i,t),i.prototype.config=function(t){for(var i in t)this.useConfig(i,t[i]);return this},i.prototype.reset=function(t){return void 0===t&&(t={}),this.config(L(t,H())),this},i.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},i.prototype.onlyView=function(t){return this.__onlyView=t,this},i.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},i.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()}))}))},i.prototype.textWidth=function(t){this.painter.save(),U(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},i.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},i.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},i.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r);return X(o)}(this.painter,t,i,e,n)},i.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n);return X(r)}(this.painter,t,i,e)},i.prototype.createConicGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createConicGradient(n,i,e);return X(o,r?function(t){return r/(2*Math.PI)*t}:void 0)}(this.painter,t,i,e,n)},i.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]+")"},i}(z),W=function(t){function i(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=L(e,{scale:2,region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,a=null,_=i;_._vislite_canvas_?(s=_._vislite_canvas_[0],a=_._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(a=document.createElement("canvas")),_._vislite_canvas_=[s,a],i.setAttribute("vislite","Canvas"));for(var h=[a,s],u=0;u<h.length;u++){var l=h[u];l&&(l.style.width=n+"px",l.setAttribute("width",(1===u?e.scale:1)*n+""),l.style.height=r+"px",l.setAttribute("height",(1===u?e.scale:1)*r+""))}return(o=t.call(this,s,a,{willReadFrequently:e.willReadFrequently},e.scale)||this).__canvas=s,o.__el=i,o.painter.scale(e.scale,e.scale),o}return p(i,t),i.prototype.toDataURL=function(t,i){var e=this;return void 0===t&&(t="image/png"),void 0===i&&(i=.92),new Promise((function(n){n(e.__canvas.toDataURL(t,i))}))},i.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},i}(j),Y=function(t,i,e){var n=t.createShader(i);if(null==n)throw new Error("Unable to create shader!");if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(n));return n},$=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,i){return this.program=function(t,i,e){var n=Y(t,t.VERTEX_SHADER,i),r=Y(t,t.FRAGMENT_SHADER,e),o=t.createProgram();if(t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(o));return o}(this.__painter,t,i),this},t}(),J=function(){function t(t,i,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[i],this.__texture=function(t,i,e){var n=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(i,n),n}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,i,e,n,r,o){t.texImage2D(i,e,n,n,r,o)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,i,e){return function(t,i,e,n,r,o,s,a,_){for(var h,u=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],l=0;l<u.length;l++)o[l]&&(h=u[l],t.texImage2D(h,e,n,s,a,0,n,r,null),t.bindTexture(i,_),t.texImage2D(h,e,n,n,r,o[l]));t.generateMipmap(i)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,i,e,this.__texture),this},t}(),Z=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,n){var r=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(r,i,n)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,i,e,n){return void 0===n&&(n=0),function(t,i,e,n,r,o,s){t.vertexAttribPointer(i,e,n,s,r,o),t.enableVertexAttribArray(i)}(this.__painter,t,i,this.__painter.FLOAT,e*this.__fsize,n*this.__fsize,!1),this},t}(),K=function(t,i,e,n){var r=Math.cos(t),o=Math.sin(t);return[i*r-e*o,i*o+e*r,n]},Q=function(){function t(t,i){void 0===t&&(t=7),void 0===i&&(i=[107,36]),this.name="Eoap",this.__scale=t,this.__center=i}return t.prototype.use=function(t,i){var e,n,r,o,s,a,_=(e=(360-i)/180*Math.PI,n=100*this.__scale,r=0,o=0,s=Math.cos(e),a=Math.sin(e),[o*a+n*s,r,o*s-n*a]);return _=K(t/180*Math.PI,_[0],_[1],_[2]),_=K((90-this.__center[0])/180*Math.PI,_[0],_[1],_[2]),_=function(t,i,e,n){var r=Math.cos(t),o=Math.sin(t);return[i,e*r-n*o,e*o+n*r]}((90-this.__center[1])/180*Math.PI,_[0],_[1],_[2]),[-_[0],_[1],_[2]]},t}(),tt=function(t,i){void 0===t&&(t=7),void 0===i&&(i=[107,36]),this.name="Mercator";var e=100*t*Math.PI/180,n=e*i[0],r=-1*e*i[1];this.use=function(t,i){return[.8*(e*t-n),-1*e*i-r,0]}};function it(t){for(var i=null,e=null,n=null,r=null,o=function(t){for(var o=0;o<t.length;o++)for(var s=0;s<t[o].length;s++){var a=t[o][s][0],_=t[o][s][1];(null==i||i>a)&&(i=a),(null==e||e<a)&&(e=a),(null==n||n>_)&&(n=_),(null==r||r<_)&&(r=_)}},s=t.features,a=0;a<s.length;a++)if("Polygon"==s[a].geometry.type)o(s[a].geometry.coordinates);else if("MultiPolygon"==s[a].geometry.type)for(var _=0;_<s[a].geometry.coordinates.length;_++)o(s[a].geometry.coordinates[_]);return[i,e,n,r]}function et(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=null,n=null,r=null,o=null,s=0,a=t;s<a.length;s++){var _=it(a[s]),h=_[0],u=_[1],l=_[2],p=_[3];(null==e||h<e)&&(e=h),(null==n||u>n)&&(n=u),(null==r||l<r)&&(r=l),(null==o||p>o)&&(o=p)}return[e,n,r,o]}var nt=function(){function t(t){void 0===t&&(t={}),this.name="MapCoordinate",this.__config=L(t,{api:"Mercator",width:400,height:300,left:0,top:0})}return t.prototype.$$updateMap=function(){var t=this.__boundary,i=t[0],e=t[1],n=t[2],r=t[3];if("Eoap"==this.__config.api){var o=.836*this.__config.width/(e-i),s=.557*this.__config.height/(r-n);this.__map=new Q(o<s?o:s,[.5*(i+e)*.9778,.5*(n+r)*1.025])}else{if("Mercator"!=this.__config.api)throw new Error("Unexpected API types:"+this.__config.api);o=.72*this.__config.width/(e-i),s=.575*this.__config.height/(r-n),this.__map=new tt(o<s?o:s,[.5*(i+e),.5*(n+r)])}},t.prototype.setConfig=function(t){return O(this.__config,t),this.$$updateMap(),this},t.prototype.setGeos=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return this.__boundary=et.apply(void 0,t),this.$$updateMap(),this},t.prototype.use=function(t,i){if(this.__map){var e=this.__map.use(t,i);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}(),rt=function(){function t(t){void 0===t&&(t={}),this.name="Tree",this.__config=L(t,{root:function(t){return t},children:function(t){return t.children},id:function(t){return t.name}})}return t.prototype.use=function(t,i){return void 0===i&&(i={}),function(t,i,e){void 0===e&&(e={});var n=function(t,i){var e,n,r={},o=i.root(t);e=n=i.id(o),r[e]={data:o,pid:null,id:e,isOpen:!0,show:!0,deg:0,children:[]};var s=1;return function n(o,a){var _=i.children(o,t);s+=_?_.length:0;for(var h=0;_&&h<_.length;h++)e=i.id(_[h]),r[a].children.push(e),r[e]={data:_[h],pid:a,id:e,isOpen:!0,show:!0,deg:0,children:[]},n(_[h],e)}(o,e),{rid:n,value:r,num:s}}(t,i),r=n.value,o=n.rid;if(1==n.num)return r[o].left=.5,r[o].top=.5,r[o].show=!0,{deep:1,node:r,root:o,size:1};var s=[],a=0,_=0;for(var h in e[o]?(r[o].left=.5,r[o].top=.5,r[o].show=!0,a=1):function t(i,n){n>_&&(_=n);var o=0;if(!e[i.id])for(o=0;o<i.children.length;o++)t(r[i.children[o]],n+1);if(r[i.id].left=n+.5,0==o?(null==s[n]&&(s[n]=-.5),null==s[n-1]&&(s[n-1]=-.5),r[i.id].top=s[n]+1,s[n]+1+.5*(r[i.pid].children.length-1)-1<s[n-1]&&(r[i.id].top=s[n-1]+1-.5*(r[i.pid].children.length-1))):r[i.id].top=.5*(r[i.children[0]].top+r[i.children[o-1]].top),r[i.id].top<=s[n])var h=s[n]+1-r[i.id].top((function t(i,e){r[i].top+=h,s[e]<r[i].top&&(s[e]=r[i].top);for(var n=0;n<r[i].children.length;n++)t(r[i].children[n],e+1)}))(i.id,n);s[n]=r[i.id].top,r[i.id].top+.5>a&&(a=r[i.id].top+.5)}(r[o],0),e)e[h]&&(r[h].isOpen=!1,function t(i,e,n){for(var o=0;o<r[i].children.length;o++)r[r[i].children[o]].left=e,r[r[i].children[o]].top=n,r[r[i].children[o]].show=!1,t(r[i].children[o],e,n)}(h,r[h].left,r[h].top));return{node:r,root:o,size:a,deep:_+1}}(t,this.__config,i)},t}(),ot=function(t){function i(){var i=null!==t&&t.apply(this,arguments)||this;return i.name="TreeLayout",i.__option={offsetX:0,offsetY:0,duration:500,type:"plain",direction:"LR",x:100,y:100,width:100,height:100,radius:100},i.__noOpens={},i}return p(i,t),i.prototype.setOption=function(t){return L(t,this.__option),this},i.prototype.use=function(i,e){void 0===e&&(e={});var n=t.prototype.use.call(this,i,e);if(0!=this.__option.offsetX||0!=this.__option.offsetY)for(var r in n.node)if(!n.node[r].show){var s=0,a=r;do{a=n.node[a].pid,s++}while(!n.node[a].show);n.node[r].left+=this.__option.offsetX*s,n.node[r].top+=this.__option.offsetY*s}if("rect"==this.__option.type){if("LR"==this.__option.direction||"RL"==this.__option.direction){var _=this.__option.height/n.size,h=this.__option.width/(n.deep-1),u=this.__option.y-.5*this.__option.height,l="LR"==this.__option.direction?1:-1;for(var r in n.node)1==n.deep?(n.node[r].left=this.__option.x+.5*this.__option.width*l,n.node[r].top=this.__option.y):(n.node[r].left=this.__option.x+(n.node[r].left-.5)*h*l,n.node[r].top=n.node[r].top*_+u)}else if("TB"==this.__option.direction||"BT"==this.__option.direction)for(var r in _=this.__option.width/n.size,h=this.__option.height/(n.deep-1),u=this.__option.x-.5*this.__option.width,l="TB"==this.__option.direction?1:-1,n.node)if(n.node[r].deg="TB"==this.__option.direction?.5*Math.PI:-.5*Math.PI,1==n.deep)n.node[r].left=this.__option.x,n.node[r].top=this.__option.y+.5*this.__option.height*l;else{var p=n.node[r].left;n.node[r].left=n.node[r].top*_+u,n.node[r].top=this.__option.y+(p-.5)*h*l}}else if("circle"==this.__option.type){var f=this.__option.x,c=this.__option.y,d=2*Math.PI/n.size,g=this.__option.radius/(n.deep-1);for(var r in n.node)if(.5==n.node[r].left)n.node[r].left=f,n.node[r].top=c;else{var v=o(f,c,d*n.node[r].top,f+(n.node[r].left-.5)*g,c);n.node[r].deg=d*n.node[r].top,n.node[r].left=v[0],n.node[r].top=v[1]}}return n},i.prototype.bind=function(t,i,e){return void 0===e&&(e={}),this.__rback=i,this.__oralTree=t,this.__noOpens=e,this.__preTree=this.use(this.__oralTree,this.__noOpens),this.__rback(this.__preTree),this},i.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralTree=null,this.__preTree=null,this.__noOpens={},this},i.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralTree,this.__noOpens),e=JSON.parse(JSON.stringify(i));return h((function(n){if(t.__preTree)for(var r in e.node)(i.node[r].show||t.__preTree.node[r].show)&&(e.node[r].show=!0,e.node[r].left=t.__preTree.node[r].left+(i.node[r].left-t.__preTree.node[r].left)*n,e.node[r].top=t.__preTree.node[r].top+(i.node[r].top-t.__preTree.node[r].top)*n);t.__rback(e)}),this.__option.duration,(function(){t.__preTree=i,t.__rback(t.__preTree)})),this},i.prototype.closeNode=function(t){return this.__preTree?(this.__noOpens[t]=!0,this.doUpdate(),this):this},i.prototype.openNode=function(t){return this.__preTree?(this.__noOpens[t]=!1,this.doUpdate(),this):this},i.prototype.toggleNode=function(t){return this.__preTree?(this.__noOpens[t]=!this.__noOpens[t],this.doUpdate(),this):this},i}(rt),st=function(){function t(t){void 0===t&&(t={}),this.name="PieLayout",this.__option={cx:200,cy:200,radius:[50,100],duration:200},this.__hoverIndex=-1,this.__config=L(t,{name:function(t,i){return t.name},value:function(t,i){return t.value}})}return t.prototype.setOption=function(t){return L(t,this.__option),this},t.prototype.use=function(t,i){void 0===i&&(i=-1);for(var e={count:t.length,cx:this.__option.cx,cy:this.__option.cy,radius:this.__option.radius,hoverIndex:i,node:[]},n=0,r=[],s=[],a=0;a<t.length;a++)r[a]=this.__config.name(t[a],t),s[a]=this.__config.value(t[a],t),n+=s[a];var _,h=-.5*Math.PI;for(a=0;a<t.length;a++){_=s[a]/n*Math.PI*2;var u=[this.__option.radius[0]*(1+(this.__option.radius[0]>0&&i===a?-.1:0)),this.__option.radius[1]*(1+(i===a?.05:0))],l=h+.5*_,p=Math.max(this.__option.radius[0],this.__option.radius[1]),f=o(e.cx,e.cy,l,e.cx+p,e.cy),c=o(e.cx,e.cy,l,e.cx+p+15,e.cy),d=f[0]>e.cx?1:-1,g=[c[0]+20*d,c[1]],v=[c[0]+25*d,c[1]];e.node[a]={value:s[a],name:r[a],beginDeg:h,deg:_,isHover:i===a,radius:u,label:{line:[f,c,g],position:v,align:-1===d?"right":"left"}},h+=_}return e},t.prototype.bind=function(t,i){return this.__rback=i,this.__oralPie=t,this.__prePie=this.use(this.__oralPie,this.__hoverIndex),this.__rback(this.__prePie),this},t.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralPie=null,this.__prePie=null,this.__hoverIndex=-1,this},t.prototype.setHover=function(t){return this.__prePie&&this.__hoverIndex!==t?(this.__hoverIndex=t,this.doUpdate(),this):this},t.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralPie,this.__hoverIndex),e=JSON.parse(JSON.stringify(i));return h((function(n){if(t.__prePie)for(var r=0;r<e.count;r++)e.node[r].radius[0]=t.__prePie.node[r].radius[0]+(i.node[r].radius[0]-t.__prePie.node[r].radius[0])*n,e.node[r].radius[1]=t.__prePie.node[r].radius[1]+(i.node[r].radius[1]-t.__prePie.node[r].radius[1])*n;t.__rback(e)}),this.__option.duration,(function(){t.__prePie=i,t.__rback(t.__prePie)})),this},t}(),at=function(){function t(t){void 0===t&&(t={}),this.name="BarLayout",this.__option={x:50,y:350,width:400,height:300,category:"xAxis",duration:200},this.__config=L(t,{})}return t.prototype.setOption=function(t){return L(t,this.__option),this},t.prototype.use=function(t){var i={coordinate:{x:this.__option.x,y:this.__option.y,width:this.__option.width,height:this.__option.height,xAxis:{type:"xAxis"===this.__option.category?"category":"value",data:[]},yAxis:{type:"xAxis"===this.__option.category?"value":"category",data:[]}},node:[]},e=void 0,n=void 0;if(t.data)for(var r=0,o=t.data;r<o.length;r++){var s=o[r];(void 0===e||s>e)&&(e=s),(void 0===n||s<n)&&(n=s)}else{if(!t.value)throw new Error("No data leads to parsing errors");for(var a=0,_=t.value;a<_.length;a++)for(var h=0,l=_[a].data;h<l.length;h++)s=l[h],(void 0===e||s>e)&&(e=s),(void 0===n||s<n)&&(n=s)}var p,f,c=u(e||0,n||0,5);"xAxis"===this.__option.category?(i.coordinate.xAxis.data=t.category,i.coordinate.yAxis.data=c,p=this.__option.width,f=-1*this.__option.height):(i.coordinate.xAxis.data=c,i.coordinate.yAxis.data=t.category,p=this.__option.height,f=this.__option.width);var d=[],g=p/t.category.length,v=.9*g,y=.05*g;if(t.data)for(var m=0;m<t.data.length;m++)d.push([y+g*m,v]);else{var w=v/t.value.length,x=.9*w,E=.05*w;for(m=0;m<t.value[0].data.length;m++){d[m]=[];for(var b=0;b<t.value.length;b++)d[m].push([y+g*m+w*b+E,x])}}var T=f/(c[c.length-1]-c[0]),P=function(t){return T*(t-c[0])};if("xAxis"===this.__option.category)if(t.data){var C=[];for(m=0;m<t.data.length;m++)C.push({x:this.__option.x+d[m][0],y:this.__option.y,width:d[m][1],height:P(t.data[m]),value:t.data[m]});i.node.push({bar:C})}else for(b=0;b<t.value.length;b++){for(C=[],m=0;m<t.value[b].data.length;m++)C.push({x:this.__option.x+d[m][b][0],y:this.__option.y,width:d[m][b][1],height:P(t.value[b].data[m]),value:t.value[b].data[m]});i.node.push({name:t.value[b].name,bar:C})}else if(t.data){for(C=[],m=0;m<t.data.length;m++)C.push({x:this.__option.x,y:this.__option.y-this.__option.height+d[m][0],width:P(t.data[m]),height:d[m][1],value:t.data[m]});i.node.push({bar:C})}else for(b=0;b<t.value.length;b++){for(C=[],m=0;m<t.value[b].data.length;m++)C.push({x:this.__option.x,y:this.__option.y-this.__option.height+d[m][b][0],width:P(t.value[b].data[m]),height:d[m][b][1],value:t.value[b].data[m]});i.node.push({name:t.value[b].name,bar:C})}return i},t.prototype.bind=function(t,i){return this.__rback=i,this.__oralBar=t,this.__preBar=this.use(this.__oralBar),this.__rback(this.__preBar),this},t.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralBar=null,this.__preBar=null,this},t.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralBar),e=JSON.parse(JSON.stringify(i));return h((function(i){t.__preBar||t.__rback(e)}),this.__option.duration,(function(){t.__preBar=i,t.__rback(t.__preBar)})),this},t}(),_t={Cardinal:i,Hermite:t,Matrix4:r,rotate:o,move:function(t,i,e,n,r){var o=Math.sqrt(t*t+i*i);return[t*e/o+n,i*e/o+r]},scale:function(t,i,e,n,r){return[e*(n-t)+t,e*(r-i)+i]},getLoopColors:function(t,i,e){void 0===i&&(i=1);var n=e?e(i):["rgba(84,112,198,"+i+")","rgba(145,204,117,"+i+")","rgba(250,200,88,"+i+")","rgba(238,102,102,"+i+")","rgba(115,192,222,"+i+")","rgba(59,162,114,"+i+")","rgba(252,132,82,"+i+")","rgba(154,96,180,"+i+")","rgba(234,124,204,"+i+")"],r=[];if(t<=n.length)return n;if(t%n.length==0)for(var o=0;o<t/n.length;o++)r=r.concat(n);else{for(var s=1;s<t/n.length;s++)r=r.concat(n);if(t%n.length==1)r=r.concat(n[4]);else for(var a=0;a<t%n.length;a++)r=r.concat(n[a])}return r},animation:function(t,i,e){return h(t,i||400,e||function(){}).stop},ruler:u,SVG:B,Canvas:W,RawCanvas:j,getWebGLContext:function(t,i,e){if(void 0===i&&(i=1),!t)throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.");var n,r=t.clientWidth,o=t.clientHeight,s=t;return s._vislite_canvas_?n=s._vislite_canvas_:(n=document.createElement("canvas"),t.appendChild(n),s._vislite_canvas_=n,t.setAttribute("vislite","WebGL")),n.style.width=r+"px",n.setAttribute("width",r+""),n.style.height=o+"px",n.setAttribute("height",o+""),function(t,i,e,n){void 0===e&&(e={}),void 0===n&&(n="scaleToFill");for(var r=["experimental-webgl","webkit-3d","moz-webgl"],o=t.getContext("webgl",e),s=0;s<r.length;s++){try{o=t.getContext(r[s],e)}catch(t){}if(o)break}if(!o)throw new Error("Non canvas or browser does not support webgl.");var a=o.canvas.width,_=o.canvas.height,h=i,u=i;"aspectFit"==n?a>_?h*=_/a:_>a&&(u*=a/_):"aspectFill"==n&&(a>_?u*=a/_:_>a&&(h*=_/a));var l=a*h,p=_*u;return o.viewport(.5*(a-l),.5*(_-p),l,p),o.depthFunc(o.LEQUAL),o.enable(o.DEPTH_TEST),o}(n,i,{},e)},Shader:$,Texture:J,Buffer:Z,Eoap:Q,Mercator:tt,throttle:function(t,i){let e={time:200,keep:!1,opportunity:"end"};if(i)for(let t in i)e[t]=i[t];let n,r=!1,o=!1,s=!1;return function(){const i=this;if(n=arguments,r)o=!0,s=!0;else{"end"!=e.opportunity&&t.apply(i,n),r=!0;let a=setInterval((()=>{o?e.keep||t.apply(i,n):("begin"!=e.opportunity&&(s||"end"==e.opportunity)&&t.apply(i,n),r=!1,s=!1,clearInterval(a)),o=!1}),e.time)}}},assemble:q,MapCoordinate:nt,TreeLayout:ot,PieLayout:st,BarLayout:at,initOption:L,mergeOption:O};return _t},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite=i();
|
|
5
|
+
var t,i;t=this,i=function(){"use strict";var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,e,n,r,o){if(!(t<e))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=e;var s=this.__u*r,a=this.__u*o;return i/=e-t,n/=e-t,this.__MR=[2*i-2*n+s+a,3*n-3*i-2*s-a,s,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),e=i*i;return(i*e*this.__MR[0]+e*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 e,n,r=(i[1][1]-i[0][1])/(i[1][0]-i[0][0]);for(this.__HS.x[0]=i[0][0],e=1;e<i.length;e++){if(i[e][0]<=i[e-1][0])throw new Error("The point position should be increamented!");this.__HS.x[e]=i[e][0],n=e<i.length-1?i[e+1][1]>i[e][1]&&i[e-1][1]>i[e][1]||i[e+1][1]<i[e][1]&&i[e-1][1]<i[e][1]||i[e+1][1]==i[e][1]||i[e-1][1]==i[e][1]?0:(i[e+1][1]-i[e-1][1])/(i[e+1][0]-i[e-1][0]):(i[e][1]-i[e-1][1])/(i[e][0]-i[e-1][0]),this.__HS.h[e-1]=new t(.5*(1-this.__t)).setP(i[e-1][0],i[e-1][1],i[e][0],i[e][1],r,n),r=n}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}(),e=function(t,i){for(var e=[],n=0;n<4;n++)for(var r=0;r<i.length/4;r++)e[4*r+n]=t[n]*i[4*r]+t[n+4]*i[4*r+1]+t[n+8]*i[4*r+2]+t[n+12]*i[4*r+3];return e},n=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],r=function(){function t(t){void 0===t&&(t=n),this.name="Matrix4",this.__matrix4=t}return t.prototype.setValue=function(t){return void 0===t&&(t=n),this.__matrix4=t,this},t.prototype.move=function(t,i,n,r){return void 0===r&&(r=0),this.__matrix4=e(function(t,i,e,n){void 0===n&&(n=0);var r=Math.sqrt(i*i+e*e+n*n);return[1,0,0,0,0,1,0,0,0,0,1,0,i*t/r,e*t/r,n*t/r,1]}(t,i,n,r),this.__matrix4),this},t.prototype.rotate=function(t,i,n,r,o,s,a){var _=function(t,i,e,n,r,o){if("number"==typeof t&&"number"==typeof i){if("number"!=typeof e?(e=0,n=t,r=i,o=1):"number"==typeof n&&"number"==typeof r&&"number"==typeof o||(n=t,r=i,o=e,t=0,i=0,e=0),t==n&&i==r&&e==o)throw new Error("It's not a legitimate ray!");var s=Math.sqrt((n-t)*(n-t)+(r-i)*(r-i)),a=0!=s?(r-i)/s:1,_=0!=s?(n-t)/s:0,h=(n-t)*_+(r-i)*a,u=o-e,l=Math.sqrt(h*h+u*u),p=0!=l?u/l:1,f=0!=l?h/l:0;return[[a,p*_,_*f,0,-_,a*p,a*f,0,0,-f,p,0,i*_-t*a,e*f-t*_*p-i*a*p,-t*_*f-i*a*f-e*p,1],[a,-_,0,0,p*_,p*a,-f,0,_*f,a*f,p,0,t,i,e,1]]}throw new Error("a1 and b1 is required!")}(i,n,r,o,s,a);return this.__matrix4=e(e(e(_[1],function(t){var i=Math.sin(t),e=Math.cos(t);return[e,i,0,0,-i,e,0,0,0,0,1,0,0,0,0,1]}(t)),_[0]),this.__matrix4),this},t.prototype.scale=function(t,i,n,r,o,s){return void 0===r&&(r=0),void 0===o&&(o=0),void 0===s&&(s=0),this.__matrix4=e(function(t,i,e,n,r,o){return void 0===n&&(n=0),void 0===r&&(r=0),void 0===o&&(o=0),[t,0,0,0,0,i,0,0,0,0,e,0,n-n*t,r-r*i,o-o*e,1]}(t,i,n,r,o,s),this.__matrix4),this},t.prototype.multiply=function(t,i){return void 0===i&&(i=!1),this.__matrix4=i?e(this.__matrix4,t):e(t,this.__matrix4),this},t.prototype.use=function(t,i,n,r){return void 0===n&&(n=0),void 0===r&&(r=1),e(this.__matrix4,[t,i,n,r])},t.prototype.value=function(){return this.__matrix4},t}();function o(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[(n-t)*o-(r-i)*s+t,(n-t)*s+(r-i)*o+i]}let s,a=[],_=13;function h(t,i,e){arguments.length<2&&(i=400),arguments.length<3&&(e=function(){});let n={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");let r=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return a.push({id:r,createTime:new Date,pauseTime:-1,pauseKeepTime:0,status:"running",tick:t,duration:i,callback:e}),n.start(),r},start:function(){if(!s)try{s=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){n.tick(),s&&(s=globalThis.requestAnimationFrame(t))})):setInterval(n.tick,_)}catch(t){s=setInterval(n.tick,_)}},tick:function(){let t,i,e,r,o,s,_,h=a;for(a=[],a.length=0,i=0;i<h.length;i++)o=h[i],t=o.createTime,e=o.tick,s=o.duration,r=o.callback,_=(+(new Date).valueOf()-t.valueOf()-o.pauseKeepTime)/s,_=_>1?1:_,"running"===o.status&&e(_),(_<1||"paused"===o.status)&&o.id?a.push(o):r(_);a.length<=0&&n.stop()},stop:function(){if(s){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(s):clearInterval(s)}catch(t){clearInterval(s)}s=null}}},r=n.timer((function(i){t(i)}),i,e);return{stop:function(){for(let t in a)a[t].id==r&&(a[t].id=void 0)},pause:function(){for(let t in a)a[t].id==r&&-1===a[t].pauseTime&&(a[t].pauseTime=new Date,a[t].status="paused")},resume:function(){for(let t in a)a[t].id==r&&-1!==a[t].pauseTime&&(a[t].pauseKeepTime+=(new Date).valueOf()-a[t].pauseTime.valueOf(),a[t].pauseTime=-1,a[t].status="running")}}}function u(t,i,e,n){if(t<i){var r=i;i=t,t=r}else if(t==i)return[t];var o=function(t){for(var i=t<100&&t>-100?10:.1,e=-1,n=t;10==i?n>=-100&&n<=100:n<=-100||n>=100;)e+=1,n*=i;if(10==i)return Math.pow(10,e);for(var r="0.",o=1;o<e;o++)r+="0";return+(r+"1")}(t-i),s=Math.ceil((t-i)*o/e),a=function(e){var n=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[s+e]||s+e)/o,r=Math.floor(i/n)*n,a=[];a.push(r);for(var _=1;a[a.length-1]<t;_++)a.push(r+n*_);return a},_=a(0),h=function(){for(var t=[],e=_[_.length-1]-(null==n?void 0:n.max),r=0;r<_.length;r++)r+1<_.length&&_[r+1]-e<i||t.push(_[r]-e);return t},u=function(){for(var i=[],e=_[0]-(null==n?void 0:n.min),r=0;r<_.length&&(i[r]=_[r]-e,!(t<=i[r]));r++);return i};if(n){if("max"in n&&"min"in n&&n.max>=t&&n.min<=i){var l=function(){if(_[0]>=n.min&&_[_.length-1]<=n.max)return!0;var t=h();if(t[0]>=n.min&&t[t.length-1]<=n.max)return _=t,!0;var i=u();return i[0]>=n.min&&i[t.length-1]<=n.max?(_=i,!0):void 0};if(l())return _;for(var p=1;p<100;p++){if(_=a(p),l())return _;if(_=a(-p),l())return _}}"max"in n&&n.max>=t?n.max<_[_.length-1]&&(_=h()):"min"in n&&n.min<=i&&n.min>_[0]&&(_=u())}for(var f=0;f<_.length;f++){var c=_[f]+"";/\./.test(c)&&(/9{7,}$/.test(c)?(c=c.replace(/9{7,}$/,""),_[f]=+(c.substring(0,c.length-1)+(+c[c.length-1]+1))):/0{7,}\d$/.test(c)&&(_[f]=+c.replace(/0{7,}\d$/,"")))}return _}var l=function(t,i){return l=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])},l(t,i)};function p(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function e(){this.constructor=t}l(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}var f=function(){return f=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},f.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var c=["href","title","show","type","role","actuate"],d=function(t,i){y(t,"stroke-dasharray",i.lineDash.join(",")),y(t,"stroke-width",i.lineWidth+""),y(t,"stroke-linecap",i.lineCap+""),y(t,"stroke-linejoin",i.lineJoin+"")};function g(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var v=function(t,i,e){c.indexOf(i)>-1?t.setAttributeNS("http://www.w3.org/1999/xlink","xlink:"+i,e+""):t.setAttribute(i,e+"")},y=v;function m(t,i){d(t,i),v(t,"stroke",i.strokeStyle),v(t,"fill",i.fillStyle)}function w(t,i){v(t,"fill",i.fillStyle)}function x(t,i){d(t,i),v(t,"stroke",i.strokeStyle),v(t,"fill","none")}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)]};function b(t,i,e,n,r,o,s){i<0&&(t+=i,i*=-1);var a,_=[];a=E(0,0,t,r,0),_[0]=a[0],_[1]=a[1],a=E(0,0,i,a[0],a[1]),_[2]=a[0],_[3]=a[1],a=E(0,0,t,o,0),_[4]=a[0],_[5]=a[1],a=E(0,0,i,a[0],a[1]),_[6]=a[0],_[7]=a[1],s(t,t+i,_[0]+e,_[1]+n,_[4]+e,_[5]+n,_[2]+e,_[3]+n,_[6]+e,_[7]+n,.5*(o-r))}var T=function(t){var i=t.getElementsByTagName("defs");if(i.length<=0){var e=g("defs");return t.appendChild(e),e}return i[0]},P=function(t,i,e,n,r){if("text"!==t.nodeName.toLowerCase())throw new Error("Need a <text> !");y(t,"dy",{top:.5*i.fontSize,middle:0,bottom:.5*-i.fontSize}[i.textBaseline]),function(t,i){for(var e in i)t.style[e]=i[e]}(t,{"text-anchor":{left:"start",right:"end",center:"middle"}[i.textAlign],"dominant-baseline":"central","font-size":i.fontSize+"px","font-family":i.fontFamily}),y(t,"x",e),y(t,"y",n),"number"==typeof r&&y(t,"transform","rotate("+(r%=360)+","+e+","+n+")")},C=function(t,i,e,n){if("circle"!==t.nodeName.toLowerCase())throw new Error("Need a <circle> !");y(t,"cx",i),y(t,"cy",e),y(t,"r",n)},R=function(t,i){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");y(t,"d",i)},M=function(t,i,e,n,r,o){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)s.push.apply(s,i.rectRadius);o<0&&(n-=o*=-1),r<0&&(e-=r*=-1);var _="";s.length>=4?(_="M"+(e+s[0])+" "+n,_+="L"+(e+r-s[1])+" "+n,_+="A"+s[1]+" "+s[1]+" 0 0 1 "+(e+r)+" "+(n+s[1]),_+="L"+(e+r)+" "+(n+o-s[2]),_+="A"+s[2]+" "+s[2]+" 0 0 1 "+(e+r-s[2])+" "+(n+o),_+="L"+(e+s[3])+" "+(n+o),_+="A"+s[3]+" "+s[3]+" 0 0 1 "+e+" "+(n+o-s[3]),_+="L"+e+" "+(n+s[0]),_+="A"+s[0]+" "+s[0]+" 0 0 1 "+(e+s[0])+" "+n):(_="M"+e+" "+n,_+="L"+(e+r)+" "+n,_+="L"+(e+r)+" "+(n+o),_+="L"+e+" "+(n+o),_+="Z"),y(t,"d",_)},S=function(t,i,e,n,r,o,s,a){if("path"!==t.nodeName.toLowerCase())throw new Error("Need a <path> !");if(s=s/180*Math.PI,a=a/180*Math.PI,s%=2*Math.PI,r>o){var _=r;r=o,o=_}a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=1.999999*Math.PI:a%=2*Math.PI,b(s,a,e,n,r,o,(function(e,n,s,a,_,h,u,l,p,f,c){var d=n-e>Math.PI?1:0,g="M"+s+" "+a;c<0&&(c=-c),g+="A"+r+" "+r+" 0 "+d+" 1 "+u+" "+l,"round"==i.arcEndCap?g+="A"+c+" "+c+" 0 1 0 "+p+" "+f:"-round"==i.arcEndCap?g+="A"+c+" "+c+" 0 1 1 "+p+" "+f:g+="L"+p+" "+f,g+="A"+o+" "+o+" 0 "+d+" 0 "+_+" "+h,"round"==i.arcStartCap?g+="A"+c+" "+c+" 0 1 0 "+s+" "+a:"-round"==i.arcStartCap?g+="A"+c+" "+c+" 0 1 1 "+s+" "+a:g+="L"+s+" "+a,"butt"==i.arcStartCap&&(g+="Z"),y(t,"d",g)}))},A=function(t,i){var e={value:function(){return"url(#"+i+")"},setColor:function(i,n){var r=g("stop");return t.appendChild(r),y(r,"offset",100*i+"%"),y(r,"style","stop-color:"+n+";"),e}};return e},I=Object.prototype.toString;function k(t){if(null===t||"object"!=typeof t||"[object Object]"!=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":I.call(t)}(t))return!1;if(null===Object.getPrototypeOf(t))return!0;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function L(t,i){for(var e in t)i[e]=t[e];return i}function O(t,i){return function t(i,e){for(var n in e){var r=e[n];k(r)?(i[n]||(i[n]={}),t(i[n],e[n])):i[n]=r}}(t,i),t}var V=function(){function t(t){this.name="SVG",this.__config={fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]},this.__path="",this.__currentPosition=[],this.__transform_history=[],this.__transform_current="",this.__svg=t}return t.prototype.config=function(t){if("object"!=typeof t)return this.__config[t];for(var i in t)this.__config[i]=t[i];return this},t.prototype.reset=function(t){return void 0===t&&(t={}),this.config(L(t,{fillStyle:"rgb(0,0,0)",strokeStyle:"rgb(0,0,0)",textAlign:"left",textBaseline:"middle",fontSize:16,fontFamily:"sans-serif",arcStartCap:"butt",arcEndCap:"butt",lineDash:[],lineWidth:1,lineCap:"butt",lineJoin:"miter",rectRadius:[]})),this},t.prototype.useEl=function(t){return this.__useEl=t,this},t.prototype.getEl=function(){return this.__useEl},t.prototype.appendEl=function(t,i){return i=i||this.__svg,"string"==typeof t&&(t=g(t)),i.appendChild(t),this.__useEl=t,this},t.prototype.appendBoard=function(t,i){var e=t;if("string"==typeof t&&(e={text:"text",path:"path",arc:"path",circle:"circle",rect:"path"}[t]||""),""==e)throw new Error("Unsupported drawing method:"+t);return this.appendEl(e,i)},t.prototype.remove=function(){if(!this.__useEl)throw new Error("Currently, no node can be deleted.");return this.__useEl.parentNode.removeChild(this.__useEl),this},t.prototype.attr=function(t){if(!this.__useEl)throw new Error("Currently, no node can be modified or viewed.");if("object"!=typeof t)return function(t,i){return c.indexOf(i)>-1&&(i="xlink:"+i),t.getAttribute(i)}(this.__useEl,t);for(var i in t)y(this.__useEl,i,t[i]);return this},t.prototype.fillText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,w(this.__useEl,this.__config),this},t.prototype.strokeText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,x(this.__useEl,this.__config),this},t.prototype.fullText=function(t,i,e,n){return void 0===n&&(n=0),P(this.__useEl,this.__config,i,e,n),this.attr({transform:this.__transform_current}),this.__useEl.textContent=t,m(this.__useEl,this.__config),this},t.prototype.fillArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullArc=function(t,i,e,n,r,o){return S(this.__useEl,this.__config,t,i,e,n,r,o),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.fillCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullCircle=function(t,i,e){return C(this.__useEl,t,i,e),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.fillRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.strokeRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.fullRect=function(t,i,e,n){return M(this.__useEl,this.__config,t,i,e,n),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.beginPath=function(){return this.__currentPosition=[],this.__path="",this},t.prototype.closePath=function(){return this.__path+="Z",this},t.prototype.moveTo=function(t,i){return this.__currentPosition=[t,i],this.__path+="M"+t+" "+i,this},t.prototype.lineTo=function(t,i){return this.__currentPosition=[t,i],this.__path+=(""==this.__path?"M":"L")+t+" "+i,this},t.prototype.fill=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),w(this.__useEl,this.__config),this},t.prototype.stroke=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),x(this.__useEl,this.__config),this},t.prototype.full=function(){return R(this.__useEl,this.__path),this.attr({transform:this.__transform_current}),m(this.__useEl,this.__config),this},t.prototype.save=function(){return this.__transform_history.push(this.__transform_current),this},t.prototype.restore=function(){return this.__transform_history.length>0&&(this.__transform_current=this.__transform_history.pop()),this},t.prototype.arc=function(t,i,e,n,r){var s=o(t,i,n/180*Math.PI,t+e,i),a=o(t,i,(n+r)/180*Math.PI,t+e,i);return""==this.__path?this.__path+="M"+s[0]+","+s[1]:s[0]==this.__currentPosition[0]&&s[1]==this.__currentPosition[1]||(this.__path+="L"+s[0]+","+s[1]),this.__path+="A"+e+","+e+" 0 "+(r>180||r<-180?1:0)+","+(r>0?1:0)+" "+a[0]+","+a[1],this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__path+="Q"+t+" "+i+","+e+" "+n,this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__path+="C"+t+" "+i+","+e+" "+n+","+r+" "+o,this},t.prototype.bind=function(t,i){return this.__useEl.addEventListener(t,(function(t){i.call(this,t,this)}),!1),this},t.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=T(t),s="visliteLg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),a=g("linearGradient");return o.appendChild(a),y(a,"id",s),y(a,"x1",i+"%"),y(a,"y1",e+"%"),y(a,"x2",n+"%"),y(a,"y2",r+"%"),A(a,s)}(this.__svg,t,i,e,n)},t.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=T(t),o="visliteRg"+(new Date).valueOf()+(1e6*Math.random()).toFixed(0),s=g("radialGradient");return r.appendChild(s),y(s,"id",o),y(s,"cx",i+"%"),y(s,"cy",e+"%"),y(s,"r",n+"%"),A(s,o)}(this.__svg,t,i,e)},t.prototype.translate=function(t,i){return this.__transform_current+=" translate("+t+","+i+")",this},t.prototype.rotate=function(t){return this.__transform_current+=" rotate("+t+")",this},t.prototype.install=function(t){var i=this,e=function(e){if(e in n)throw new Error("VISLite SVG: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}(),B=function(t){function i(i){var e=this;if(!i)throw new Error("VISLite SVG:The mount point requires an HTMLElement type but encountered null.");var n,r=i.clientWidth,o=i.clientHeight,s=i;return s._vislite_svg_?n=s._vislite_svg_[0]:(n=document.createElementNS("http://www.w3.org/2000/svg","svg"),i.appendChild(n),n.setAttribute("width",r+""),n.setAttribute("height",o+""),n.setAttribute("viewBox","0 0 "+r+" "+o),s._vislite_svg_=[n],i.setAttribute("vislite","SVG")),(e=t.call(this,n)||this).__el=i,e}return p(i,t),i.prototype.toDataURL=function(){var t=this;return new Promise((function(i,e){var n=t.__el.clientWidth,r=t.__el.clientHeight,o=document.createElement("img");o.setAttribute("width",n+""),o.setAttribute("height",r+"");var s=t.__svg.innerHTML.replace(/"/g,"'"),a="data:image/svg+xml;charset=utf-8,"+encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='"+n+"' height='"+r+"'>"+s+"</svg>");o.setAttribute("src",a),o.onload=function(){var t=document.createElement("canvas");t.setAttribute("width",n+""),t.setAttribute("height",r+"");var s=t.getContext("2d");s&&s.drawImage(o,0,0,n,r);try{i(t.toDataURL())}catch(t){e(t)}},o.onerror=function(t){e(t)}}))},i}(V),U=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},N=function(t,i,e,n,r,o,s,a){if(r>o){var _=r;r=o,o=_}return s%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,b(s,a,e,n,r,o,(function(s,a,_,h,u,l,p,f,c,d,g){g<0&&(g=-g),t.beginPath(),t.moveTo(_,h),t.arc(e,n,r,s,a,!1),"round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+d),g,a-Math.PI,a,!0):"-round"==i.arcEndCap?t.arc(.5*(p+c),.5*(f+d),g,a-Math.PI,a,!1):t.lineTo(c,d),t.arc(e,n,o,a,s,!0),"round"==i.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(_+u),.5*(h+l),g,s,s-Math.PI,!1):t.lineTo(_,h)})),"butt"==i.arcStartCap&&t.closePath(),t},F=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},D=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)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 G(t,i,e,n,r){for(var o=0,s="",a=0;a<i.length;a++)t.measureText(s+i[a]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[a]):a==i.length-1?(o+=1,r(s+i[a],(o-.5)*n)):s+=i[a];return o*n}function H(t){var i={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt",rectRadius:[]},e={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?e:f(f({},i),e)}var z=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",this.painter.shadowColor="black"}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(),U(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(),U(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(),U(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,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.fillText(t,0,i)}));return this.painter.restore(),_},t.prototype.strokeTexts=function(t,i,e,n,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.strokeText(t,0,i)}));return this.painter.restore(),_},t.prototype.fullTexts=function(t,i,e,n,r,o){var s=this;void 0===r&&(r=1.2),void 0===o&&(o=0);var a=0;if(this.__region&&!this.__onlyView&&(a=this.__region.fillTexts(t,i,e,n,r)),this.__isPainter&&this.__onlyRegion)return a;this.painter.save(),U(this.painter,this.__specialConfig,i,e,o);var _=G(this.painter,t,n,this.__specialConfig.fontSize*r,(function(t,i){s.painter.fillText(t,0,i),s.painter.strokeText(t,0,i)}));return this.painter.restore(),_},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,o){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||N(this.painter,this.__specialConfig,t,i,e,n,r,o).fill(),this},t.prototype.strokeArc=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||N(this.painter,this.__specialConfig,t,i,e,n,r,o).stroke(),this},t.prototype.fullArc=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||(N(this.painter,this.__specialConfig,t,i,e,n,r,o),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||F(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||F(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||(F(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||D(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||D(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||(D(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(a){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)a({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),a({});else{var _=new Image;_.onload=function(){s.painter.drawImage(_,i,e,n,r),a({})},_.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},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}();function q(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;break}o<n-1&&(r[o]=t)}for(var s=0;s<r.length;s++)r[s]=+r[s].toFixed(7);return r}}var X=function(t,i){var e={value:function(){return t},setColor:function(n,r){return t.addColorStop(i?i(n):n,r),e}};return e},j=function(t){function i(i,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=t.call(this,i,n,e?new z(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=q(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return p(i,t),i.prototype.config=function(t){for(var i in t)this.useConfig(i,t[i]);return this},i.prototype.reset=function(t){return void 0===t&&(t={}),this.config(L(t,H())),this},i.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},i.prototype.onlyView=function(t){return this.__onlyView=t,this},i.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},i.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()}))}))},i.prototype.textWidth=function(t){this.painter.save(),U(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},i.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},i.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},i.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r);return X(o)}(this.painter,t,i,e,n)},i.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n);return X(r)}(this.painter,t,i,e)},i.prototype.createConicGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createConicGradient(n,i,e);return X(o,r?function(t){return r/(2*Math.PI)*t}:void 0)}(this.painter,t,i,e,n)},i.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]+")"},i}(z),W=function(t){function i(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=L(e,{scale:2,region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,a=null,_=i;_._vislite_canvas_?(s=_._vislite_canvas_[0],a=_._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(a=document.createElement("canvas")),_._vislite_canvas_=[s,a],i.setAttribute("vislite","Canvas"));for(var h=[a,s],u=0;u<h.length;u++){var l=h[u];l&&(l.style.width=n+"px",l.setAttribute("width",(1===u?e.scale:1)*n+""),l.style.height=r+"px",l.setAttribute("height",(1===u?e.scale:1)*r+""))}return(o=t.call(this,s,a,{willReadFrequently:e.willReadFrequently},e.scale)||this).__canvas=s,o.__el=i,o.painter.scale(e.scale,e.scale),o}return p(i,t),i.prototype.toDataURL=function(t,i){var e=this;return void 0===t&&(t="image/png"),void 0===i&&(i=.92),new Promise((function(n){n(e.__canvas.toDataURL(t,i))}))},i.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},i}(j),Y=function(t,i,e){var n=t.createShader(i);if(null==n)throw new Error("Unable to create shader!");if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error("Failed to compile shader:"+t.getShaderInfoLog(n));return n},$=function(){function t(t){this.__painter=t}return t.prototype.use=function(){return this.__painter.useProgram(this.program),this},t.prototype.compile=function(t,i){return this.program=function(t,i,e){var n=Y(t,t.VERTEX_SHADER,i),r=Y(t,t.FRAGMENT_SHADER,e),o=t.createProgram();if(t.attachShader(o,n),t.attachShader(o,r),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw new Error("Failed to link program: "+t.getProgramInfoLog(o));return o}(this.__painter,t,i),this},t}(),J=function(){function t(t,i,e){void 0===e&&(e=0),this.__painter=t,this.__type={"2d":t.TEXTURE_2D,cube:t.TEXTURE_CUBE_MAP}[i],this.__texture=function(t,i,e){var n=t.createTexture();return t.activeTexture(t["TEXTURE"+e]),t.bindTexture(i,n),n}(t,this.__type,e),t.texParameteri(this.__type,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(this.__type,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(this.__type,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE)}return t.prototype.useImage=function(t){return function(t,i,e,n,r,o){t.texImage2D(i,e,n,n,r,o)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t),this},t.prototype.useCube=function(t,i,e){return function(t,i,e,n,r,o,s,a,_){for(var h,u=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],l=0;l<u.length;l++)o[l]&&(h=u[l],t.texImage2D(h,e,n,s,a,0,n,r,null),t.bindTexture(i,_),t.texImage2D(h,e,n,n,r,o[l]));t.generateMipmap(i)}(this.__painter,this.__type,0,this.__painter.RGBA,this.__painter.UNSIGNED_BYTE,t,i,e,this.__texture),this},t}(),Z=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,n){var r=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(r,i,n)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,i,e,n){return void 0===n&&(n=0),function(t,i,e,n,r,o,s){t.vertexAttribPointer(i,e,n,s,r,o),t.enableVertexAttribArray(i)}(this.__painter,t,i,this.__painter.FLOAT,e*this.__fsize,n*this.__fsize,!1),this},t}(),K=function(t,i,e,n){var r=Math.cos(t),o=Math.sin(t);return[i*r-e*o,i*o+e*r,n]},Q=function(){function t(t,i){void 0===t&&(t=7),void 0===i&&(i=[107,36]),this.name="Eoap",this.__scale=t,this.__center=i}return t.prototype.use=function(t,i){var e,n,r,o,s,a,_=(e=(360-i)/180*Math.PI,n=100*this.__scale,r=0,o=0,s=Math.cos(e),a=Math.sin(e),[o*a+n*s,r,o*s-n*a]);return _=K(t/180*Math.PI,_[0],_[1],_[2]),_=K((90-this.__center[0])/180*Math.PI,_[0],_[1],_[2]),_=function(t,i,e,n){var r=Math.cos(t),o=Math.sin(t);return[i,e*r-n*o,e*o+n*r]}((90-this.__center[1])/180*Math.PI,_[0],_[1],_[2]),[-_[0],_[1],_[2]]},t}(),tt=function(t,i){void 0===t&&(t=7),void 0===i&&(i=[107,36]),this.name="Mercator";var e=100*t*Math.PI/180,n=e*i[0],r=-1*e*i[1];this.use=function(t,i){return[.8*(e*t-n),-1*e*i-r,0]}};function it(t){for(var i=null,e=null,n=null,r=null,o=function(t){for(var o=0;o<t.length;o++)for(var s=0;s<t[o].length;s++){var a=t[o][s][0],_=t[o][s][1];(null==i||i>a)&&(i=a),(null==e||e<a)&&(e=a),(null==n||n>_)&&(n=_),(null==r||r<_)&&(r=_)}},s=t.features,a=0;a<s.length;a++)if("Polygon"==s[a].geometry.type)o(s[a].geometry.coordinates);else if("MultiPolygon"==s[a].geometry.type)for(var _=0;_<s[a].geometry.coordinates.length;_++)o(s[a].geometry.coordinates[_]);return[i,e,n,r]}function et(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];for(var e=null,n=null,r=null,o=null,s=0,a=t;s<a.length;s++){var _=it(a[s]),h=_[0],u=_[1],l=_[2],p=_[3];(null==e||h<e)&&(e=h),(null==n||u>n)&&(n=u),(null==r||l<r)&&(r=l),(null==o||p>o)&&(o=p)}return[e,n,r,o]}var nt=function(){function t(t){void 0===t&&(t={}),this.name="MapCoordinate",this.__config=L(t,{api:"Mercator",width:400,height:300,left:0,top:0})}return t.prototype.$$updateMap=function(){var t=this.__boundary,i=t[0],e=t[1],n=t[2],r=t[3];if("Eoap"==this.__config.api){var o=.836*this.__config.width/(e-i),s=.557*this.__config.height/(r-n);this.__map=new Q(o<s?o:s,[.5*(i+e)*.9778,.5*(n+r)*1.025])}else{if("Mercator"!=this.__config.api)throw new Error("Unexpected API types:"+this.__config.api);o=.72*this.__config.width/(e-i),s=.575*this.__config.height/(r-n),this.__map=new tt(o<s?o:s,[.5*(i+e),.5*(n+r)])}},t.prototype.setConfig=function(t){return O(this.__config,t),this.$$updateMap(),this},t.prototype.setGeos=function(){for(var t=[],i=0;i<arguments.length;i++)t[i]=arguments[i];return this.__boundary=et.apply(void 0,t),this.$$updateMap(),this},t.prototype.use=function(t,i){if(this.__map){var e=this.__map.use(t,i);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}(),rt=function(){function t(t){void 0===t&&(t={}),this.name="Tree",this.__config=L(t,{root:function(t){return t},children:function(t){return t.children},id:function(t){return t.name}})}return t.prototype.use=function(t,i){return void 0===i&&(i={}),function(t,i,e){void 0===e&&(e={});var n=function(t,i){var e,n,r={},o=i.root(t);e=n=i.id(o),r[e]={data:o,pid:null,id:e,isOpen:!0,show:!0,deg:0,children:[]};var s=1;return function n(o,a){var _=i.children(o,t);s+=_?_.length:0;for(var h=0;_&&h<_.length;h++)e=i.id(_[h]),r[a].children.push(e),r[e]={data:_[h],pid:a,id:e,isOpen:!0,show:!0,deg:0,children:[]},n(_[h],e)}(o,e),{rid:n,value:r,num:s}}(t,i),r=n.value,o=n.rid;if(1==n.num)return r[o].left=.5,r[o].top=.5,r[o].show=!0,{deep:1,node:r,root:o,size:1};var s=[],a=0,_=0;for(var h in e[o]?(r[o].left=.5,r[o].top=.5,r[o].show=!0,a=1):function t(i,n){n>_&&(_=n);var o=0;if(!e[i.id])for(o=0;o<i.children.length;o++)t(r[i.children[o]],n+1);if(r[i.id].left=n+.5,0==o?(null==s[n]&&(s[n]=-.5),null==s[n-1]&&(s[n-1]=-.5),r[i.id].top=s[n]+1,s[n]+1+.5*(r[i.pid].children.length-1)-1<s[n-1]&&(r[i.id].top=s[n-1]+1-.5*(r[i.pid].children.length-1))):r[i.id].top=.5*(r[i.children[0]].top+r[i.children[o-1]].top),r[i.id].top<=s[n])var h=s[n]+1-r[i.id].top((function t(i,e){r[i].top+=h,s[e]<r[i].top&&(s[e]=r[i].top);for(var n=0;n<r[i].children.length;n++)t(r[i].children[n],e+1)}))(i.id,n);s[n]=r[i.id].top,r[i.id].top+.5>a&&(a=r[i.id].top+.5)}(r[o],0),e)e[h]&&(r[h].isOpen=!1,function t(i,e,n){for(var o=0;o<r[i].children.length;o++)r[r[i].children[o]].left=e,r[r[i].children[o]].top=n,r[r[i].children[o]].show=!1,t(r[i].children[o],e,n)}(h,r[h].left,r[h].top));return{node:r,root:o,size:a,deep:_+1}}(t,this.__config,i)},t}(),ot=function(t){function i(){var i=null!==t&&t.apply(this,arguments)||this;return i.name="TreeLayout",i.__option={offsetX:0,offsetY:0,duration:500,type:"plain",direction:"LR",x:100,y:100,width:100,height:100,radius:100},i.__noOpens={},i}return p(i,t),i.prototype.setOption=function(t){return L(t,this.__option),this},i.prototype.use=function(i,e){void 0===e&&(e={});var n=t.prototype.use.call(this,i,e);if(0!=this.__option.offsetX||0!=this.__option.offsetY)for(var r in n.node)if(!n.node[r].show){var s=0,a=r;do{a=n.node[a].pid,s++}while(!n.node[a].show);n.node[r].left+=this.__option.offsetX*s,n.node[r].top+=this.__option.offsetY*s}if("rect"==this.__option.type){if("LR"==this.__option.direction||"RL"==this.__option.direction){var _=this.__option.height/n.size,h=this.__option.width/(n.deep-1),u=this.__option.y-.5*this.__option.height,l="LR"==this.__option.direction?1:-1;for(var r in n.node)1==n.deep?(n.node[r].left=this.__option.x+.5*this.__option.width*l,n.node[r].top=this.__option.y):(n.node[r].left=this.__option.x+(n.node[r].left-.5)*h*l,n.node[r].top=n.node[r].top*_+u)}else if("TB"==this.__option.direction||"BT"==this.__option.direction)for(var r in _=this.__option.width/n.size,h=this.__option.height/(n.deep-1),u=this.__option.x-.5*this.__option.width,l="TB"==this.__option.direction?1:-1,n.node)if(n.node[r].deg="TB"==this.__option.direction?.5*Math.PI:-.5*Math.PI,1==n.deep)n.node[r].left=this.__option.x,n.node[r].top=this.__option.y+.5*this.__option.height*l;else{var p=n.node[r].left;n.node[r].left=n.node[r].top*_+u,n.node[r].top=this.__option.y+(p-.5)*h*l}}else if("circle"==this.__option.type){var f=this.__option.x,c=this.__option.y,d=2*Math.PI/n.size,g=this.__option.radius/(n.deep-1);for(var r in n.node)if(.5==n.node[r].left)n.node[r].left=f,n.node[r].top=c;else{var v=o(f,c,d*n.node[r].top,f+(n.node[r].left-.5)*g,c);n.node[r].deg=d*n.node[r].top,n.node[r].left=v[0],n.node[r].top=v[1]}}return n},i.prototype.bind=function(t,i,e){return void 0===e&&(e={}),this.__rback=i,this.__oralTree=t,this.__noOpens=e,this.__preTree=this.use(this.__oralTree,this.__noOpens),this.__rback(this.__preTree),this},i.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralTree=null,this.__preTree=null,this.__noOpens={},this},i.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralTree,this.__noOpens),e=JSON.parse(JSON.stringify(i));return h((function(n){if(t.__preTree)for(var r in e.node)(i.node[r].show||t.__preTree.node[r].show)&&(e.node[r].show=!0,e.node[r].left=t.__preTree.node[r].left+(i.node[r].left-t.__preTree.node[r].left)*n,e.node[r].top=t.__preTree.node[r].top+(i.node[r].top-t.__preTree.node[r].top)*n);t.__rback(e)}),this.__option.duration,(function(){t.__preTree=i,t.__rback(t.__preTree)})),this},i.prototype.closeNode=function(t){return this.__preTree?(this.__noOpens[t]=!0,this.doUpdate(),this):this},i.prototype.openNode=function(t){return this.__preTree?(this.__noOpens[t]=!1,this.doUpdate(),this):this},i.prototype.toggleNode=function(t){return this.__preTree?(this.__noOpens[t]=!this.__noOpens[t],this.doUpdate(),this):this},i}(rt),st=function(){function t(t){void 0===t&&(t={}),this.name="PieLayout",this.__option={cx:200,cy:200,radius:[50,100],duration:200},this.__hoverIndex=-1,this.__config=L(t,{name:function(t,i){return t.name},value:function(t,i){return t.value}})}return t.prototype.setOption=function(t){return L(t,this.__option),this},t.prototype.use=function(t,i){void 0===i&&(i=-1);for(var e={count:t.length,cx:this.__option.cx,cy:this.__option.cy,radius:this.__option.radius,hoverIndex:i,node:[]},n=0,r=[],s=[],a=0;a<t.length;a++)r[a]=this.__config.name(t[a],t),s[a]=this.__config.value(t[a],t),n+=s[a];var _,h=-.5*Math.PI;for(a=0;a<t.length;a++){_=s[a]/n*Math.PI*2;var u=[this.__option.radius[0]*(1+(this.__option.radius[0]>0&&i===a?-.1:0)),this.__option.radius[1]*(1+(i===a?.05:0))],l=h+.5*_,p=Math.max(this.__option.radius[0],this.__option.radius[1]),f=o(e.cx,e.cy,l,e.cx+p,e.cy),c=o(e.cx,e.cy,l,e.cx+p+15,e.cy),d=f[0]>e.cx?1:-1,g=[c[0]+20*d,c[1]],v=[c[0]+25*d,c[1]];e.node[a]={value:s[a],name:r[a],beginDeg:h,deg:_,isHover:i===a,radius:u,label:{line:[f,c,g],position:v,align:-1===d?"right":"left"}},h+=_}return e},t.prototype.bind=function(t,i){return this.__rback=i,this.__oralPie=t,this.__prePie=this.use(this.__oralPie,this.__hoverIndex),this.__rback(this.__prePie),this},t.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralPie=null,this.__prePie=null,this.__hoverIndex=-1,this},t.prototype.setHover=function(t){return this.__prePie&&this.__hoverIndex!==t?(this.__hoverIndex=t,this.doUpdate(),this):this},t.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralPie,this.__hoverIndex),e=JSON.parse(JSON.stringify(i));return h((function(n){if(t.__prePie)for(var r=0;r<e.count;r++)e.node[r].radius[0]=t.__prePie.node[r].radius[0]+(i.node[r].radius[0]-t.__prePie.node[r].radius[0])*n,e.node[r].radius[1]=t.__prePie.node[r].radius[1]+(i.node[r].radius[1]-t.__prePie.node[r].radius[1])*n;t.__rback(e)}),this.__option.duration,(function(){t.__prePie=i,t.__rback(t.__prePie)})),this},t}(),at=function(){function t(t){void 0===t&&(t={}),this.name="BarLayout",this.__option={x:50,y:350,width:400,height:300,category:"xAxis",duration:200},this.__config=L(t,{})}return t.prototype.setOption=function(t){return L(t,this.__option),this},t.prototype.use=function(t){var i={coordinate:{x:this.__option.x,y:this.__option.y,width:this.__option.width,height:this.__option.height,xAxis:{type:"xAxis"===this.__option.category?"category":"value",data:[]},yAxis:{type:"xAxis"===this.__option.category?"value":"category",data:[]}},node:[]},e=void 0,n=void 0;if(t.data)for(var r=0,o=t.data;r<o.length;r++){var s=o[r];(void 0===e||s>e)&&(e=s),(void 0===n||s<n)&&(n=s)}else{if(!t.value)throw new Error("No data leads to parsing errors");for(var a=0,_=t.value;a<_.length;a++)for(var h=0,l=_[a].data;h<l.length;h++)s=l[h],(void 0===e||s>e)&&(e=s),(void 0===n||s<n)&&(n=s)}var p,f,c=u(e||0,n||0,5);"xAxis"===this.__option.category?(i.coordinate.xAxis.data=t.category,i.coordinate.yAxis.data=c,p=this.__option.width,f=-1*this.__option.height):(i.coordinate.xAxis.data=c,i.coordinate.yAxis.data=t.category,p=this.__option.height,f=this.__option.width);var d=[],g=p/t.category.length,v=.9*g,y=.05*g;if(t.data)for(var m=0;m<t.data.length;m++)d.push([y+g*m,v]);else{var w=v/t.value.length,x=.9*w,E=.05*w;for(m=0;m<t.value[0].data.length;m++){d[m]=[];for(var b=0;b<t.value.length;b++)d[m].push([y+g*m+w*b+E,x])}}var T=f/(c[c.length-1]-c[0]),P=function(t){return T*(t-c[0])};if("xAxis"===this.__option.category)if(t.data){var C=[];for(m=0;m<t.data.length;m++)C.push({x:this.__option.x+d[m][0],y:this.__option.y,width:d[m][1],height:P(t.data[m]),value:t.data[m]});i.node.push({bar:C})}else for(b=0;b<t.value.length;b++){for(C=[],m=0;m<t.value[b].data.length;m++)C.push({x:this.__option.x+d[m][b][0],y:this.__option.y,width:d[m][b][1],height:P(t.value[b].data[m]),value:t.value[b].data[m]});i.node.push({name:t.value[b].name,bar:C})}else if(t.data){for(C=[],m=0;m<t.data.length;m++)C.push({x:this.__option.x,y:this.__option.y-this.__option.height+d[m][0],width:P(t.data[m]),height:d[m][1],value:t.data[m]});i.node.push({bar:C})}else for(b=0;b<t.value.length;b++){for(C=[],m=0;m<t.value[b].data.length;m++)C.push({x:this.__option.x,y:this.__option.y-this.__option.height+d[m][b][0],width:P(t.value[b].data[m]),height:d[m][b][1],value:t.value[b].data[m]});i.node.push({name:t.value[b].name,bar:C})}return i},t.prototype.bind=function(t,i){return this.__rback=i,this.__oralBar=t,this.__preBar=this.use(this.__oralBar),this.__rback(this.__preBar),this},t.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralBar=null,this.__preBar=null,this},t.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralBar),e=JSON.parse(JSON.stringify(i));return h((function(i){t.__preBar||t.__rback(e)}),this.__option.duration,(function(){t.__preBar=i,t.__rback(t.__preBar)})),this},t}(),_t={Cardinal:i,Hermite:t,Matrix4:r,rotate:o,move:function(t,i,e,n,r){var o=Math.sqrt(t*t+i*i);return[t*e/o+n,i*e/o+r]},scale:function(t,i,e,n,r){return[e*(n-t)+t,e*(r-i)+i]},getLoopColors:function(t,i,e){void 0===i&&(i=1);var n=e?e(i):["rgba(84,112,198,"+i+")","rgba(145,204,117,"+i+")","rgba(250,200,88,"+i+")","rgba(238,102,102,"+i+")","rgba(115,192,222,"+i+")","rgba(59,162,114,"+i+")","rgba(252,132,82,"+i+")","rgba(154,96,180,"+i+")","rgba(234,124,204,"+i+")"],r=[];if(t<=n.length)return n;if(t%n.length==0)for(var o=0;o<t/n.length;o++)r=r.concat(n);else{for(var s=1;s<t/n.length;s++)r=r.concat(n);if(t%n.length==1)r=r.concat(n[4]);else for(var a=0;a<t%n.length;a++)r=r.concat(n[a])}return r},animation:function(t,i,e){return h(t,i||400,e||function(){}).stop},ruler:u,SVG:B,Canvas:W,RawCanvas:j,getWebGLContext:function(t,i,e){if(void 0===i&&(i=1),!t)throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.");var n,r=t.clientWidth,o=t.clientHeight,s=t;return s._vislite_canvas_?n=s._vislite_canvas_:(n=document.createElement("canvas"),t.appendChild(n),s._vislite_canvas_=n,t.setAttribute("vislite","WebGL")),n.style.width=r+"px",n.setAttribute("width",r+""),n.style.height=o+"px",n.setAttribute("height",o+""),function(t,i,e,n){void 0===e&&(e={}),void 0===n&&(n="scaleToFill");for(var r=["experimental-webgl","webkit-3d","moz-webgl"],o=t.getContext("webgl",e),s=0;s<r.length;s++){try{o=t.getContext(r[s],e)}catch(t){}if(o)break}if(!o)throw new Error("Non canvas or browser does not support webgl.");var a=o.canvas.width,_=o.canvas.height,h=i,u=i;"aspectFit"==n?a>_?h*=_/a:_>a&&(u*=a/_):"aspectFill"==n&&(a>_?u*=a/_:_>a&&(h*=_/a));var l=a*h,p=_*u;return o.viewport(.5*(a-l),.5*(_-p),l,p),o.depthFunc(o.LEQUAL),o.enable(o.DEPTH_TEST),o}(n,i,{},e)},Shader:$,Texture:J,Buffer:Z,Eoap:Q,Mercator:tt,throttle:function(t,i){let e={time:200,keep:!1,opportunity:"end"};if(i)for(let t in i)e[t]=i[t];let n,r=!1,o=!1,s=!1;return function(){const i=this;if(n=arguments,r)o=!0,s=!0;else{"end"!=e.opportunity&&t.apply(i,n),r=!0;let a=setInterval((()=>{o?e.keep||t.apply(i,n):("begin"!=e.opportunity&&(s||"end"==e.opportunity)&&t.apply(i,n),r=!1,s=!1,clearInterval(a)),o=!1}),e.time)}}},assemble:q,MapCoordinate:nt,TreeLayout:ot,PieLayout:st,BarLayout:at,initOption:L,mergeOption:O};return _t},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite=i();
|
package/package.json
CHANGED
package/src/SVG.ts
CHANGED
|
@@ -39,17 +39,26 @@ class SVG extends OralSVG implements SVGType {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
toDataURL(): Promise<string> {
|
|
42
|
-
return new Promise(resolve => {
|
|
42
|
+
return new Promise((resolve, reject) => {
|
|
43
43
|
const width = this.__el.clientWidth, height = this.__el.clientHeight
|
|
44
44
|
|
|
45
45
|
const img = document.createElement('img');
|
|
46
46
|
|
|
47
47
|
img.setAttribute('width', width + "");
|
|
48
48
|
img.setAttribute('height', height + "");
|
|
49
|
-
|
|
49
|
+
|
|
50
|
+
// 对SVG内容进行encodeURIComponent转义,避免"#"/中文等字符破坏data URI
|
|
51
|
+
// 2026年9月22日
|
|
52
|
+
const innerSVG = this.__svg.innerHTML.replace(/"/g, "'")
|
|
53
|
+
const base64_svg = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(
|
|
54
|
+
"<svg xmlns='http://www.w3.org/2000/svg' width='" + width + "' height='" + height + "'>" + innerSVG + "</svg>"
|
|
55
|
+
);
|
|
50
56
|
img.setAttribute('src', base64_svg);
|
|
51
57
|
|
|
52
|
-
setTimeout(
|
|
58
|
+
// 监听onload以替代之前的固定 setTimeout(..., 100)
|
|
59
|
+
// 复杂SVG在100ms内可能还未完成渲染,这里可以保证图片真正加载完成后才截图
|
|
60
|
+
// 2026年9月22日 于南宁
|
|
61
|
+
img.onload = () => {
|
|
53
62
|
|
|
54
63
|
// 准备画布
|
|
55
64
|
const canvas = document.createElement('canvas');
|
|
@@ -61,8 +70,16 @@ class SVG extends OralSVG implements SVGType {
|
|
|
61
70
|
// 绘制截图
|
|
62
71
|
if (painter) painter.drawImage(img, 0, 0, width, height);
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
|
|
73
|
+
try {
|
|
74
|
+
resolve(canvas.toDataURL());
|
|
75
|
+
} catch (e) {
|
|
76
|
+
reject(e);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
img.onerror = (e) => {
|
|
81
|
+
reject(e)
|
|
82
|
+
}
|
|
66
83
|
})
|
|
67
84
|
}
|
|
68
85
|
}
|
package/src/common/assemble.ts
CHANGED
|
@@ -8,7 +8,10 @@ export default function (begin: number, end: number, step: number, count: number
|
|
|
8
8
|
|
|
9
9
|
// 如果当前位可以进1
|
|
10
10
|
if (val[i] + step < end) {
|
|
11
|
-
|
|
11
|
+
|
|
12
|
+
// 直接累加,最后一次性格式化,避免每次都做toFixed+Number转换
|
|
13
|
+
// 2026年9月22日 于南宁
|
|
14
|
+
val[i] = val[i] + step
|
|
12
15
|
break
|
|
13
16
|
}
|
|
14
17
|
|
|
@@ -18,6 +21,11 @@ export default function (begin: number, end: number, step: number, count: number
|
|
|
18
21
|
}
|
|
19
22
|
}
|
|
20
23
|
|
|
24
|
+
// 返回前对每一位做一次toFixed(7),消除浮点累积误差
|
|
25
|
+
for (let k = 0; k < val.length; k++) {
|
|
26
|
+
val[k] = +val[k].toFixed(7)
|
|
27
|
+
}
|
|
28
|
+
|
|
21
29
|
return val
|
|
22
30
|
}
|
|
23
31
|
}
|