vislite 0.7.1 → 0.8.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/CHANGELOG +28 -2
  2. package/README.md +144 -135
  3. package/lib/Buffer/index.umd.d.ts +3 -0
  4. package/lib/Buffer/index.umd.js +2 -2
  5. package/lib/Buffer/index.umd.min.d.ts +3 -0
  6. package/lib/Buffer/index.umd.min.js +2 -2
  7. package/lib/Canvas/index.umd.d.ts +3 -0
  8. package/lib/Canvas/index.umd.js +26 -2
  9. package/lib/Canvas/index.umd.min.d.ts +3 -0
  10. package/lib/Canvas/index.umd.min.js +3 -3
  11. package/lib/Cardinal/index.umd.d.ts +3 -0
  12. package/lib/Cardinal/index.umd.js +2 -2
  13. package/lib/Cardinal/index.umd.min.d.ts +3 -0
  14. package/lib/Cardinal/index.umd.min.js +2 -2
  15. package/lib/Eoap/index.umd.d.ts +3 -0
  16. package/lib/Eoap/index.umd.js +2 -2
  17. package/lib/Eoap/index.umd.min.d.ts +3 -0
  18. package/lib/Eoap/index.umd.min.js +2 -2
  19. package/lib/Geometry/index.umd.d.ts +3 -0
  20. package/lib/Geometry/index.umd.js +61 -11
  21. package/lib/Geometry/index.umd.min.d.ts +3 -0
  22. package/lib/Geometry/index.umd.min.js +3 -3
  23. package/lib/Hermite/index.umd.d.ts +3 -0
  24. package/lib/Hermite/index.umd.js +2 -2
  25. package/lib/Hermite/index.umd.min.d.ts +3 -0
  26. package/lib/Hermite/index.umd.min.js +2 -2
  27. package/lib/Matrix4/index.umd.d.ts +3 -0
  28. package/lib/Matrix4/index.umd.js +2 -2
  29. package/lib/Matrix4/index.umd.min.d.ts +3 -0
  30. package/lib/Matrix4/index.umd.min.js +2 -2
  31. package/lib/Mercator/index.umd.d.ts +3 -0
  32. package/lib/Mercator/index.umd.js +2 -2
  33. package/lib/Mercator/index.umd.min.d.ts +3 -0
  34. package/lib/Mercator/index.umd.min.js +2 -2
  35. package/lib/OralCanvas/index.es.d.ts +3 -0
  36. package/lib/OralCanvas/index.es.js +26 -2
  37. package/lib/OralCanvas/index.es.min.d.ts +3 -0
  38. package/lib/OralCanvas/index.es.min.js +3 -3
  39. package/lib/OralWebGL/index.es.d.ts +3 -0
  40. package/lib/OralWebGL/index.es.js +26 -8
  41. package/lib/OralWebGL/index.es.min.d.ts +3 -0
  42. package/lib/OralWebGL/index.es.min.js +3 -3
  43. package/lib/SVG/index.umd.d.ts +3 -0
  44. package/lib/SVG/index.umd.js +2 -2
  45. package/lib/SVG/index.umd.min.d.ts +3 -0
  46. package/lib/SVG/index.umd.min.js +2 -2
  47. package/lib/Shader/index.umd.d.ts +3 -0
  48. package/lib/Shader/index.umd.js +2 -2
  49. package/lib/Shader/index.umd.min.d.ts +3 -0
  50. package/lib/Shader/index.umd.min.js +2 -2
  51. package/lib/Texture/index.umd.d.ts +3 -0
  52. package/lib/Texture/index.umd.js +2 -2
  53. package/lib/Texture/index.umd.min.d.ts +3 -0
  54. package/lib/Texture/index.umd.min.js +2 -2
  55. package/lib/TreeLayout/index.umd.d.ts +3 -0
  56. package/lib/TreeLayout/index.umd.js +2 -2
  57. package/lib/TreeLayout/index.umd.min.d.ts +3 -0
  58. package/lib/TreeLayout/index.umd.min.js +2 -2
  59. package/lib/WebGL/index.umd.d.ts +3 -0
  60. package/lib/WebGL/index.umd.js +27 -9
  61. package/lib/WebGL/index.umd.min.d.ts +3 -0
  62. package/lib/WebGL/index.umd.min.js +3 -3
  63. package/lib/animation/index.umd.d.ts +3 -0
  64. package/lib/animation/index.umd.js +2 -2
  65. package/lib/animation/index.umd.min.d.ts +3 -0
  66. package/lib/animation/index.umd.min.js +2 -2
  67. package/lib/formatColor/index.umd.d.ts +3 -0
  68. package/lib/formatColor/index.umd.js +2 -2
  69. package/lib/formatColor/index.umd.min.d.ts +3 -0
  70. package/lib/formatColor/index.umd.min.js +2 -2
  71. package/lib/getLoopColors/index.umd.d.ts +3 -0
  72. package/lib/getLoopColors/index.umd.js +2 -2
  73. package/lib/getLoopColors/index.umd.min.d.ts +3 -0
  74. package/lib/getLoopColors/index.umd.min.js +2 -2
  75. package/lib/getWebGLContext/index.umd.d.ts +3 -0
  76. package/lib/getWebGLContext/index.umd.js +25 -7
  77. package/lib/getWebGLContext/index.umd.min.d.ts +3 -0
  78. package/lib/getWebGLContext/index.umd.min.js +3 -3
  79. package/lib/index.umd.js +112 -20
  80. package/lib/index.umd.min.js +3 -3
  81. package/lib/move/index.umd.d.ts +3 -0
  82. package/lib/move/index.umd.js +2 -2
  83. package/lib/move/index.umd.min.d.ts +3 -0
  84. package/lib/move/index.umd.min.js +2 -2
  85. package/lib/resizeObserver/index.umd.d.ts +3 -0
  86. package/lib/resizeObserver/index.umd.js +2 -2
  87. package/lib/resizeObserver/index.umd.min.d.ts +3 -0
  88. package/lib/resizeObserver/index.umd.min.js +2 -2
  89. package/lib/rotate/index.umd.d.ts +3 -0
  90. package/lib/rotate/index.umd.js +2 -2
  91. package/lib/rotate/index.umd.min.d.ts +3 -0
  92. package/lib/rotate/index.umd.min.js +2 -2
  93. package/lib/ruler/index.umd.d.ts +3 -0
  94. package/lib/ruler/index.umd.js +2 -2
  95. package/lib/ruler/index.umd.min.d.ts +3 -0
  96. package/lib/ruler/index.umd.min.js +2 -2
  97. package/lib/scale/index.umd.d.ts +3 -0
  98. package/lib/scale/index.umd.js +2 -2
  99. package/lib/scale/index.umd.min.d.ts +3 -0
  100. package/lib/scale/index.umd.min.js +2 -2
  101. package/lib/throttle/index.umd.d.ts +3 -0
  102. package/lib/throttle/index.umd.js +2 -2
  103. package/lib/throttle/index.umd.min.d.ts +3 -0
  104. package/lib/throttle/index.umd.min.js +2 -2
  105. package/lib/viewHandler/index.umd.d.ts +3 -0
  106. package/lib/viewHandler/index.umd.js +2 -2
  107. package/lib/viewHandler/index.umd.min.d.ts +3 -0
  108. package/lib/viewHandler/index.umd.min.js +2 -2
  109. package/package/getWebGLContext/index.ts +40 -39
  110. package/package.json +1 -1
  111. package/src/Canvas.ts +2 -2
  112. package/src/Geometry.ts +65 -1
  113. package/src/WebGL.ts +66 -66
  114. package/src/common/canvas/painter.ts +26 -0
  115. package/src/common/geometry/prism-horizontal.ts +50 -35
  116. package/src/common/geometry/prism-vertical.ts +55 -40
  117. package/src/common/geometry/tool/circle.ts +17 -11
  118. package/src/common/geometry/tool/rotateLine.ts +48 -35
  119. package/src/common/webgl/getWebGLContext.ts +45 -28
  120. package/src/common/webgl/index.ts +227 -226
  121. package/src/common/webgl/shader.ts +75 -75
  122. package/types/Canvas.d.ts +318 -308
  123. package/types/Geometry.d.ts +132 -65
  124. package/types/Object3D.d.ts +114 -114
  125. package/types/Shader.d.ts +23 -23
  126. package/types/WebGLOption.d.ts +14 -7
  127. package/types/getWebGLContext.d.ts +4 -2
  128. package/uni-app/drawImage.js +18 -0
  129. package/uni-app/ui-canvas.vue +10 -1
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -14,8 +14,9 @@
14
14
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_Geometry = factory());
15
15
  })(this, (function () { 'use strict';
16
16
 
17
- var splitNum = function (precision, radius) {
18
- var num = Math.ceil(Math.PI * 2 /
17
+ var splitNum = function (precision, radius, deg) {
18
+ if (deg === void 0) { deg = Math.PI * 2; }
19
+ var num = Math.ceil(deg /
19
20
  Math.asin(precision / radius) * 2);
20
21
  return (isNaN(num) || num < 12) ? 12 : num;
21
22
  };
@@ -28,7 +29,9 @@
28
29
  ];
29
30
  }
30
31
 
31
- function prismHorizontal (normal, x, y, z, radius, num, d) {
32
+ function prismHorizontal (normal, x, y, z, radius, num, d, beginDeg, deg) {
33
+ if (beginDeg === void 0) { beginDeg = 0; }
34
+ if (deg === void 0) { deg = Math.PI * 2; }
32
35
  var beginX, beginZ;
33
36
  if (num == 4) {
34
37
  var temp = radius / 1.414;
@@ -40,8 +43,11 @@
40
43
  beginZ = z;
41
44
  }
42
45
  var point = [beginX, beginZ];
46
+ if (beginDeg != 0) {
47
+ point = rotate(x, z, beginDeg, beginX, beginZ);
48
+ }
43
49
  var points = [];
44
- var deg = Math.PI * 2 / num;
50
+ var perDeg = deg / num;
45
51
  for (var i = 0; i < num; i++) {
46
52
  points.push(x, y, z);
47
53
  if (normal)
@@ -49,7 +55,7 @@
49
55
  points.push(point[0], y, point[1]);
50
56
  if (normal)
51
57
  points.push(0, d, 0);
52
- point = rotate(x, z, deg * (i + 1), beginX, beginZ);
58
+ point = rotate(x, z, perDeg * (i + 1), beginX, beginZ);
53
59
  points.push(point[0], y, point[1]);
54
60
  if (normal)
55
61
  points.push(0, d, 0);
@@ -89,7 +95,9 @@
89
95
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
90
96
  };
91
97
 
92
- function prismVertical (normal, x, y, z, radius, height, num) {
98
+ function prismVertical (normal, x, y, z, radius, height, num, beginDeg, deg) {
99
+ if (beginDeg === void 0) { beginDeg = 0; }
100
+ if (deg === void 0) { deg = Math.PI * 2; }
93
101
  var points = [];
94
102
  var beginPosition;
95
103
  if (num == 4) {
@@ -98,10 +106,13 @@
98
106
  else {
99
107
  beginPosition = [x + radius, z];
100
108
  }
101
- var deg = Math.PI * 2 / num, degHalf = Math.PI * 2 / (num * 2);
109
+ if (beginDeg != 0) {
110
+ beginPosition = rotate.apply(void 0, __spreadArray([x, z, beginDeg], beginPosition, false));
111
+ }
112
+ var perDeg = deg / num, degHalf = deg / (num * 2);
102
113
  var endPosition, normalPosition = [];
103
114
  for (var i = 0; i < num; i++) {
104
- endPosition = rotate.apply(void 0, __spreadArray([x, z, deg], beginPosition, false));
115
+ endPosition = rotate.apply(void 0, __spreadArray([x, z, perDeg], beginPosition, false));
105
116
  if (normal) {
106
117
  var halfPosition = rotate.apply(void 0, __spreadArray([x, z, degHalf], beginPosition, false));
107
118
  normalPosition = [halfPosition[0], 0, halfPosition[1]];
@@ -156,6 +167,8 @@
156
167
 
157
168
  function rotateLineFactory (x, y, z, x2, y2, z2) {
158
169
  return function (x0, y0, z0, isNormal) {
170
+ if (x == x2 && z == z2)
171
+ return [x0, y0, z0];
159
172
  var sin, cos, temp;
160
173
  var _x0 = x0 - (isNormal ? 0 : x), _y0 = y0 - (isNormal ? 0 : y), _z0 = z0 - (isNormal ? 0 : z);
161
174
  var _x2 = x2 - x, _y2 = y2 - y, _z2 = z2 - z;
@@ -193,6 +206,43 @@
193
206
  }
194
207
  return this;
195
208
  };
209
+ Geometry.prototype.splitNum = function (radius, deg) {
210
+ return splitNum(this.__option.precision, radius, deg);
211
+ };
212
+ Geometry.prototype.rotateLine = function (x1, y1, z1, x2, y2, z2) {
213
+ var _this = this;
214
+ var rotateLine = rotateLineFactory(x1, y1, z1, x2, y2, z2);
215
+ return function (x, y, z) { return rotateLine(x, y, z, _this.__option.normal); };
216
+ };
217
+ Geometry.prototype.prismHorizontal = function (x, y, z, radius, num, d, beginDeg, deg) {
218
+ return prismHorizontal(this.__option.normal, x, y, z, radius, num, d, beginDeg, deg);
219
+ };
220
+ Geometry.prototype.prismVertical = function (x, y, z, radius, height, num, beginDeg, deg) {
221
+ return prismVertical(this.__option.normal, x, y, z, radius, height, num, beginDeg, deg);
222
+ };
223
+ Geometry.prototype.sphereFragment = function (cx, cy, cz, radius, num, index) {
224
+ return sphereFragment(this.__option.normal, cx, cy, cz, radius, num, index);
225
+ };
226
+ Geometry.prototype.pie = function (x, y, z, radius, height, beginDeg, deg) {
227
+ var num = splitNum(this.__option.precision, radius, deg);
228
+ var result = [{
229
+ name: "bottom",
230
+ points: prismHorizontal(this.__option.normal, x, y, z, radius, num, height > 0 ? -1 : 1, beginDeg, deg),
231
+ length: 3 * num,
232
+ method: "TRIANGLES"
233
+ }, {
234
+ name: "top",
235
+ points: prismHorizontal(this.__option.normal, x, y + height, z, radius, num, height > 0 ? 1 : -1, beginDeg, deg),
236
+ length: 3 * num,
237
+ method: "TRIANGLES"
238
+ }, {
239
+ name: "side",
240
+ points: prismVertical(this.__option.normal, x, y, z, radius, height, num, beginDeg, deg),
241
+ length: 6 * num,
242
+ method: "TRIANGLES"
243
+ }];
244
+ return result;
245
+ };
196
246
  Geometry.prototype.cylinder = function (x, y, z, radius, x2, y2, z2) {
197
247
  var num = splitNum(this.__option.precision, radius);
198
248
  if (arguments.length == 5) {
@@ -210,7 +260,7 @@
210
260
  num = y2;
211
261
  }
212
262
  else {
213
- height = Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y) + (z2 - z) * (z2 - z));
263
+ height = (y > y2 ? -1 : 1) * Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y) + (z2 - z) * (z2 - z));
214
264
  rotateLine = rotateLineFactory(x, y, z, x2, y2, z2);
215
265
  }
216
266
  var result = [{
@@ -0,0 +1,3 @@
1
+ import { Geometry } from "../../types/index"
2
+
3
+ export default Geometry
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
- var t,n;t=this,n=function(){"use strict";var t=function(t,n){var o=Math.ceil(2*Math.PI/Math.asin(t/n)*2);return isNaN(o)||o<12?12:o};function n(t,n,o,p,r){var i=Math.cos(o),e=Math.sin(o);return[(p-t)*i-(r-n)*e+t,(p-t)*e+(r-n)*i+n]}function o(t,o,p,r,i,e,s){var a,h;if(4==e){var u=i/1.414;a=o+u,h=r+u}else a=o+i,h=r;for(var l=[a,h],f=[],c=2*Math.PI/e,y=0;y<e;y++)f.push(o,p,r),t&&f.push(0,s,0),f.push(l[0],p,l[1]),t&&f.push(0,s,0),l=n(o,r,c*(y+1),a,h),f.push(l[0],p,l[1]),t&&f.push(0,s,0);return f}function p(t,n,o){if(o||2===arguments.length)for(var p,r=0,i=n.length;r<i;r++)!p&&r in n||(p||(p=Array.prototype.slice.call(n,0,r)),p[r]=n[r]);return t.concat(p||Array.prototype.slice.call(n))}function r(t,o,p,r,i,e,s){var a,h=[o,p+i,r],u=2*Math.PI/e;t&&h.push(0,i,0);for(var l=function(){h.push.apply(h,h.slice(h.length-(t?12:6)))},f=1;f<.5*e;f++){a=n(o,p,u*f,o,p+i),f>1&&l();var c=n(o,r,u*s,a[0],r);h.push(c[0],a[1],c[1]),t&&h.push(c[0]-o,a[1]-p,c[1]-r),f>1&&l();var y=n(o,r,u*(s+1),a[0],r);h.push(y[0],a[1],y[1]),t&&h.push(y[0]-o,y[1]-p,y[1]-r)}return l(),h.push(o,p-i,r),t&&h.push(0,-i,0),h}"function"==typeof SuppressedError&&SuppressedError;var i=function(){function i(t){void 0===t&&(t={}),this.name="Geometry",this.__option=function(t,n){for(var o in t)n[o]=t[o];return n}(t,{precision:.1,normal:!1})}return i.prototype.config=function(t){for(var n in t)this.__option[n]=t[n];return this},i.prototype.cylinder=function(n,o,p,r,i,e,s){var a=t(this.__option.precision,r);return 5==arguments.length?this.prism(n,o,p,r,i,a):this.prism(n,o,p,r,i,e,s,a)},i.prototype.prism=function(t,r,i,e,s,a,h,u){var l,f,c,y,v=null;6==arguments.length?(y=s,u=a):(y=Math.sqrt((s-t)*(s-t)+(a-r)*(a-r)+(h-i)*(h-i)),v=function(t,n,o,p,r,i){return function(e,s,a,h){var u,l,f,c=e-(h?0:t),y=s-(h?0:n),v=a-(h?0:o),m=p-t,_=r-n,d=i-o,g=Math.sqrt(m*m+d*d),M=d*(u=d/g)+m*(l=m/g),I=Math.sqrt(_*_+M*M);return u=M/I,y=(f=[y,c])[0]*(l=_/I)-f[1]*u,c=f[0]*u+f[1]*l,u=d/g,c=(f=[c,v])[0]*(l=m/g)-f[1]*u,v=f[0]*u+f[1]*l,[c+(h?0:t),y+(h?0:n),v+(h?0:o)]}}(t,r,i,s,a,h));var m=[{name:"bottom",points:[],length:0,method:"TRIANGLES"},{name:"top",points:[],length:0,method:"TRIANGLES"},{name:"side",points:[],length:0,method:"TRIANGLES"}];(l=m[0].points).push.apply(l,o(this.__option.normal,t,r,i,e,u,y>0?-1:1)),(f=m[1].points).push.apply(f,o(this.__option.normal,t,r+y,i,e,u,y>0?1:-1)),(c=m[2].points).push.apply(c,function(t,o,r,i,e,s,a){var h,u=[];h=4==a?n(o,i,.25*Math.PI,o-e,i):[o+e,i];for(var l,f=2*Math.PI/a,c=2*Math.PI/(2*a),y=[],v=0;v<a;v++){if(l=n.apply(void 0,p([o,i,f],h,!1)),t){var m=n.apply(void 0,p([o,i,c],h,!1));y=[m[0],0,m[1]]}u.push.apply(u,p([h[0],r,h[1]],y,!1)),u.push.apply(u,p([h[0],r+s,h[1]],y,!1)),u.push.apply(u,p([l[0],r+s,l[1]],y,!1)),u.push.apply(u,p([h[0],r,h[1]],y,!1)),u.push.apply(u,p([l[0],r,l[1]],y,!1)),u.push.apply(u,p([l[0],r+s,l[1]],y,!1)),h=l}return u}(this.__option.normal,t,r,i,e,y,u));for(var _=0;_<m.length;_++){if(v){for(var d=[],g=!1,M=0;M<m[_].points.length;M+=3)d.push.apply(d,v(m[_].points[M],m[_].points[M+1],m[_].points[M+2],this.__option.normal&&g)),g=!g;m[_].points=d}m[_].length=m[_].points.length/(this.__option.normal?6:3)}return m},i.prototype.sphere=function(n,o,p,i){for(var e,s=t(this.__option.precision,i),a=[{name:"surface",points:[],length:0,method:"TRIANGLES"}],h=0;h<s;h++)(e=a[0].points).push.apply(e,r(this.__option.normal,n,o,p,i,s,h));return a[0].length=a[0].points.length/(this.__option.normal?6:3),a},i}();return i},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Geometry=n();
11
+ var t,o;t=this,o=function(){"use strict";var t=function(t,o,n){void 0===n&&(n=2*Math.PI);var r=Math.ceil(n/Math.asin(t/o)*2);return isNaN(r)||r<12?12:r};function o(t,o,n,r,i){var p=Math.cos(n),e=Math.sin(n);return[(r-t)*p-(i-o)*e+t,(r-t)*e+(i-o)*p+o]}function n(t,n,r,i,p,e,s,a,h){var u,l;if(void 0===a&&(a=0),void 0===h&&(h=2*Math.PI),4==e){var f=p/1.414;u=n+f,l=i+f}else u=n+p,l=i;var c=[u,l];0!=a&&(c=o(n,i,a,u,l));for(var m=[],_=h/e,v=0;v<e;v++)m.push(n,r,i),t&&m.push(0,s,0),m.push(c[0],r,c[1]),t&&m.push(0,s,0),c=o(n,i,_*(v+1),u,l),m.push(c[0],r,c[1]),t&&m.push(0,s,0);return m}function r(t,o,n){if(n||2===arguments.length)for(var r,i=0,p=o.length;i<p;i++)!r&&i in o||(r||(r=Array.prototype.slice.call(o,0,i)),r[i]=o[i]);return t.concat(r||Array.prototype.slice.call(o))}function i(t,n,i,p,e,s,a,h,u){void 0===h&&(h=0),void 0===u&&(u=2*Math.PI);var l,f=[];l=4==a?o(n,p,.25*Math.PI,n-e,p):[n+e,p],0!=h&&(l=o.apply(void 0,r([n,p,h],l,!1)));for(var c,m=u/a,_=u/(2*a),v=[],y=0;y<a;y++){if(c=o.apply(void 0,r([n,p,m],l,!1)),t){var d=o.apply(void 0,r([n,p,_],l,!1));v=[d[0],0,d[1]]}f.push.apply(f,r([l[0],i,l[1]],v,!1)),f.push.apply(f,r([l[0],i+s,l[1]],v,!1)),f.push.apply(f,r([c[0],i+s,c[1]],v,!1)),f.push.apply(f,r([l[0],i,l[1]],v,!1)),f.push.apply(f,r([c[0],i,c[1]],v,!1)),f.push.apply(f,r([c[0],i+s,c[1]],v,!1)),l=c}return f}function p(t,n,r,i,p,e,s){var a,h=[n,r+p,i],u=2*Math.PI/e;t&&h.push(0,p,0);for(var l=function(){h.push.apply(h,h.slice(h.length-(t?12:6)))},f=1;f<.5*e;f++){a=o(n,r,u*f,n,r+p),f>1&&l();var c=o(n,i,u*s,a[0],i);h.push(c[0],a[1],c[1]),t&&h.push(c[0]-n,a[1]-r,c[1]-i),f>1&&l();var m=o(n,i,u*(s+1),a[0],i);h.push(m[0],a[1],m[1]),t&&h.push(m[0]-n,m[1]-r,m[1]-i)}return l(),h.push(n,r-p,i),t&&h.push(0,-p,0),h}function e(t,o,n,r,i,p){return function(e,s,a,h){if(t==r&&n==p)return[e,s,a];var u,l,f,c=e-(h?0:t),m=s-(h?0:o),_=a-(h?0:n),v=r-t,y=i-o,d=p-n,g=Math.sqrt(v*v+d*d),I=d*(u=d/g)+v*(l=v/g),M=Math.sqrt(y*y+I*I);return u=I/M,m=(f=[m,c])[0]*(l=y/M)-f[1]*u,c=f[0]*u+f[1]*l,u=d/g,c=(f=[c,_])[0]*(l=v/g)-f[1]*u,_=f[0]*u+f[1]*l,[c+(h?0:t),m+(h?0:o),_+(h?0:n)]}}"function"==typeof SuppressedError&&SuppressedError;var s=function(){function o(t){void 0===t&&(t={}),this.name="Geometry",this.__option=function(t,o){for(var n in t)o[n]=t[n];return o}(t,{precision:.1,normal:!1})}return o.prototype.config=function(t){for(var o in t)this.__option[o]=t[o];return this},o.prototype.splitNum=function(o,n){return t(this.__option.precision,o,n)},o.prototype.rotateLine=function(t,o,n,r,i,p){var s=this,a=e(t,o,n,r,i,p);return function(t,o,n){return a(t,o,n,s.__option.normal)}},o.prototype.prismHorizontal=function(t,o,r,i,p,e,s,a){return n(this.__option.normal,t,o,r,i,p,e,s,a)},o.prototype.prismVertical=function(t,o,n,r,p,e,s,a){return i(this.__option.normal,t,o,n,r,p,e,s,a)},o.prototype.sphereFragment=function(t,o,n,r,i,e){return p(this.__option.normal,t,o,n,r,i,e)},o.prototype.pie=function(o,r,p,e,s,a,h){var u=t(this.__option.precision,e,h);return[{name:"bottom",points:n(this.__option.normal,o,r,p,e,u,s>0?-1:1,a,h),length:3*u,method:"TRIANGLES"},{name:"top",points:n(this.__option.normal,o,r+s,p,e,u,s>0?1:-1,a,h),length:3*u,method:"TRIANGLES"},{name:"side",points:i(this.__option.normal,o,r,p,e,s,u,a,h),length:6*u,method:"TRIANGLES"}]},o.prototype.cylinder=function(o,n,r,i,p,e,s){var a=t(this.__option.precision,i);return 5==arguments.length?this.prism(o,n,r,i,p,a):this.prism(o,n,r,i,p,e,s,a)},o.prototype.prism=function(t,o,r,p,s,a,h,u){var l,f,c,m,_=null;6==arguments.length?(m=s,u=a):(m=(o>a?-1:1)*Math.sqrt((s-t)*(s-t)+(a-o)*(a-o)+(h-r)*(h-r)),_=e(t,o,r,s,a,h));var v=[{name:"bottom",points:[],length:0,method:"TRIANGLES"},{name:"top",points:[],length:0,method:"TRIANGLES"},{name:"side",points:[],length:0,method:"TRIANGLES"}];(l=v[0].points).push.apply(l,n(this.__option.normal,t,o,r,p,u,m>0?-1:1)),(f=v[1].points).push.apply(f,n(this.__option.normal,t,o+m,r,p,u,m>0?1:-1)),(c=v[2].points).push.apply(c,i(this.__option.normal,t,o,r,p,m,u));for(var y=0;y<v.length;y++){if(_){for(var d=[],g=!1,I=0;I<v[y].points.length;I+=3)d.push.apply(d,_(v[y].points[I],v[y].points[I+1],v[y].points[I+2],this.__option.normal&&g)),g=!g;v[y].points=d}v[y].length=v[y].points.length/(this.__option.normal?6:3)}return v},o.prototype.sphere=function(o,n,r,i){for(var e,s=t(this.__option.precision,i),a=[{name:"surface",points:[],length:0,method:"TRIANGLES"}],h=0;h<s;h++)(e=a[0].points).push.apply(e,p(this.__option.normal,o,n,r,i,s,h));return a[0].length=a[0].points.length/(this.__option.normal?6:3),a},o}();return s},"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Geometry=o();
@@ -0,0 +1,3 @@
1
+ import { Hermite } from "../../types/index"
2
+
3
+ export default Hermite
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -0,0 +1,3 @@
1
+ import { Hermite } from "../../types/index"
2
+
3
+ export default Hermite
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var t,i;t=this,i=function(){"use strict";return function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,e,o,s,_){if(!(t<e))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=e;var n=this.__u*s,r=this.__u*_;return i/=e-t,o/=e-t,this.__MR=[2*i-2*o+n+r,3*o-3*i-2*n-r,n,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}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Hermite=i();
@@ -0,0 +1,3 @@
1
+ import { Matrix4 } from "../../types/index"
2
+
3
+ export default Matrix4
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -0,0 +1,3 @@
1
+ import { Matrix4 } from "../../types/index"
2
+
3
+ export default Matrix4
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var t,r;t=this,r=function(){"use strict";var t=function(t,r){for(var i=[],e=0;e<4;e++)for(var o=0;o<r.length/4;o++)i[4*o+e]=t[e]*r[4*o]+t[e+4]*r[4*o+1]+t[e+8]*r[4*o+2]+t[e+12]*r[4*o+3];return i},r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return function(){function i(t){void 0===t&&(t=r),this.name="Matrix4",this.__matrix4=t}return i.prototype.setValue=function(t){return void 0===t&&(t=r),this.__matrix4=t,this},i.prototype.move=function(r,i,e,o){return void 0===o&&(o=0),this.__matrix4=t(function(t,r,i,e){void 0===e&&(e=0);var o=Math.sqrt(r*r+i*i+e*e);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/o,i*t/o,e*t/o,1]}(r,i,e,o),this.__matrix4),this},i.prototype.rotate=function(r,i,e,o,n,u,a){var s=function(t,r,i,e,o,n){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof i?(i=0,e=t,o=r,n=1):"number"==typeof e&&"number"==typeof o&&"number"==typeof n||(e=t,o=r,n=i,t=0,r=0,i=0),t==e&&r==o&&i==n)throw new Error("It's not a legitimate ray!");var u=Math.sqrt((e-t)*(e-t)+(o-r)*(o-r)),a=0!=u?(o-r)/u:1,s=0!=u?(e-t)/u:0,f=(e-t)*s+(o-r)*a,h=n-i,p=Math.sqrt(f*f+h*h),_=0!=p?h/p:1,m=0!=p?f/p:0;return[[a,_*s,s*m,0,-s,a*_,a*m,0,0,-m,_,0,r*s-t*a,i*m-t*s*_-r*a*_,-t*s*m-r*a*m-i*_,1],[a,-s,0,0,_*s,_*a,-m,0,s*m,a*m,_,0,t,r,i,1]]}throw new Error("a1 and b1 is required!")}(i,e,o,n,u,a);return this.__matrix4=t(t(t(s[1],function(t){var r=Math.sin(t),i=Math.cos(t);return[i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1]}(r)),s[0]),this.__matrix4),this},i.prototype.scale=function(r,i,e,o,n,u){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===u&&(u=0),this.__matrix4=t(function(t,r,i,e,o,n){return void 0===e&&(e=0),void 0===o&&(o=0),void 0===n&&(n=0),[t,0,0,0,0,r,0,0,0,0,i,0,e-e*t,o-o*r,n-n*i,1]}(r,i,e,o,n,u),this.__matrix4),this},i.prototype.multiply=function(r,i){return void 0===i&&(i=!1),this.__matrix4=i?t(this.__matrix4,r):t(r,this.__matrix4),this},i.prototype.use=function(r,i,e,o){return void 0===e&&(e=0),void 0===o&&(o=1),t(this.__matrix4,[r,i,e,o])},i.prototype.value=function(){return this.__matrix4},i}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Matrix4=r();
@@ -0,0 +1,3 @@
1
+ import { Mercator } from "../../types/index"
2
+
3
+ export default Mercator
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  (function (global, factory) {
12
12
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -0,0 +1,3 @@
1
+ import { Mercator } from "../../types/index"
2
+
3
+ export default Mercator
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  var e,t;e=this,t=function(){"use strict";return function(e,t){void 0===e&&(e=7),void 0===t&&(t=[107,36]),this.name="Mercator";var o=100*e*Math.PI/180,i=o*t[0],n=-1*o*t[1];this.use=function(e,t){return[.8*(o*e-i),-1*o*t-n,0]}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_Mercator=t();
@@ -0,0 +1,3 @@
1
+ import { OralCanvas } from "../../types/index"
2
+
3
+ export default OralCanvas
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  /******************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
@@ -490,6 +490,30 @@ var Painter = (function () {
490
490
  return this;
491
491
  };
492
492
  Painter.prototype.draw = function () { };
493
+ Painter.prototype.drawImage = function (img, x, y, w, h, isUniapp) {
494
+ var _this = this;
495
+ if (isUniapp === void 0) { isUniapp = false; }
496
+ return new Promise(function (resolve) {
497
+ if (_this.__region) {
498
+ _this.__region.fillRect(x, y, w, h);
499
+ resolve({});
500
+ }
501
+ if (_this.__isPainter && _this.__onlyRegion)
502
+ return _this;
503
+ if (typeof img == 'string' && !isUniapp) {
504
+ var imgInstance_1 = new Image();
505
+ imgInstance_1.onload = function () {
506
+ _this.painter.drawImage(imgInstance_1, x, y, w, h);
507
+ resolve({});
508
+ };
509
+ imgInstance_1.src = img;
510
+ }
511
+ else {
512
+ _this.painter.drawImage(img, x, y, w, h);
513
+ resolve({});
514
+ }
515
+ });
516
+ };
493
517
  return Painter;
494
518
  }());
495
519
 
@@ -0,0 +1,3 @@
1
+ import { OralCanvas } from "../../types/index"
2
+
3
+ export default OralCanvas
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
- 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"==typeof SuppressedError&&SuppressedError;var i=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 e=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,e,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,e,n,r,o,s,_){e<0&&(t+=e,e*=-1);var a,h=[];a=i(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=i(0,0,e,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=i(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=i(0,0,e,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+e,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(i,_,a,h,l,p,f,u,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(n,r,o,i,_,!1),"round"==e.arcEndCap?t.arc(.5*(f+c),.5*(u+g),y,_-Math.PI,_,!0):"-round"==e.arcEndCap?t.arc(.5*(f+c),.5*(u+g),y,_-Math.PI,_,!1):t.lineTo(c,g),t.arc(n,r,s,_,i,!0),"round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!0):"-round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!1):t.lineTo(a,h)})),"butt"==e.arcStartCap&&t.closePath(),t},r=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},o=function(t,i,e,n,r){return t.beginPath(),t.rect(i,e,n,r),t};function s(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}var _=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__specialConfig={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},this.__initConfig={fillStyle:"black",strokeStyle:"black",lineWidth:1,textAlign:"left",textBaseline:"middle",lineDash:[],shadowBlur:0,shadowColor:"black"},this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&["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,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fillText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.strokeText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fullText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&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.__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.__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.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&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.__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.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.fillArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fillArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,r,o,s){return this.__region&&this.__region.strokeArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fullArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||(n(this.painter,this.__specialConfig,t,i,e,r,o,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(r(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(o(this.painter,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){},t}();var a={"font-size":"fontSize","font-family":"fontFamily","font-weight":"fontWeight","font-style":"fontStyle","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},h=function(i){function n(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new _(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)}(n,i),n.prototype.config=function(t){for(var i in t){var e=a[i]||i;this.useConfig(e,t[i])}return this},n.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},n.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},n.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()}))}))},n.prototype.textWidth=function(t){this.painter.save(),e(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},n.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},n.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},n.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r),s={value:function(){return o},setColor:function(t,i){return o.addColorStop(t,i),s}};return s}(this.painter,t,i,e,n)},n.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n),o={value:function(){return r},setColor:function(t,i){return r.addColorStop(t,i),o}};return o}(this.painter,t,i,e)},n.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]+")"},n}(_);export{h as default};
11
+ 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"==typeof SuppressedError&&SuppressedError;var i=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 e=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,e,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,e,n,r,o,s,_){e<0&&(t+=e,e*=-1);var a,h=[];a=i(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=i(0,0,e,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=i(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=i(0,0,e,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+e,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(i,_,a,h,l,p,f,u,g,c,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(n,r,o,i,_,!1),"round"==e.arcEndCap?t.arc(.5*(f+g),.5*(u+c),y,_-Math.PI,_,!0):"-round"==e.arcEndCap?t.arc(.5*(f+g),.5*(u+c),y,_-Math.PI,_,!1):t.lineTo(g,c),t.arc(n,r,s,_,i,!0),"round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!0):"-round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!1):t.lineTo(a,h)})),"butt"==e.arcStartCap&&t.closePath(),t},r=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},o=function(t,i,e,n,r){return t.beginPath(),t.rect(i,e,n,r),t};function s(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}var _=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__specialConfig={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},this.__initConfig={fillStyle:"black",strokeStyle:"black",lineWidth:1,textAlign:"left",textBaseline:"middle",lineDash:[],shadowBlur:0,shadowColor:"black"},this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&["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,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fillText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.strokeText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fullText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(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.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&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.__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.__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.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&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.__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.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.fillArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fillArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,r,o,s){return this.__region&&this.__region.strokeArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fullArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||(n(this.painter,this.__specialConfig,t,i,e,r,o,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(r(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(o(this.painter,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){},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.__region.fillRect(i,e,n,r),_({})),s.__isPainter&&s.__onlyRegion)return s;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}();var a={"font-size":"fontSize","font-family":"fontFamily","font-weight":"fontWeight","font-style":"fontStyle","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},h=function(i){function n(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new _(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)}(n,i),n.prototype.config=function(t){for(var i in t){var e=a[i]||i;this.useConfig(e,t[i])}return this},n.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},n.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},n.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()}))}))},n.prototype.textWidth=function(t){this.painter.save(),e(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},n.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},n.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},n.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r),s={value:function(){return o},setColor:function(t,i){return o.addColorStop(t,i),s}};return s}(this.painter,t,i,e,n)},n.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n),o={value:function(){return r},setColor:function(t,i){return r.addColorStop(t,i),o}};return o}(this.painter,t,i,e)},n.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]+")"},n}(_);export{h as default};
@@ -0,0 +1,3 @@
1
+ import { OralWebGL } from "../../types/index"
2
+
3
+ export default OralWebGL
@@ -1,12 +1,12 @@
1
1
  /*!
2
- * VISLite JavaScript Library v0.7.1
2
+ * VISLite JavaScript Library v0.8.0-alpha.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  *
5
5
  * Copyright zxl20070701
6
6
  * Released under the MIT license
7
7
  * https://zxl20070701.github.io/notebook/home.html
8
8
  *
9
- * Publish Date: Sat Jan 20 2024 00:04:36 GMT+0800 (中国标准时间)
9
+ * Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
10
10
  */
11
11
  /******************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
@@ -40,8 +40,9 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
40
40
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
41
41
  };
42
42
 
43
- function getWebGLContext (canvas, scale, opts) {
43
+ function getWebGLContext (canvas, scale, opts, mode) {
44
44
  if (opts === void 0) { opts = {}; }
45
+ if (mode === void 0) { mode = "scaleToFill"; }
45
46
  var names = ["experimental-webgl", "webkit-3d", "moz-webgl"];
46
47
  var painter = canvas.getContext("webgl", opts);
47
48
  for (var i = 0; i < names.length; i++) {
@@ -55,8 +56,25 @@ function getWebGLContext (canvas, scale, opts) {
55
56
  if (!painter)
56
57
  throw new Error('Non canvas or browser does not support webgl.');
57
58
  var width = painter.canvas.width, height = painter.canvas.height;
58
- var viewWidth = width * scale;
59
- var viewHeight = height * scale;
59
+ var scaleX = scale, scaleY = scale;
60
+ if (mode == "aspectFit") {
61
+ if (width > height) {
62
+ scaleX *= height / width;
63
+ }
64
+ else if (height > width) {
65
+ scaleY *= width / height;
66
+ }
67
+ }
68
+ else if (mode == "aspectFill") {
69
+ if (width > height) {
70
+ scaleY *= width / height;
71
+ }
72
+ else if (height > width) {
73
+ scaleX *= height / width;
74
+ }
75
+ }
76
+ var viewWidth = width * scaleX;
77
+ var viewHeight = height * scaleY;
60
78
  painter.viewport((width - viewWidth) * 0.5, (height - viewHeight) * 0.5, viewWidth, viewHeight);
61
79
  painter.depthFunc(painter.LEQUAL);
62
80
  painter.enable(painter.DEPTH_TEST);
@@ -460,7 +478,7 @@ function assemble (begin, end, step, count) {
460
478
  var needUpdate = false;
461
479
  var scale = 10;
462
480
  var WebGL = (function () {
463
- function WebGL(ViewCanvas, RegionCanvas) {
481
+ function WebGL(ViewCanvas, RegionCanvas, mode) {
464
482
  this.name = "WebGL";
465
483
  this.__getColor = function (x, y) { return "rgba(0,0,0,1)"; };
466
484
  this.__regionList = {};
@@ -477,9 +495,9 @@ var WebGL = (function () {
477
495
  ])
478
496
  };
479
497
  this.__unique = new Date().valueOf();
480
- this.painter = getWebGLContext(ViewCanvas, scale);
498
+ this.painter = getWebGLContext(ViewCanvas, scale, {}, mode);
481
499
  if (RegionCanvas) {
482
- this.__regionPainter = getWebGLContext(RegionCanvas, scale, {});
500
+ this.__regionPainter = getWebGLContext(RegionCanvas, scale, {}, mode);
483
501
  }
484
502
  var proportion = this.painter.canvas.width / this.painter.canvas.height;
485
503
  var xProportion = 1;
@@ -0,0 +1,3 @@
1
+ import { OralWebGL } from "../../types/index"
2
+
3
+ export default OralWebGL