vislite 0.8.0 → 0.8.1-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.
- package/CHANGELOG +212 -209
- package/README.md +136 -144
- package/lib/Buffer/index.umd.js +36 -36
- package/lib/Buffer/index.umd.min.js +2 -2
- package/lib/Canvas/index.umd.js +691 -691
- package/lib/Canvas/index.umd.min.js +2 -2
- package/lib/Cardinal/index.umd.js +91 -91
- package/lib/Cardinal/index.umd.min.js +2 -2
- package/lib/Eoap/index.umd.js +34 -34
- package/lib/Eoap/index.umd.min.js +2 -2
- package/lib/Geometry/index.umd.js +286 -286
- package/lib/Geometry/index.umd.min.js +2 -2
- package/lib/Hermite/index.umd.js +36 -36
- package/lib/Hermite/index.umd.min.js +2 -2
- package/lib/Matrix4/index.umd.js +125 -125
- package/lib/Matrix4/index.umd.min.js +2 -2
- package/lib/Mercator/index.umd.js +20 -20
- package/lib/Mercator/index.umd.min.js +2 -2
- package/lib/OralCanvas/index.es.js +634 -634
- package/lib/OralCanvas/index.es.min.js +2 -2
- package/lib/OralWebGL/index.es.js +552 -552
- package/lib/OralWebGL/index.es.min.js +2 -2
- package/lib/SVG/index.umd.js +471 -471
- package/lib/SVG/index.umd.min.js +2 -2
- package/lib/Shader/index.umd.js +61 -61
- package/lib/Shader/index.umd.min.js +2 -2
- package/lib/Texture/index.umd.js +54 -54
- package/lib/Texture/index.umd.min.js +2 -2
- package/lib/TreeLayout/index.umd.js +368 -368
- package/lib/TreeLayout/index.umd.min.js +2 -2
- package/lib/WebGL/index.umd.js +599 -599
- package/lib/WebGL/index.umd.min.js +2 -2
- package/lib/animation/index.umd.js +73 -73
- package/lib/animation/index.umd.min.js +2 -2
- package/lib/formatColor/index.umd.js +40 -40
- package/lib/formatColor/index.umd.min.js +2 -2
- package/lib/getLoopColors/index.umd.js +36 -36
- package/lib/getLoopColors/index.umd.min.js +2 -2
- package/lib/getWebGLContext/index.umd.js +63 -63
- package/lib/getWebGLContext/index.umd.min.js +2 -2
- package/lib/index.umd.js +2955 -2955
- package/lib/index.umd.min.js +2 -2
- package/lib/move/index.umd.js +8 -8
- package/lib/move/index.umd.min.js +2 -2
- package/lib/resizeObserver/index.umd.js +30 -30
- package/lib/resizeObserver/index.umd.min.js +2 -2
- package/lib/rotate/index.umd.js +8 -8
- package/lib/rotate/index.umd.min.js +2 -2
- package/lib/ruler/index.umd.js +138 -138
- package/lib/ruler/index.umd.min.js +2 -2
- package/lib/scale/index.umd.js +7 -7
- package/lib/scale/index.umd.min.js +2 -2
- package/lib/throttle/index.umd.js +49 -49
- package/lib/throttle/index.umd.min.js +2 -2
- package/lib/viewHandler/index.umd.js +120 -120
- package/lib/viewHandler/index.umd.min.js +2 -2
- package/miniprogram/ui-canvas/drawImage.js +34 -0
- package/miniprogram/ui-canvas/index.js +10 -2
- package/package/getWebGLContext/index.ts +40 -40
- package/package.json +70 -70
- package/src/Canvas.ts +72 -72
- package/src/Geometry.ts +210 -210
- package/src/WebGL.ts +66 -66
- package/src/common/canvas/index.ts +183 -183
- package/src/common/canvas/painter.ts +446 -446
- package/src/common/geometry/prism-horizontal.ts +50 -50
- package/src/common/geometry/prism-vertical.ts +55 -55
- package/src/common/geometry/tool/circle.ts +17 -17
- package/src/common/geometry/tool/rotateLine.ts +48 -48
- package/src/common/geometry/tool/triangles.ts +23 -23
- package/src/common/webgl/getWebGLContext.ts +45 -45
- package/src/common/webgl/index.ts +227 -227
- package/types/Canvas.d.ts +318 -318
- package/types/Geometry.d.ts +132 -132
- package/types/WebGLOption.d.ts +14 -14
- package/types/getWebGLContext.d.ts +4 -4
- package/types/ui-canvas.d.ts +4 -4
- package/uni-app/drawImage.js +17 -17
- package/uni-app/ui-canvas.vue +290 -290
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.8.0
|
|
2
|
+
* VISLite JavaScript Library v0.8.1-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:
|
|
9
|
+
* Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -14,124 +14,124 @@
|
|
|
14
14
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_viewHandler = factory());
|
|
15
15
|
})(this, (function () { 'use strict';
|
|
16
16
|
|
|
17
|
-
var mousePosition = function (el, event) {
|
|
18
|
-
var bounding = el.getBoundingClientRect();
|
|
19
|
-
return {
|
|
20
|
-
"x": event.clientX - bounding.left,
|
|
21
|
-
"y": event.clientY - bounding.top
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
var getKeyString = function (event) {
|
|
25
|
-
return {
|
|
26
|
-
37: "left",
|
|
27
|
-
38: "up",
|
|
28
|
-
39: "right",
|
|
29
|
-
40: "down",
|
|
30
|
-
}[event.keyCode || event.which];
|
|
31
|
-
};
|
|
32
|
-
function viewHandler (callback) {
|
|
33
|
-
var el = document.getElementsByTagName('body')[0];
|
|
34
|
-
el.addEventListener("keydown", function (event) {
|
|
35
|
-
var keyCode = getKeyString(event);
|
|
36
|
-
if (keyCode == 'up') {
|
|
37
|
-
callback({
|
|
38
|
-
type: "lookUp",
|
|
39
|
-
normal: [],
|
|
40
|
-
value: 0.1,
|
|
41
|
-
event: event
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else if (keyCode == 'down') {
|
|
45
|
-
callback({
|
|
46
|
-
type: "lookDown",
|
|
47
|
-
normal: [],
|
|
48
|
-
value: 0.1,
|
|
49
|
-
event: event
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else if (keyCode == 'left') {
|
|
53
|
-
callback({
|
|
54
|
-
type: "lookLeft",
|
|
55
|
-
normal: [],
|
|
56
|
-
value: 0.1,
|
|
57
|
-
event: event
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
else if (keyCode == 'right') {
|
|
61
|
-
callback({
|
|
62
|
-
type: "lookRight",
|
|
63
|
-
normal: [],
|
|
64
|
-
value: 0.1,
|
|
65
|
-
event: event
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
var mouseP = null;
|
|
70
|
-
var doMove = function (event) {
|
|
71
|
-
if (mouseP == null) {
|
|
72
|
-
callback({
|
|
73
|
-
type: "hover",
|
|
74
|
-
normal: [],
|
|
75
|
-
value: 0,
|
|
76
|
-
event: event
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
var tempMouseP = mousePosition(el, event);
|
|
81
|
-
var normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y];
|
|
82
|
-
var rotateNormal = [
|
|
83
|
-
normal[1],
|
|
84
|
-
normal[0],
|
|
85
|
-
0
|
|
86
|
-
];
|
|
87
|
-
if (rotateNormal[0] == 0 && rotateNormal[1] == 0)
|
|
88
|
-
return;
|
|
89
|
-
callback({
|
|
90
|
-
type: "rotate",
|
|
91
|
-
normal: rotateNormal,
|
|
92
|
-
value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
|
|
93
|
-
event: event
|
|
94
|
-
});
|
|
95
|
-
mouseP = tempMouseP;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
el.addEventListener("mousedown", function (event) {
|
|
99
|
-
mouseP = mousePosition(el, event);
|
|
100
|
-
});
|
|
101
|
-
el.addEventListener("mouseup", function () {
|
|
102
|
-
mouseP = null;
|
|
103
|
-
});
|
|
104
|
-
el.addEventListener("mousemove", function (event) {
|
|
105
|
-
doMove(event);
|
|
106
|
-
});
|
|
107
|
-
el.addEventListener("touchend", function () {
|
|
108
|
-
mouseP = null;
|
|
109
|
-
});
|
|
110
|
-
el.addEventListener("touchstart", function (event) {
|
|
111
|
-
mouseP = mousePosition(el, event);
|
|
112
|
-
});
|
|
113
|
-
el.addEventListener("touchmove", function (event) {
|
|
114
|
-
doMove(event.touches[0]);
|
|
115
|
-
});
|
|
116
|
-
var doScale = function (value, event) {
|
|
117
|
-
if (value == 0)
|
|
118
|
-
return;
|
|
119
|
-
var baseTimes = 0.899;
|
|
120
|
-
callback({
|
|
121
|
-
type: "scale",
|
|
122
|
-
value: value < 0 ? baseTimes : 2 - baseTimes,
|
|
123
|
-
normal: [],
|
|
124
|
-
event: event
|
|
125
|
-
});
|
|
126
|
-
};
|
|
127
|
-
el.addEventListener("mousewheel", function (event) {
|
|
128
|
-
doScale(event.wheelDelta, event);
|
|
129
|
-
});
|
|
130
|
-
if (window.addEventListener) {
|
|
131
|
-
window.addEventListener('DOMMouseScroll', function (event) {
|
|
132
|
-
doScale(-1 * event.detail, event);
|
|
133
|
-
}, false);
|
|
134
|
-
}
|
|
17
|
+
var mousePosition = function (el, event) {
|
|
18
|
+
var bounding = el.getBoundingClientRect();
|
|
19
|
+
return {
|
|
20
|
+
"x": event.clientX - bounding.left,
|
|
21
|
+
"y": event.clientY - bounding.top
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
var getKeyString = function (event) {
|
|
25
|
+
return {
|
|
26
|
+
37: "left",
|
|
27
|
+
38: "up",
|
|
28
|
+
39: "right",
|
|
29
|
+
40: "down",
|
|
30
|
+
}[event.keyCode || event.which];
|
|
31
|
+
};
|
|
32
|
+
function viewHandler (callback) {
|
|
33
|
+
var el = document.getElementsByTagName('body')[0];
|
|
34
|
+
el.addEventListener("keydown", function (event) {
|
|
35
|
+
var keyCode = getKeyString(event);
|
|
36
|
+
if (keyCode == 'up') {
|
|
37
|
+
callback({
|
|
38
|
+
type: "lookUp",
|
|
39
|
+
normal: [],
|
|
40
|
+
value: 0.1,
|
|
41
|
+
event: event
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else if (keyCode == 'down') {
|
|
45
|
+
callback({
|
|
46
|
+
type: "lookDown",
|
|
47
|
+
normal: [],
|
|
48
|
+
value: 0.1,
|
|
49
|
+
event: event
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
else if (keyCode == 'left') {
|
|
53
|
+
callback({
|
|
54
|
+
type: "lookLeft",
|
|
55
|
+
normal: [],
|
|
56
|
+
value: 0.1,
|
|
57
|
+
event: event
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else if (keyCode == 'right') {
|
|
61
|
+
callback({
|
|
62
|
+
type: "lookRight",
|
|
63
|
+
normal: [],
|
|
64
|
+
value: 0.1,
|
|
65
|
+
event: event
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
var mouseP = null;
|
|
70
|
+
var doMove = function (event) {
|
|
71
|
+
if (mouseP == null) {
|
|
72
|
+
callback({
|
|
73
|
+
type: "hover",
|
|
74
|
+
normal: [],
|
|
75
|
+
value: 0,
|
|
76
|
+
event: event
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
var tempMouseP = mousePosition(el, event);
|
|
81
|
+
var normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y];
|
|
82
|
+
var rotateNormal = [
|
|
83
|
+
normal[1],
|
|
84
|
+
normal[0],
|
|
85
|
+
0
|
|
86
|
+
];
|
|
87
|
+
if (rotateNormal[0] == 0 && rotateNormal[1] == 0)
|
|
88
|
+
return;
|
|
89
|
+
callback({
|
|
90
|
+
type: "rotate",
|
|
91
|
+
normal: rotateNormal,
|
|
92
|
+
value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
|
|
93
|
+
event: event
|
|
94
|
+
});
|
|
95
|
+
mouseP = tempMouseP;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
el.addEventListener("mousedown", function (event) {
|
|
99
|
+
mouseP = mousePosition(el, event);
|
|
100
|
+
});
|
|
101
|
+
el.addEventListener("mouseup", function () {
|
|
102
|
+
mouseP = null;
|
|
103
|
+
});
|
|
104
|
+
el.addEventListener("mousemove", function (event) {
|
|
105
|
+
doMove(event);
|
|
106
|
+
});
|
|
107
|
+
el.addEventListener("touchend", function () {
|
|
108
|
+
mouseP = null;
|
|
109
|
+
});
|
|
110
|
+
el.addEventListener("touchstart", function (event) {
|
|
111
|
+
mouseP = mousePosition(el, event);
|
|
112
|
+
});
|
|
113
|
+
el.addEventListener("touchmove", function (event) {
|
|
114
|
+
doMove(event.touches[0]);
|
|
115
|
+
});
|
|
116
|
+
var doScale = function (value, event) {
|
|
117
|
+
if (value == 0)
|
|
118
|
+
return;
|
|
119
|
+
var baseTimes = 0.899;
|
|
120
|
+
callback({
|
|
121
|
+
type: "scale",
|
|
122
|
+
value: value < 0 ? baseTimes : 2 - baseTimes,
|
|
123
|
+
normal: [],
|
|
124
|
+
event: event
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
el.addEventListener("mousewheel", function (event) {
|
|
128
|
+
doScale(event.wheelDelta, event);
|
|
129
|
+
});
|
|
130
|
+
if (window.addEventListener) {
|
|
131
|
+
window.addEventListener('DOMMouseScroll', function (event) {
|
|
132
|
+
doScale(-1 * event.detail, event);
|
|
133
|
+
}, false);
|
|
134
|
+
}
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
return viewHandler;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.8.0
|
|
2
|
+
* VISLite JavaScript Library v0.8.1-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:
|
|
9
|
+
* Publish Date: Tue Apr 02 2024 14:46:44 GMT+0800 (China Standard Time)
|
|
10
10
|
*/
|
|
11
11
|
var e,n;e=this,n=function(){"use strict";var e=function(e,n){var t=e.getBoundingClientRect();return{x:n.clientX-t.left,y:n.clientY-t.top}};return function(n){var t=document.getElementsByTagName("body")[0];t.addEventListener("keydown",(function(e){var t=function(e){return{37:"left",38:"up",39:"right",40:"down"}[e.keyCode||e.which]}(e);"up"==t?n({type:"lookUp",normal:[],value:.1,event:e}):"down"==t?n({type:"lookDown",normal:[],value:.1,event:e}):"left"==t?n({type:"lookLeft",normal:[],value:.1,event:e}):"right"==t&&n({type:"lookRight",normal:[],value:.1,event:e})}));var o=null,i=function(i){if(null==o)n({type:"hover",normal:[],value:0,event:i});else{var u=e(t,i),l=[u.x-o.x,u.y-o.y],a=[l[1],l[0],0];if(0==a[0]&&0==a[1])return;n({type:"rotate",normal:a,value:.01*(Math.abs(u.x-o.x)+Math.abs(u.y-o.y)),event:i}),o=u}};t.addEventListener("mousedown",(function(n){o=e(t,n)})),t.addEventListener("mouseup",(function(){o=null})),t.addEventListener("mousemove",(function(e){i(e)})),t.addEventListener("touchend",(function(){o=null})),t.addEventListener("touchstart",(function(n){o=e(t,n)})),t.addEventListener("touchmove",(function(e){i(e.touches[0])}));var u=function(e,t){0!=e&&n({type:"scale",value:e<0?.899:1.101,normal:[],event:t})};t.addEventListener("mousewheel",(function(e){u(e.wheelDelta,e)})),window.addEventListener&&window.addEventListener("DOMMouseScroll",(function(e){u(-1*e.detail,e)}),!1)}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_viewHandler=n();
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export default function (_this, drawImage, canvas) {
|
|
2
|
+
return function (imgUrl, x, y, w, h) {
|
|
3
|
+
return new Promise((resolve) => {
|
|
4
|
+
|
|
5
|
+
let doit = (imgsrc) => {
|
|
6
|
+
if (canvas.createImage) {
|
|
7
|
+
let img = canvas.createImage();
|
|
8
|
+
img.onload = function () {
|
|
9
|
+
drawImage.call(_this, img, x, y, w, h, true);
|
|
10
|
+
resolve({});
|
|
11
|
+
};
|
|
12
|
+
img.src = imgsrc;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// 低版本兼容
|
|
16
|
+
else {
|
|
17
|
+
drawImage.call(_this, imgsrc, x, y, w, h, true);
|
|
18
|
+
resolve({});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
if (/^http/.test(imgUrl)) {
|
|
23
|
+
wx.downloadFile({
|
|
24
|
+
url: imgUrl,
|
|
25
|
+
success: function (res) {
|
|
26
|
+
doit(res.tempFilePath);
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
} else {
|
|
30
|
+
doit(imgUrl);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import OralCanvas from "../../lib/OralCanvas/index.es.js";
|
|
2
|
+
import drawImage from "./drawImage.js";
|
|
2
3
|
|
|
3
4
|
let dpr = wx.getSystemInfoSync().pixelRatio;
|
|
4
5
|
|
|
@@ -49,14 +50,14 @@ Component({
|
|
|
49
50
|
ctx.scale(dpr, dpr);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
doback(ctx);
|
|
53
|
+
doback(ctx, idName != 'region' ? canvas : null);
|
|
53
54
|
});
|
|
54
55
|
} else {
|
|
55
56
|
doback(null);
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
59
|
|
|
59
|
-
getCanvasContext("painter", painter => {
|
|
60
|
+
getCanvasContext("painter", (painter, panvas) => {
|
|
60
61
|
getCanvasContext("region", region => {
|
|
61
62
|
this.data.help.instance = new OralCanvas({
|
|
62
63
|
getContext() {
|
|
@@ -78,6 +79,13 @@ Component({
|
|
|
78
79
|
}, this);
|
|
79
80
|
})
|
|
80
81
|
};
|
|
82
|
+
|
|
83
|
+
this.data.help.instance.drawImage = drawImage(
|
|
84
|
+
this.data.help.instance,
|
|
85
|
+
this.data.help.instance.drawImage,
|
|
86
|
+
panvas
|
|
87
|
+
);
|
|
88
|
+
|
|
81
89
|
resolve(this.data.help.instance);
|
|
82
90
|
});
|
|
83
91
|
});
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import getWebGLContext from "../../src/common/webgl/getWebGLContext"
|
|
2
|
-
import type { WebGLmodeType } from "../../types/getWebGLContext"
|
|
3
|
-
|
|
4
|
-
export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
|
|
5
|
-
if (!el) {
|
|
6
|
-
throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
let width = el.clientWidth, height = el.clientHeight
|
|
10
|
-
|
|
11
|
-
let ViewCanvas: HTMLCanvasElement
|
|
12
|
-
|
|
13
|
-
let _el = el as any
|
|
14
|
-
|
|
15
|
-
// 如果已经初始化过了
|
|
16
|
-
if (_el._vislite_canvas_) {
|
|
17
|
-
ViewCanvas = _el._vislite_canvas_
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// 否则就初始化
|
|
21
|
-
else {
|
|
22
|
-
|
|
23
|
-
ViewCanvas = document.createElement('canvas')
|
|
24
|
-
el.appendChild(ViewCanvas)
|
|
25
|
-
|
|
26
|
-
_el._vislite_canvas_ = ViewCanvas
|
|
27
|
-
|
|
28
|
-
el.setAttribute('vislite', 'WebGL')
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// 设置画布大小
|
|
33
|
-
|
|
34
|
-
ViewCanvas.style.width = width + "px"
|
|
35
|
-
ViewCanvas.setAttribute('width', width + "")
|
|
36
|
-
|
|
37
|
-
ViewCanvas.style.height = height + "px"
|
|
38
|
-
ViewCanvas.setAttribute('height', height + "")
|
|
39
|
-
|
|
40
|
-
return getWebGLContext(ViewCanvas, scale, {}, mode)
|
|
1
|
+
import getWebGLContext from "../../src/common/webgl/getWebGLContext"
|
|
2
|
+
import type { WebGLmodeType } from "../../types/getWebGLContext"
|
|
3
|
+
|
|
4
|
+
export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
|
|
5
|
+
if (!el) {
|
|
6
|
+
throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
let width = el.clientWidth, height = el.clientHeight
|
|
10
|
+
|
|
11
|
+
let ViewCanvas: HTMLCanvasElement
|
|
12
|
+
|
|
13
|
+
let _el = el as any
|
|
14
|
+
|
|
15
|
+
// 如果已经初始化过了
|
|
16
|
+
if (_el._vislite_canvas_) {
|
|
17
|
+
ViewCanvas = _el._vislite_canvas_
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 否则就初始化
|
|
21
|
+
else {
|
|
22
|
+
|
|
23
|
+
ViewCanvas = document.createElement('canvas')
|
|
24
|
+
el.appendChild(ViewCanvas)
|
|
25
|
+
|
|
26
|
+
_el._vislite_canvas_ = ViewCanvas
|
|
27
|
+
|
|
28
|
+
el.setAttribute('vislite', 'WebGL')
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// 设置画布大小
|
|
33
|
+
|
|
34
|
+
ViewCanvas.style.width = width + "px"
|
|
35
|
+
ViewCanvas.setAttribute('width', width + "")
|
|
36
|
+
|
|
37
|
+
ViewCanvas.style.height = height + "px"
|
|
38
|
+
ViewCanvas.setAttribute('height', height + "")
|
|
39
|
+
|
|
40
|
+
return getWebGLContext(ViewCanvas, scale, {}, mode)
|
|
41
41
|
}
|
package/package.json
CHANGED
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vislite",
|
|
3
|
-
"version": "0.8.0",
|
|
4
|
-
"description": "灵活、快速、简单的数据可视化交互式跨端前端库",
|
|
5
|
-
"main": "./lib/index.umd.min.js",
|
|
6
|
-
"typings": "./types/index.d.ts",
|
|
7
|
-
"unpkg": "./lib/index.umd.min.js",
|
|
8
|
-
"sideEffects": false,
|
|
9
|
-
"scripts": {
|
|
10
|
-
"dev": "webpack serve --config ./build/webpack.config.js",
|
|
11
|
-
"build": "devby --delete ./lib && node ./build/pkg.js",
|
|
12
|
-
"test": "karma start ./build/karma.config.js",
|
|
13
|
-
"lint": "eslint src/**/*.ts --fix"
|
|
14
|
-
},
|
|
15
|
-
"miniprogram": ".",
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/oi-contrib/VISLite.git"
|
|
19
|
-
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
"svg",
|
|
22
|
-
"webgl",
|
|
23
|
-
"typescript",
|
|
24
|
-
"canvas",
|
|
25
|
-
"vue",
|
|
26
|
-
"uniapp",
|
|
27
|
-
"miniprogram",
|
|
28
|
-
"image2d",
|
|
29
|
-
"image3d",
|
|
30
|
-
"oi-contrib",
|
|
31
|
-
"vislite",
|
|
32
|
-
"d3",
|
|
33
|
-
"zxl20070701",
|
|
34
|
-
"three",
|
|
35
|
-
"echarts",
|
|
36
|
-
"datav",
|
|
37
|
-
"webgpu",
|
|
38
|
-
"layout",
|
|
39
|
-
"algorithm"
|
|
40
|
-
],
|
|
41
|
-
"author": {
|
|
42
|
-
"name": "zxl20070701",
|
|
43
|
-
"url": "https://zxl20070701.github.io/notebook/home.html"
|
|
44
|
-
},
|
|
45
|
-
"license": "MIT",
|
|
46
|
-
"bugs": {
|
|
47
|
-
"url": "https://github.com/oi-contrib/VISLite/issues"
|
|
48
|
-
},
|
|
49
|
-
"homepage": "https://oi-contrib.github.io/VISLite",
|
|
50
|
-
"devDependencies": {
|
|
51
|
-
"@rollup/plugin-typescript": "^11.1.0",
|
|
52
|
-
"@types/jasmine": "^4.3.1",
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
54
|
-
"@typescript-eslint/parser": "^6.14.0",
|
|
55
|
-
"devby": "^0.4.6",
|
|
56
|
-
"eslint": "^8.56.0",
|
|
57
|
-
"karma": "^6.3.10",
|
|
58
|
-
"karma-chrome-launcher": "^3.1.0",
|
|
59
|
-
"karma-jasmine": "^4.0.1",
|
|
60
|
-
"karma-webpack": "^5.0.0",
|
|
61
|
-
"rollup": "^3.20.6",
|
|
62
|
-
"terser": "^5.17.1",
|
|
63
|
-
"ts-loader": "^9.2.8",
|
|
64
|
-
"tslib": "^2.5.0",
|
|
65
|
-
"typescript": "^4.6.2",
|
|
66
|
-
"webpack": "^5.70.0",
|
|
67
|
-
"webpack-cli": "^4.9.2",
|
|
68
|
-
"webpack-dev-server": "^4.7.4"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "vislite",
|
|
3
|
+
"version": "0.8.1-alpha.0",
|
|
4
|
+
"description": "灵活、快速、简单的数据可视化交互式跨端前端库",
|
|
5
|
+
"main": "./lib/index.umd.min.js",
|
|
6
|
+
"typings": "./types/index.d.ts",
|
|
7
|
+
"unpkg": "./lib/index.umd.min.js",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "webpack serve --config ./build/webpack.config.js",
|
|
11
|
+
"build": "devby --delete ./lib && node ./build/pkg.js",
|
|
12
|
+
"test": "karma start ./build/karma.config.js",
|
|
13
|
+
"lint": "eslint src/**/*.ts --fix"
|
|
14
|
+
},
|
|
15
|
+
"miniprogram": ".",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/oi-contrib/VISLite.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"svg",
|
|
22
|
+
"webgl",
|
|
23
|
+
"typescript",
|
|
24
|
+
"canvas",
|
|
25
|
+
"vue",
|
|
26
|
+
"uniapp",
|
|
27
|
+
"miniprogram",
|
|
28
|
+
"image2d",
|
|
29
|
+
"image3d",
|
|
30
|
+
"oi-contrib",
|
|
31
|
+
"vislite",
|
|
32
|
+
"d3",
|
|
33
|
+
"zxl20070701",
|
|
34
|
+
"three",
|
|
35
|
+
"echarts",
|
|
36
|
+
"datav",
|
|
37
|
+
"webgpu",
|
|
38
|
+
"layout",
|
|
39
|
+
"algorithm"
|
|
40
|
+
],
|
|
41
|
+
"author": {
|
|
42
|
+
"name": "zxl20070701",
|
|
43
|
+
"url": "https://zxl20070701.github.io/notebook/home.html"
|
|
44
|
+
},
|
|
45
|
+
"license": "MIT",
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/oi-contrib/VISLite/issues"
|
|
48
|
+
},
|
|
49
|
+
"homepage": "https://oi-contrib.github.io/VISLite",
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@rollup/plugin-typescript": "^11.1.0",
|
|
52
|
+
"@types/jasmine": "^4.3.1",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
54
|
+
"@typescript-eslint/parser": "^6.14.0",
|
|
55
|
+
"devby": "^0.4.6",
|
|
56
|
+
"eslint": "^8.56.0",
|
|
57
|
+
"karma": "^6.3.10",
|
|
58
|
+
"karma-chrome-launcher": "^3.1.0",
|
|
59
|
+
"karma-jasmine": "^4.0.1",
|
|
60
|
+
"karma-webpack": "^5.0.0",
|
|
61
|
+
"rollup": "^3.20.6",
|
|
62
|
+
"terser": "^5.17.1",
|
|
63
|
+
"ts-loader": "^9.2.8",
|
|
64
|
+
"tslib": "^2.5.0",
|
|
65
|
+
"typescript": "^4.6.2",
|
|
66
|
+
"webpack": "^5.70.0",
|
|
67
|
+
"webpack-cli": "^4.9.2",
|
|
68
|
+
"webpack-dev-server": "^4.7.4"
|
|
69
|
+
}
|
|
70
|
+
}
|