vislite 0.5.2 → 0.6.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.
- package/.editorconfig +18 -18
- package/AUTHORS.txt +6 -6
- package/CHANGELOG +13 -1
- package/LICENSE +20 -20
- package/README.md +41 -2
- package/lib/Buffer/index.umd.js +2 -2
- package/lib/Buffer/index.umd.min.js +2 -2
- package/lib/Canvas/index.umd.js +8 -2
- package/lib/Canvas/index.umd.min.js +3 -3
- package/lib/Cardinal/index.umd.js +2 -2
- package/lib/Cardinal/index.umd.min.js +2 -2
- package/lib/Eoap/index.umd.js +2 -2
- package/lib/Eoap/index.umd.min.js +2 -2
- package/lib/Geometry/index.umd.js +2 -2
- package/lib/Geometry/index.umd.min.js +2 -2
- package/lib/Hermite/index.umd.js +2 -2
- package/lib/Hermite/index.umd.min.js +2 -2
- package/lib/Matrix4/index.umd.js +14 -8
- package/lib/Matrix4/index.umd.min.js +3 -3
- package/lib/Mercator/index.umd.js +2 -2
- package/lib/Mercator/index.umd.min.js +2 -2
- package/lib/OralCanvas/index.es.js +8 -2
- package/lib/OralCanvas/index.es.min.js +3 -3
- package/lib/OralWebGL/index.es.js +22 -16
- package/lib/OralWebGL/index.es.min.js +3 -3
- package/lib/SVG/index.umd.js +2 -2
- package/lib/SVG/index.umd.min.js +2 -2
- package/lib/Shader/index.umd.js +10 -10
- package/lib/Shader/index.umd.min.js +3 -3
- package/lib/Texture/index.umd.js +2 -2
- package/lib/Texture/index.umd.min.js +2 -2
- package/lib/TreeLayout/index.umd.js +2 -2
- package/lib/TreeLayout/index.umd.min.js +2 -2
- package/lib/WebGL/index.umd.js +22 -16
- package/lib/WebGL/index.umd.min.js +3 -3
- package/lib/animation/index.umd.js +2 -2
- package/lib/animation/index.umd.min.js +2 -2
- package/lib/formatColor/index.umd.js +2 -2
- package/lib/formatColor/index.umd.min.js +2 -2
- package/lib/getLoopColors/index.umd.js +2 -2
- package/lib/getLoopColors/index.umd.min.js +2 -2
- package/lib/getWebGLContext/index.umd.js +2 -2
- package/lib/getWebGLContext/index.umd.min.js +2 -2
- package/lib/index.umd.js +40 -16
- package/lib/index.umd.min.js +3 -3
- package/lib/move/index.umd.js +2 -2
- package/lib/move/index.umd.min.js +2 -2
- package/lib/resizeObserver/index.umd.js +2 -2
- package/lib/resizeObserver/index.umd.min.js +2 -2
- package/lib/rotate/index.umd.js +2 -2
- package/lib/rotate/index.umd.min.js +2 -2
- package/lib/ruler/index.umd.js +14 -2
- package/lib/ruler/index.umd.min.js +3 -3
- package/lib/scale/index.umd.js +2 -2
- package/lib/scale/index.umd.min.js +2 -2
- package/lib/throttle/index.umd.js +2 -2
- package/lib/throttle/index.umd.min.js +2 -2
- package/lib/viewHandler/index.umd.js +2 -2
- package/lib/viewHandler/index.umd.min.js +2 -2
- package/miniprogram/ui-canvas/index.js +107 -107
- package/miniprogram/ui-canvas/index.json +4 -4
- package/miniprogram/ui-canvas/index.wxml +4 -4
- package/miniprogram/ui-canvas/index.wxss +5 -5
- package/package/Buffer/index.ts +2 -2
- package/package/Canvas/index.ts +2 -2
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Geometry/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/Mercator/index.ts +2 -2
- package/package/OralCanvas/index.ts +2 -2
- package/package/OralWebGL/index.ts +2 -2
- package/package/SVG/index.ts +2 -2
- package/package/Shader/index.ts +39 -39
- package/package/Texture/index.ts +2 -2
- package/package/TreeLayout/index.ts +1 -1
- package/package/WebGL/index.ts +2 -2
- package/package/animation/index.ts +2 -2
- package/package/formatColor/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/getWebGLContext/index.ts +39 -39
- package/package/index.ts +76 -76
- package/package/move/index.ts +2 -2
- package/package/resizeObserver/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package/scale/index.ts +2 -2
- package/package/throttle/index.ts +2 -2
- package/package/viewHandler/index.ts +2 -2
- package/package.json +1 -1
- package/src/Canvas.ts +67 -67
- package/src/Eoap.ts +66 -66
- package/src/Geometry.ts +82 -82
- package/src/Matrix4/index.ts +14 -6
- package/src/Matrix4/move.ts +12 -12
- package/src/Matrix4/rotate.ts +15 -15
- package/src/Matrix4/scale.ts +11 -11
- package/src/Matrix4/transform.ts +64 -64
- package/src/Mercator.ts +27 -27
- package/src/SVG.ts +24 -24
- package/src/WebGL.ts +66 -66
- package/src/animation.ts +98 -98
- package/src/common/assemble.ts +22 -22
- package/src/common/canvas/arc.ts +50 -50
- package/src/common/canvas/config.ts +158 -158
- package/src/common/canvas/gradient.ts +29 -29
- package/src/common/canvas/index.ts +147 -139
- package/src/common/canvas/painter.ts +426 -426
- package/src/common/canvas/texts.ts +18 -18
- package/src/common/geometry/prism-horizontal.ts +33 -33
- package/src/common/geometry/prism-vertical.ts +40 -40
- package/src/common/geometry/sphere-fragment.ts +39 -39
- package/src/common/geometry/tool/circle.ts +11 -11
- package/src/common/mergeOption.ts +6 -6
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +186 -186
- package/src/common/svg/gradient.ts +63 -63
- package/src/common/svg/index.ts +356 -356
- package/src/common/svg/tool.ts +44 -44
- package/src/common/tree/index.ts +25 -25
- package/src/common/tree/toInnerTree.ts +56 -56
- package/src/common/tree/toPlainTree.ts +131 -131
- package/src/common/webgl/buffer.ts +79 -79
- package/src/common/webgl/doDraw.ts +108 -108
- package/src/common/webgl/getColorFactory.ts +26 -26
- package/src/common/webgl/getShader.ts +48 -48
- package/src/common/webgl/getTexture.ts +11 -11
- package/src/common/webgl/getWebGLContext.ts +27 -27
- package/src/common/webgl/index.ts +223 -223
- package/src/common/webgl/shader.ts +75 -75
- package/src/common/webgl/texture.ts +96 -96
- package/src/formatColor.ts +44 -44
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +110 -110
- package/src/interpolation/Hermite.ts +65 -65
- package/src/move.ts +7 -7
- package/src/resizeObserver.ts +36 -36
- package/src/rotate.ts +7 -7
- package/src/ruler.ts +23 -1
- package/src/scale.ts +6 -6
- package/src/shader/fsColor.c +7 -7
- package/src/shader/fsColors.c +7 -7
- package/src/shader/fsCube.c +8 -8
- package/src/shader/fsImage.c +8 -8
- package/src/shader/vsColor.c +17 -17
- package/src/shader/vsColors.c +13 -13
- package/src/shader/vsCube.c +13 -13
- package/src/shader/vsImage.c +13 -13
- package/src/throttle.ts +51 -51
- package/src/viewHandler.ts +158 -158
- package/types/Buffer.d.ts +23 -23
- package/types/Canvas.d.ts +8 -0
- package/types/CanvasConfig.d.ts +106 -106
- package/types/CanvasOption.d.ts +7 -7
- package/types/Cardinal.d.ts +13 -13
- package/types/Geometry.d.ts +40 -40
- package/types/GeometryOption.d.ts +11 -11
- package/types/GeometryResult.d.ts +18 -18
- package/types/Gradient.d.ts +14 -14
- package/types/Hermite.d.ts +18 -18
- package/types/Map.d.ts +9 -9
- package/types/Matrix4.d.ts +5 -0
- package/types/Object3D.d.ts +114 -114
- package/types/SVG.d.ts +238 -238
- package/types/SVGConfig.d.ts +76 -76
- package/types/Scene3D.d.ts +6 -6
- package/types/Shader.d.ts +21 -21
- package/types/Texture.d.ts +16 -16
- package/types/Tree.d.ts +69 -69
- package/types/TreeConfig.d.ts +24 -24
- package/types/TreeLayout.d.ts +54 -54
- package/types/TreeOption.d.ts +48 -48
- package/types/WebGL.d.ts +38 -38
- package/types/WebGLOption.d.ts +7 -7
- package/types/animation.d.ts +6 -6
- package/types/formatColor.d.ts +2 -2
- package/types/getLoopColors.d.ts +2 -2
- package/types/getWebGLContext.d.ts +2 -2
- package/types/index.d.ts +175 -175
- package/types/move.d.ts +2 -2
- package/types/painterConfig.d.ts +2 -2
- package/types/resizeObserver.d.ts +2 -2
- package/types/rotate.d.ts +2 -2
- package/types/ruler.d.ts +7 -7
- package/types/scale.d.ts +2 -2
- package/types/throttle.d.ts +4 -4
- package/types/throttleOption.d.ts +21 -21
- package/types/viewHandler.d.ts +13 -13
- package/uni-app/ui-canvas.vue +239 -206
- /package/src/{TreeLayout/index.ts → layout/TreeLayout.ts} +0 -0
package/src/viewHandler.ts
CHANGED
|
@@ -1,159 +1,159 @@
|
|
|
1
|
-
import type { callbackFun } from '../types/viewHandler'
|
|
2
|
-
|
|
3
|
-
let mousePosition = (el: HTMLElement, event: any) => {
|
|
4
|
-
let bounding = el.getBoundingClientRect()
|
|
5
|
-
return {
|
|
6
|
-
"x": event.clientX - bounding.left,
|
|
7
|
-
"y": event.clientY - bounding.top
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
let getKeyString = (event: any) => {
|
|
12
|
-
return {
|
|
13
|
-
37: "left",
|
|
14
|
-
38: "up",
|
|
15
|
-
39: "right",
|
|
16
|
-
40: "down",
|
|
17
|
-
}[event.keyCode || event.which]
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export default function (callback: callbackFun) {
|
|
21
|
-
|
|
22
|
-
let el = document.getElementsByTagName('body')[0]
|
|
23
|
-
|
|
24
|
-
// 键盘控制
|
|
25
|
-
el.addEventListener("keydown", function (event) {
|
|
26
|
-
let keyCode = getKeyString(event)
|
|
27
|
-
|
|
28
|
-
// 视角向上
|
|
29
|
-
if (keyCode == 'up') {
|
|
30
|
-
callback({
|
|
31
|
-
type: "lookUp",
|
|
32
|
-
normal: [],
|
|
33
|
-
value: 0.1,
|
|
34
|
-
event
|
|
35
|
-
})
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// 视角向下
|
|
39
|
-
else if (keyCode == 'down') {
|
|
40
|
-
callback({
|
|
41
|
-
type: "lookDown",
|
|
42
|
-
normal: [],
|
|
43
|
-
value: 0.1,
|
|
44
|
-
event
|
|
45
|
-
})
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// 视角向左
|
|
49
|
-
else if (keyCode == 'left') {
|
|
50
|
-
callback({
|
|
51
|
-
type: "lookLeft",
|
|
52
|
-
normal: [],
|
|
53
|
-
value: 0.1,
|
|
54
|
-
event
|
|
55
|
-
})
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// 视角向右
|
|
59
|
-
else if (keyCode == 'right') {
|
|
60
|
-
callback({
|
|
61
|
-
type: "lookRight",
|
|
62
|
-
normal: [],
|
|
63
|
-
value: 0.1,
|
|
64
|
-
event
|
|
65
|
-
})
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
})
|
|
69
|
-
|
|
70
|
-
// 鼠标控制
|
|
71
|
-
let mouseP = null;
|
|
72
|
-
let doMove = function (event) {
|
|
73
|
-
|
|
74
|
-
// 单纯移动
|
|
75
|
-
if (mouseP == null) {
|
|
76
|
-
callback({
|
|
77
|
-
type: "hover",
|
|
78
|
-
normal: [],
|
|
79
|
-
value: 0,
|
|
80
|
-
event
|
|
81
|
-
})
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// 按下移动
|
|
85
|
-
else {
|
|
86
|
-
|
|
87
|
-
let tempMouseP = mousePosition(el, event)
|
|
88
|
-
|
|
89
|
-
// 先求解出轨迹向量
|
|
90
|
-
let normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y]
|
|
91
|
-
|
|
92
|
-
// 方向向量旋转90deg得到旋转向量
|
|
93
|
-
let rotateNormal = [
|
|
94
|
-
normal[1],
|
|
95
|
-
normal[0],
|
|
96
|
-
0
|
|
97
|
-
]
|
|
98
|
-
|
|
99
|
-
// 非法射线忽略
|
|
100
|
-
if (rotateNormal[0] == 0 && rotateNormal[1] == 0) return
|
|
101
|
-
|
|
102
|
-
callback({
|
|
103
|
-
type: "rotate",
|
|
104
|
-
normal: rotateNormal,
|
|
105
|
-
value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
|
|
106
|
-
event
|
|
107
|
-
})
|
|
108
|
-
|
|
109
|
-
mouseP = tempMouseP
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
el.addEventListener("mousedown", (event) => {
|
|
114
|
-
mouseP = mousePosition(el, event)
|
|
115
|
-
})
|
|
116
|
-
el.addEventListener("mouseup", (event) => {
|
|
117
|
-
mouseP = null
|
|
118
|
-
})
|
|
119
|
-
el.addEventListener("mousemove", (event) => {
|
|
120
|
-
doMove(event)
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
// 手指控制
|
|
124
|
-
el.addEventListener("touchend", (event) => {
|
|
125
|
-
mouseP = null;
|
|
126
|
-
})
|
|
127
|
-
el.addEventListener("touchstart", (event) => {
|
|
128
|
-
mouseP = mousePosition(el, event)
|
|
129
|
-
})
|
|
130
|
-
el.addEventListener("touchmove", (event) => {
|
|
131
|
-
doMove(event.touches[0])
|
|
132
|
-
})
|
|
133
|
-
|
|
134
|
-
let doScale = function (value: number, event: Event) {
|
|
135
|
-
if (value == 0) return
|
|
136
|
-
|
|
137
|
-
let baseTimes = 0.899
|
|
138
|
-
callback({
|
|
139
|
-
type: "scale",
|
|
140
|
-
value: value < 0 ? baseTimes : 2 - baseTimes,
|
|
141
|
-
normal: [],
|
|
142
|
-
event
|
|
143
|
-
})
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// 滚轮控制
|
|
147
|
-
el.addEventListener("mousewheel", function (event: any) {
|
|
148
|
-
doScale(event.wheelDelta, event)
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
if (window.addEventListener) {
|
|
152
|
-
|
|
153
|
-
// 针对火狐浏览器
|
|
154
|
-
window.addEventListener('DOMMouseScroll', function (event: any) {
|
|
155
|
-
doScale(-1 * event.detail, event)
|
|
156
|
-
}, false)
|
|
157
|
-
}
|
|
158
|
-
|
|
1
|
+
import type { callbackFun } from '../types/viewHandler'
|
|
2
|
+
|
|
3
|
+
let mousePosition = (el: HTMLElement, event: any) => {
|
|
4
|
+
let bounding = el.getBoundingClientRect()
|
|
5
|
+
return {
|
|
6
|
+
"x": event.clientX - bounding.left,
|
|
7
|
+
"y": event.clientY - bounding.top
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
let getKeyString = (event: any) => {
|
|
12
|
+
return {
|
|
13
|
+
37: "left",
|
|
14
|
+
38: "up",
|
|
15
|
+
39: "right",
|
|
16
|
+
40: "down",
|
|
17
|
+
}[event.keyCode || event.which]
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export default function (callback: callbackFun) {
|
|
21
|
+
|
|
22
|
+
let el = document.getElementsByTagName('body')[0]
|
|
23
|
+
|
|
24
|
+
// 键盘控制
|
|
25
|
+
el.addEventListener("keydown", function (event) {
|
|
26
|
+
let keyCode = getKeyString(event)
|
|
27
|
+
|
|
28
|
+
// 视角向上
|
|
29
|
+
if (keyCode == 'up') {
|
|
30
|
+
callback({
|
|
31
|
+
type: "lookUp",
|
|
32
|
+
normal: [],
|
|
33
|
+
value: 0.1,
|
|
34
|
+
event
|
|
35
|
+
})
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// 视角向下
|
|
39
|
+
else if (keyCode == 'down') {
|
|
40
|
+
callback({
|
|
41
|
+
type: "lookDown",
|
|
42
|
+
normal: [],
|
|
43
|
+
value: 0.1,
|
|
44
|
+
event
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// 视角向左
|
|
49
|
+
else if (keyCode == 'left') {
|
|
50
|
+
callback({
|
|
51
|
+
type: "lookLeft",
|
|
52
|
+
normal: [],
|
|
53
|
+
value: 0.1,
|
|
54
|
+
event
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// 视角向右
|
|
59
|
+
else if (keyCode == 'right') {
|
|
60
|
+
callback({
|
|
61
|
+
type: "lookRight",
|
|
62
|
+
normal: [],
|
|
63
|
+
value: 0.1,
|
|
64
|
+
event
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// 鼠标控制
|
|
71
|
+
let mouseP = null;
|
|
72
|
+
let doMove = function (event) {
|
|
73
|
+
|
|
74
|
+
// 单纯移动
|
|
75
|
+
if (mouseP == null) {
|
|
76
|
+
callback({
|
|
77
|
+
type: "hover",
|
|
78
|
+
normal: [],
|
|
79
|
+
value: 0,
|
|
80
|
+
event
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// 按下移动
|
|
85
|
+
else {
|
|
86
|
+
|
|
87
|
+
let tempMouseP = mousePosition(el, event)
|
|
88
|
+
|
|
89
|
+
// 先求解出轨迹向量
|
|
90
|
+
let normal = [tempMouseP.x - mouseP.x, tempMouseP.y - mouseP.y]
|
|
91
|
+
|
|
92
|
+
// 方向向量旋转90deg得到旋转向量
|
|
93
|
+
let rotateNormal = [
|
|
94
|
+
normal[1],
|
|
95
|
+
normal[0],
|
|
96
|
+
0
|
|
97
|
+
]
|
|
98
|
+
|
|
99
|
+
// 非法射线忽略
|
|
100
|
+
if (rotateNormal[0] == 0 && rotateNormal[1] == 0) return
|
|
101
|
+
|
|
102
|
+
callback({
|
|
103
|
+
type: "rotate",
|
|
104
|
+
normal: rotateNormal,
|
|
105
|
+
value: (Math.abs(tempMouseP.x - mouseP.x) + Math.abs(tempMouseP.y - mouseP.y)) * 0.01,
|
|
106
|
+
event
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
mouseP = tempMouseP
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
el.addEventListener("mousedown", (event) => {
|
|
114
|
+
mouseP = mousePosition(el, event)
|
|
115
|
+
})
|
|
116
|
+
el.addEventListener("mouseup", (event) => {
|
|
117
|
+
mouseP = null
|
|
118
|
+
})
|
|
119
|
+
el.addEventListener("mousemove", (event) => {
|
|
120
|
+
doMove(event)
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
// 手指控制
|
|
124
|
+
el.addEventListener("touchend", (event) => {
|
|
125
|
+
mouseP = null;
|
|
126
|
+
})
|
|
127
|
+
el.addEventListener("touchstart", (event) => {
|
|
128
|
+
mouseP = mousePosition(el, event)
|
|
129
|
+
})
|
|
130
|
+
el.addEventListener("touchmove", (event) => {
|
|
131
|
+
doMove(event.touches[0])
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
let doScale = function (value: number, event: Event) {
|
|
135
|
+
if (value == 0) return
|
|
136
|
+
|
|
137
|
+
let baseTimes = 0.899
|
|
138
|
+
callback({
|
|
139
|
+
type: "scale",
|
|
140
|
+
value: value < 0 ? baseTimes : 2 - baseTimes,
|
|
141
|
+
normal: [],
|
|
142
|
+
event
|
|
143
|
+
})
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// 滚轮控制
|
|
147
|
+
el.addEventListener("mousewheel", function (event: any) {
|
|
148
|
+
doScale(event.wheelDelta, event)
|
|
149
|
+
})
|
|
150
|
+
|
|
151
|
+
if (window.addEventListener) {
|
|
152
|
+
|
|
153
|
+
// 针对火狐浏览器
|
|
154
|
+
window.addEventListener('DOMMouseScroll', function (event: any) {
|
|
155
|
+
doScale(-1 * event.detail, event)
|
|
156
|
+
}, false)
|
|
157
|
+
}
|
|
158
|
+
|
|
159
159
|
}
|
package/types/Buffer.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
export default interface BufferType {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 使用这个缓冲区对象
|
|
5
|
-
* (先于写入和分配)
|
|
6
|
-
*/
|
|
7
|
-
use(): this
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* 写入数据
|
|
11
|
-
* @param data 具体的数据内容
|
|
12
|
-
*/
|
|
13
|
-
write(data: Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array): this
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 分配使用
|
|
17
|
-
* @param location 变量位置
|
|
18
|
-
* @param size 一个数据的长度
|
|
19
|
-
* @param stride 一组数据的长度(可能包含多组)
|
|
20
|
-
* @param offset 读取位置偏移
|
|
21
|
-
*/
|
|
22
|
-
divide(location: number, size: number, stride: number, offset?: number): this
|
|
23
|
-
|
|
1
|
+
export default interface BufferType {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 使用这个缓冲区对象
|
|
5
|
+
* (先于写入和分配)
|
|
6
|
+
*/
|
|
7
|
+
use(): this
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 写入数据
|
|
11
|
+
* @param data 具体的数据内容
|
|
12
|
+
*/
|
|
13
|
+
write(data: Uint8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array): this
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 分配使用
|
|
17
|
+
* @param location 变量位置
|
|
18
|
+
* @param size 一个数据的长度
|
|
19
|
+
* @param stride 一组数据的长度(可能包含多组)
|
|
20
|
+
* @param offset 读取位置偏移
|
|
21
|
+
*/
|
|
22
|
+
divide(location: number, size: number, stride: number, offset?: number): this
|
|
23
|
+
|
|
24
24
|
}
|
package/types/Canvas.d.ts
CHANGED
|
@@ -262,6 +262,14 @@ export default interface CanvasType {
|
|
|
262
262
|
*/
|
|
263
263
|
getContext(isRegion?: boolean): CanvasRenderingContext2D
|
|
264
264
|
|
|
265
|
+
/**
|
|
266
|
+
* 获取画布信息
|
|
267
|
+
*/
|
|
268
|
+
getInfo(): {
|
|
269
|
+
width: number
|
|
270
|
+
height: number
|
|
271
|
+
}
|
|
272
|
+
|
|
265
273
|
/**
|
|
266
274
|
* 创建线性渐变
|
|
267
275
|
* @param x0 起点
|
package/types/CanvasConfig.d.ts
CHANGED
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
import { arcCapType, textAlignType, textBaselineType } from './painterConfig'
|
|
2
|
-
|
|
3
|
-
export default interface CanvasConfigType {
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 填充色或图案,默认"#000"
|
|
7
|
-
*/
|
|
8
|
-
fillStyle?: string | CanvasGradient
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* 轮廓色或图案,默认"#000"
|
|
12
|
-
*/
|
|
13
|
-
strokeStyle?: string | CanvasGradient
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 线条宽度,默认1(单位px)
|
|
17
|
-
*/
|
|
18
|
-
lineWidth?: number
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
|
|
22
|
-
*/
|
|
23
|
-
textAlign?: textAlignType
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
|
|
27
|
-
*/
|
|
28
|
-
textBaseline?: textBaselineType
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* 设置线条虚线,默认为[]表示使用实线绘制
|
|
32
|
-
*
|
|
33
|
-
* 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
|
|
34
|
-
*/
|
|
35
|
-
lineDash?: Array<number>
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* 阴影的模糊系数,默认0,也就是无阴影
|
|
39
|
-
*/
|
|
40
|
-
shadowBlur?: number
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* 阴影的颜色
|
|
44
|
-
*/
|
|
45
|
-
shadowColor?: string | CanvasGradient
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* 文字大小,默认16
|
|
49
|
-
*/
|
|
50
|
-
"fontSize"?: number
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* 已废弃,向下兼容,请用 fontSize 代替
|
|
54
|
-
*/
|
|
55
|
-
"font-size"?: number // 向下兼容
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* 字体,默认"sans-serif"
|
|
59
|
-
*/
|
|
60
|
-
"fontFamily"?: string
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* 已废弃,向下兼容,请用 fontFamily 代替
|
|
64
|
-
*/
|
|
65
|
-
"font-family"?: string // 向下兼容
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* 字重,默认400
|
|
69
|
-
*/
|
|
70
|
-
"fontWeight"?: number
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* 已废弃,向下兼容,请用 fontWeight 代替
|
|
74
|
-
*/
|
|
75
|
-
"font-weight"?: number // 向下兼容
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* 字类型,默认"normal"
|
|
79
|
-
*/
|
|
80
|
-
"fontStyle"?: string
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* 已废弃,向下兼容,请用 fontStyle 代替
|
|
84
|
-
*/
|
|
85
|
-
"font-style"?: string // 向下兼容
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
|
|
89
|
-
*/
|
|
90
|
-
"arcStartCap"?: arcCapType
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* 已废弃,向下兼容,请用 arcStartCap 代替
|
|
94
|
-
*/
|
|
95
|
-
"arc-start-cap"?: string // 向下兼容
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
|
|
99
|
-
*/
|
|
100
|
-
"arcEndCap"?: arcCapType
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* 已废弃,向下兼容,请用 arcEndCap 代替
|
|
104
|
-
*/
|
|
105
|
-
"arc-end-cap"?: string // 向下兼容
|
|
106
|
-
|
|
1
|
+
import { arcCapType, textAlignType, textBaselineType } from './painterConfig'
|
|
2
|
+
|
|
3
|
+
export default interface CanvasConfigType {
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 填充色或图案,默认"#000"
|
|
7
|
+
*/
|
|
8
|
+
fillStyle?: string | CanvasGradient
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* 轮廓色或图案,默认"#000"
|
|
12
|
+
*/
|
|
13
|
+
strokeStyle?: string | CanvasGradient
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 线条宽度,默认1(单位px)
|
|
17
|
+
*/
|
|
18
|
+
lineWidth?: number
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
|
|
22
|
+
*/
|
|
23
|
+
textAlign?: textAlignType
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
|
|
27
|
+
*/
|
|
28
|
+
textBaseline?: textBaselineType
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 设置线条虚线,默认为[]表示使用实线绘制
|
|
32
|
+
*
|
|
33
|
+
* 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
|
|
34
|
+
*/
|
|
35
|
+
lineDash?: Array<number>
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 阴影的模糊系数,默认0,也就是无阴影
|
|
39
|
+
*/
|
|
40
|
+
shadowBlur?: number
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 阴影的颜色
|
|
44
|
+
*/
|
|
45
|
+
shadowColor?: string | CanvasGradient
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 文字大小,默认16
|
|
49
|
+
*/
|
|
50
|
+
"fontSize"?: number
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 已废弃,向下兼容,请用 fontSize 代替
|
|
54
|
+
*/
|
|
55
|
+
"font-size"?: number // 向下兼容
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* 字体,默认"sans-serif"
|
|
59
|
+
*/
|
|
60
|
+
"fontFamily"?: string
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 已废弃,向下兼容,请用 fontFamily 代替
|
|
64
|
+
*/
|
|
65
|
+
"font-family"?: string // 向下兼容
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 字重,默认400
|
|
69
|
+
*/
|
|
70
|
+
"fontWeight"?: number
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 已废弃,向下兼容,请用 fontWeight 代替
|
|
74
|
+
*/
|
|
75
|
+
"font-weight"?: number // 向下兼容
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 字类型,默认"normal"
|
|
79
|
+
*/
|
|
80
|
+
"fontStyle"?: string
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 已废弃,向下兼容,请用 fontStyle 代替
|
|
84
|
+
*/
|
|
85
|
+
"font-style"?: string // 向下兼容
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
|
|
89
|
+
*/
|
|
90
|
+
"arcStartCap"?: arcCapType
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* 已废弃,向下兼容,请用 arcStartCap 代替
|
|
94
|
+
*/
|
|
95
|
+
"arc-start-cap"?: string // 向下兼容
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
|
|
99
|
+
*/
|
|
100
|
+
"arcEndCap"?: arcCapType
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* 已废弃,向下兼容,请用 arcEndCap 代替
|
|
104
|
+
*/
|
|
105
|
+
"arc-end-cap"?: string // 向下兼容
|
|
106
|
+
|
|
107
107
|
}
|
package/types/CanvasOption.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export default interface CanvasOptionType {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 是否支持区域管理,默认true
|
|
5
|
-
*/
|
|
6
|
-
region?: boolean
|
|
7
|
-
|
|
1
|
+
export default interface CanvasOptionType {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 是否支持区域管理,默认true
|
|
5
|
+
*/
|
|
6
|
+
region?: boolean
|
|
7
|
+
|
|
8
8
|
}
|
package/types/Cardinal.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export default interface CardinalType {
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 设置点的位置:
|
|
5
|
-
* @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少两个点
|
|
6
|
-
*/
|
|
7
|
-
setP(points: number[][]): this
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* 根据x值返回y值:
|
|
11
|
-
*/
|
|
12
|
-
use(x: number): number
|
|
13
|
-
|
|
1
|
+
export default interface CardinalType {
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 设置点的位置:
|
|
5
|
+
* @param points 参数格式:[[x1, y1], [x2, y2], ... ],至少两个点
|
|
6
|
+
*/
|
|
7
|
+
setP(points: number[][]): this
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 根据x值返回y值:
|
|
11
|
+
*/
|
|
12
|
+
use(x: number): number
|
|
13
|
+
|
|
14
14
|
}
|