vislite 0.3.1 → 0.4.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 (128) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +7 -1
  3. package/LICENSE +20 -20
  4. package/README.md +53 -53
  5. package/lib/Buffer/index.umd.js +2 -2
  6. package/lib/Buffer/index.umd.min.js +2 -2
  7. package/lib/Canvas/index.umd.js +9 -2
  8. package/lib/Canvas/index.umd.min.js +3 -3
  9. package/lib/Cardinal/index.umd.js +2 -2
  10. package/lib/Cardinal/index.umd.min.js +2 -2
  11. package/lib/Eoap/index.umd.js +2 -2
  12. package/lib/Eoap/index.umd.min.js +2 -2
  13. package/lib/Hermite/index.umd.js +2 -2
  14. package/lib/Hermite/index.umd.min.js +2 -2
  15. package/lib/Matrix4/index.umd.js +2 -2
  16. package/lib/Matrix4/index.umd.min.js +2 -2
  17. package/lib/Mercator/index.umd.js +2 -2
  18. package/lib/Mercator/index.umd.min.js +2 -2
  19. package/lib/OralCanvas/index.es.js +9 -2
  20. package/lib/OralCanvas/index.es.min.js +3 -3
  21. package/lib/OralWebGL/index.es.js +2 -2
  22. package/lib/OralWebGL/index.es.min.js +2 -2
  23. package/lib/SVG/index.umd.js +2 -2
  24. package/lib/SVG/index.umd.min.js +2 -2
  25. package/lib/Shader/index.umd.js +2 -2
  26. package/lib/Shader/index.umd.min.js +2 -2
  27. package/lib/Texture/index.umd.js +2 -2
  28. package/lib/Texture/index.umd.min.js +2 -2
  29. package/lib/WebGL/index.umd.js +2 -2
  30. package/lib/WebGL/index.umd.min.js +2 -2
  31. package/lib/animation/index.umd.js +2 -2
  32. package/lib/animation/index.umd.min.js +2 -2
  33. package/lib/getLoopColors/index.umd.js +2 -2
  34. package/lib/getLoopColors/index.umd.min.js +2 -2
  35. package/lib/getWebGLContext/index.umd.js +2 -2
  36. package/lib/getWebGLContext/index.umd.min.js +2 -2
  37. package/lib/index.umd.js +9 -2
  38. package/lib/index.umd.min.js +3 -3
  39. package/lib/rotate/index.umd.js +2 -2
  40. package/lib/rotate/index.umd.min.js +2 -2
  41. package/lib/ruler/index.umd.js +2 -2
  42. package/lib/ruler/index.umd.min.js +2 -2
  43. package/lib/viewHandler/index.umd.js +2 -2
  44. package/lib/viewHandler/index.umd.min.js +2 -2
  45. package/miniprogram/ui-canvas/index.js +99 -99
  46. package/miniprogram/ui-canvas/index.json +4 -4
  47. package/miniprogram/ui-canvas/index.wxml +4 -4
  48. package/miniprogram/ui-canvas/index.wxss +5 -5
  49. package/package/Buffer/index.ts +1 -1
  50. package/package/Canvas/index.ts +1 -1
  51. package/package/Cardinal/index.ts +2 -2
  52. package/package/Eoap/index.ts +2 -2
  53. package/package/Hermite/index.ts +2 -2
  54. package/package/Matrix4/index.ts +2 -2
  55. package/package/Mercator/index.ts +2 -2
  56. package/package/OralCanvas/index.ts +1 -1
  57. package/package/OralWebGL/index.ts +1 -1
  58. package/package/SVG/index.ts +2 -2
  59. package/package/Shader/index.ts +1 -1
  60. package/package/Texture/index.ts +1 -1
  61. package/package/WebGL/index.ts +1 -1
  62. package/package/animation/index.ts +2 -2
  63. package/package/getLoopColors/index.ts +2 -2
  64. package/package/getWebGLContext/index.ts +39 -39
  65. package/package/index.ts +56 -56
  66. package/package/rotate/index.ts +2 -2
  67. package/package/ruler/index.ts +2 -2
  68. package/package/viewHandler/index.ts +2 -2
  69. package/package.json +2 -2
  70. package/src/Canvas.ts +56 -56
  71. package/src/Eoap.ts +66 -66
  72. package/src/Matrix4/index.ts +76 -76
  73. package/src/Matrix4/move.ts +12 -12
  74. package/src/Matrix4/rotate.ts +15 -15
  75. package/src/Matrix4/scale.ts +11 -11
  76. package/src/Matrix4/transform.ts +64 -64
  77. package/src/Mercator.ts +26 -26
  78. package/src/SVG.ts +23 -23
  79. package/src/WebGL.ts +52 -52
  80. package/src/animation.ts +99 -99
  81. package/src/common/canvas/arc.ts +50 -50
  82. package/src/common/canvas/config.ts +157 -157
  83. package/src/common/canvas/gradient.ts +29 -29
  84. package/src/common/canvas/index.ts +14 -0
  85. package/src/common/canvas/painter.ts +355 -355
  86. package/src/common/canvas/texts.ts +18 -18
  87. package/src/common/setStyle.ts +5 -5
  88. package/src/common/svg/config.ts +173 -173
  89. package/src/common/svg/index.ts +334 -334
  90. package/src/common/svg/tool.ts +43 -43
  91. package/src/common/webgl/buffer.ts +79 -79
  92. package/src/common/webgl/doDraw.ts +106 -106
  93. package/src/common/webgl/getColorFactory.ts +26 -26
  94. package/src/common/webgl/getShader.ts +75 -75
  95. package/src/common/webgl/getTexture.ts +11 -11
  96. package/src/common/webgl/getWebGLContext.ts +27 -27
  97. package/src/common/webgl/index.ts +216 -216
  98. package/src/common/webgl/shader.ts +75 -75
  99. package/src/common/webgl/texture.ts +99 -99
  100. package/src/getLoopColors.ts +42 -42
  101. package/src/interpolation/Cardinal.ts +109 -109
  102. package/src/interpolation/Hermite.ts +65 -65
  103. package/src/rotate.ts +7 -7
  104. package/src/ruler.ts +99 -99
  105. package/src/viewHandler.ts +139 -139
  106. package/types/Buffer.d.ts +23 -23
  107. package/types/Canvas.d.ts +288 -282
  108. package/types/CanvasConfig.d.ts +80 -80
  109. package/types/Cardinal.d.ts +13 -13
  110. package/types/Gradient.d.ts +14 -14
  111. package/types/Hermite.d.ts +18 -18
  112. package/types/Map.d.ts +9 -9
  113. package/types/Matrix4.d.ts +42 -42
  114. package/types/Object3D.d.ts +113 -113
  115. package/types/SVG.d.ts +210 -210
  116. package/types/SVGConfig.d.ts +58 -58
  117. package/types/Scene3D.d.ts +6 -6
  118. package/types/Shader.d.ts +15 -15
  119. package/types/Texture.d.ts +16 -16
  120. package/types/WebGL.d.ts +38 -38
  121. package/types/animation.d.ts +6 -6
  122. package/types/getLoopColors.d.ts +2 -2
  123. package/types/getWebGLContext.d.ts +2 -2
  124. package/types/index.d.ts +129 -129
  125. package/types/rotate.d.ts +2 -2
  126. package/types/ruler.d.ts +2 -2
  127. package/types/viewHandler.d.ts +12 -12
  128. package/uni-app/ui-canvas.vue +212 -212
@@ -1,81 +1,81 @@
1
- export default interface CanvasConfigType {
2
-
3
- /**
4
- * 填充色或图案,默认"#000"
5
- */
6
- fillStyle?: string | CanvasGradient
7
-
8
- /**
9
- * 轮廓色或图案,默认"#000"
10
- */
11
- strokeStyle?: string | CanvasGradient
12
-
13
- /**
14
- * 线条宽度,默认1(单位px)
15
- */
16
- lineWidth?: number
17
-
18
- /**
19
- * 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
20
- */
21
- textAlign?: string
22
-
23
- /**
24
- * 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
25
- */
26
- textBaseline?: string
27
-
28
- /**
29
- * 设置线条虚线,默认为[]表示使用实线绘制
30
- *
31
- * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
32
- */
33
- lineDash?: Array<number>
34
-
35
- /**
36
- * 阴影的模糊系数,默认0,也就是无阴影
37
- */
38
- shadowBlur?: number
39
-
40
- /**
41
- * 阴影的颜色
42
- */
43
- shadowColor?: string | CanvasGradient
44
-
45
- /**
46
- * 文字大小,默认16
47
- */
48
- "fontSize"?: number
49
- "font-size"?: number // 向下兼容
50
-
51
- /**
52
- * 字体,默认"sans-serif"
53
- */
54
- "fontFamily"?: string
55
- "font-family"?: string // 向下兼容
56
-
57
- /**
58
- * 字重,默认400
59
- */
60
- "fontWeight"?: number
61
- "font-weight"?: number // 向下兼容
62
-
63
- /**
64
- * 字类型,默认"normal"
65
- */
66
- "fontStyle"?: string
67
- "font-style"?: string // 向下兼容
68
-
69
- /**
70
- * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
71
- */
72
- "arcStartCap"?: string
73
- "arc-start-cap"?: string // 向下兼容
74
-
75
- /**
76
- * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
77
- */
78
- "arcEndCap"?: string
79
- "arc-end-cap"?: string // 向下兼容
80
-
1
+ export default interface CanvasConfigType {
2
+
3
+ /**
4
+ * 填充色或图案,默认"#000"
5
+ */
6
+ fillStyle?: string | CanvasGradient
7
+
8
+ /**
9
+ * 轮廓色或图案,默认"#000"
10
+ */
11
+ strokeStyle?: string | CanvasGradient
12
+
13
+ /**
14
+ * 线条宽度,默认1(单位px)
15
+ */
16
+ lineWidth?: number
17
+
18
+ /**
19
+ * 文字水平对齐方式,默认"left"左对齐(还有"center"居中和"right"右对齐)
20
+ */
21
+ textAlign?: string
22
+
23
+ /**
24
+ * 文字垂直对齐方式,默认"middle"垂直居中(还有"top"上对齐和"bottom"下对齐)
25
+ */
26
+ textBaseline?: string
27
+
28
+ /**
29
+ * 设置线条虚线,默认为[]表示使用实线绘制
30
+ *
31
+ * 值应该是一个数组,格式:[实线长,虚线长,实线长 ...],数组长度任意,会自动循环
32
+ */
33
+ lineDash?: Array<number>
34
+
35
+ /**
36
+ * 阴影的模糊系数,默认0,也就是无阴影
37
+ */
38
+ shadowBlur?: number
39
+
40
+ /**
41
+ * 阴影的颜色
42
+ */
43
+ shadowColor?: string | CanvasGradient
44
+
45
+ /**
46
+ * 文字大小,默认16
47
+ */
48
+ "fontSize"?: number
49
+ "font-size"?: number // 向下兼容
50
+
51
+ /**
52
+ * 字体,默认"sans-serif"
53
+ */
54
+ "fontFamily"?: string
55
+ "font-family"?: string // 向下兼容
56
+
57
+ /**
58
+ * 字重,默认400
59
+ */
60
+ "fontWeight"?: number
61
+ "font-weight"?: number // 向下兼容
62
+
63
+ /**
64
+ * 字类型,默认"normal"
65
+ */
66
+ "fontStyle"?: string
67
+ "font-style"?: string // 向下兼容
68
+
69
+ /**
70
+ * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
71
+ */
72
+ "arcStartCap"?: string
73
+ "arc-start-cap"?: string // 向下兼容
74
+
75
+ /**
76
+ * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
77
+ */
78
+ "arcEndCap"?: string
79
+ "arc-end-cap"?: string // 向下兼容
80
+
81
81
  }
@@ -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
  }
@@ -1,15 +1,15 @@
1
- export default interface GradientType {
2
-
3
- /**
4
- * 设置程度颜色
5
- * @param stop 程度
6
- * @param color 颜色
7
- */
8
- setColor(stop: number, color: string): this
9
-
10
- /**
11
- * 返回渐变色值
12
- */
13
- value(): CanvasGradient
14
-
1
+ export default interface GradientType {
2
+
3
+ /**
4
+ * 设置程度颜色
5
+ * @param stop 程度
6
+ * @param color 颜色
7
+ */
8
+ setColor(stop: number, color: string): this
9
+
10
+ /**
11
+ * 返回渐变色值
12
+ */
13
+ value(): CanvasGradient
14
+
15
15
  }
@@ -1,19 +1,19 @@
1
- export default interface HermiteType {
2
-
3
- /**
4
- * 设置点的位置和斜率:
5
- * @param x1 左边点的位置
6
- * @param y1
7
- * @param x2 右边点的位置
8
- * @param y2
9
- * @param s1 两个点的斜率
10
- * @param s2
11
- */
12
- setP(x1: number, y1: number, x2: number, y2: number, s1: number, s2: number): this
13
-
14
- /**
15
- * 根据x值返回y值:
16
- */
17
- use(x: number): number
18
-
1
+ export default interface HermiteType {
2
+
3
+ /**
4
+ * 设置点的位置和斜率:
5
+ * @param x1 左边点的位置
6
+ * @param y1
7
+ * @param x2 右边点的位置
8
+ * @param y2
9
+ * @param s1 两个点的斜率
10
+ * @param s2
11
+ */
12
+ setP(x1: number, y1: number, x2: number, y2: number, s1: number, s2: number): this
13
+
14
+ /**
15
+ * 根据x值返回y值:
16
+ */
17
+ use(x: number): number
18
+
19
19
  }
package/types/Map.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export default interface MapType {
2
-
3
- /**
4
- * 返回该点的绘图坐标(特别需要注意,计算出来的位置是偏离中心点的距离)
5
- * @param λ 经纬度
6
- * @param φ
7
- */
8
- use(λ: number, φ: number): number[]
9
-
1
+ export default interface MapType {
2
+
3
+ /**
4
+ * 返回该点的绘图坐标(特别需要注意,计算出来的位置是偏离中心点的距离)
5
+ * @param λ 经纬度
6
+ * @param φ
7
+ */
8
+ use(λ: number, φ: number): number[]
9
+
10
10
  }
@@ -1,43 +1,43 @@
1
- export default interface Matrix4Type {
2
-
3
- /**
4
- * 返回matrix4当前记录的内部矩阵
5
- */
6
- value(): number[]
7
-
8
- /**
9
- * 两个矩阵相乘
10
- * @param newMatrix4
11
- * @param flag 可选,表示相乘位置,默认false,表示左乘
12
- */
13
- multiply(newMatrix4: number[], flag?: boolean): this
14
-
15
- /**
16
- * 把变换矩阵作用在具体的点上
17
- */
18
- use(x: number, y: number, z?: number, w?: number): number[]
19
-
20
- /**
21
- * 沿着向量(a, b, c)方向移动距离dis
22
- * (其中c可以不传,默认0)
23
- */
24
- move(dis: number, a: number, b: number, c?: number): this
25
-
26
- /**
27
- * 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
28
- * (其中cx、cy和cz都可以不传递,默认0)
29
- */
30
- scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
31
-
32
- /**
33
- * 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
34
- * (方向由右手法则确定)
35
- *
36
- * a1、b1、c1、a2、b2和c2这6个值在设置的时候,不是一定需要全部设置,还有以下可选:
37
- *
38
- * 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
39
- * 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
40
- */
41
- rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
42
-
1
+ export default interface Matrix4Type {
2
+
3
+ /**
4
+ * 返回matrix4当前记录的内部矩阵
5
+ */
6
+ value(): number[]
7
+
8
+ /**
9
+ * 两个矩阵相乘
10
+ * @param newMatrix4
11
+ * @param flag 可选,表示相乘位置,默认false,表示左乘
12
+ */
13
+ multiply(newMatrix4: number[], flag?: boolean): this
14
+
15
+ /**
16
+ * 把变换矩阵作用在具体的点上
17
+ */
18
+ use(x: number, y: number, z?: number, w?: number): number[]
19
+
20
+ /**
21
+ * 沿着向量(a, b, c)方向移动距离dis
22
+ * (其中c可以不传,默认0)
23
+ */
24
+ move(dis: number, a: number, b: number, c?: number): this
25
+
26
+ /**
27
+ * 以点(cx, cy, cz)为中心,分别在x、y和z方向上缩放xTimes、yTimes和zTimes倍
28
+ * (其中cx、cy和cz都可以不传递,默认0)
29
+ */
30
+ scale(xTimes: number, yTimes: number, zTimes: number, cx?: number, cy?: number, cz?: number): this
31
+
32
+ /**
33
+ * 围绕射线(a1, b1, c1) -> (a2, b2, c2)旋转deg度
34
+ * (方向由右手法则确定)
35
+ *
36
+ * a1、b1、c1、a2、b2和c2这6个值在设置的时候,不是一定需要全部设置,还有以下可选:
37
+ *
38
+ * 1)只设置了a1和b1,表示在xoy平面围绕(a1, b1)旋转
39
+ * 2)设置三个点(设置不足六个点都认为只设置了三个点),表示围绕从原点出发的射线旋转
40
+ */
41
+ rotate(deg: number, a1: number, b1: number, c1?: number, a2?: number, b2?: number, c2?: number): this
42
+
43
43
  }
@@ -1,114 +1,114 @@
1
- import Matrix4Type from './Matrix4'
2
-
3
- export interface meshType {
4
-
5
- // 形状
6
- geometry: {
7
- attributes: {
8
-
9
- // 点坐标
10
- position: {
11
- array: number[] | Float32Array
12
- count: number
13
- itemSize: number
14
- }
15
-
16
- // 法向量
17
- normal?: {
18
- array: number[] | Float32Array
19
- count: number
20
- itemSize: number
21
- }
22
-
23
- // 纹理坐标
24
- uv?: {
25
- array: number[] | Float32Array
26
- count: number
27
- itemSize: number
28
- }
29
-
30
- }
31
-
32
- // 索引
33
- index?: {
34
- array: number[] | Uint8Array
35
- count: number
36
- itemSize: number
37
- }
38
-
39
- // 点、线、还是三角形
40
- // "POINTS" | "LINES" | "INE_STRIP" | "LINE_LOOP" | "TRIANGLES" | "TRIANGLE_STRIP" | "TRIANGLE_FAN"
41
- type: string
42
- }
43
-
44
- // 材质
45
- material: {
46
-
47
- // 单一的颜色
48
- color?: {
49
- r: number
50
- g: number
51
- b: number
52
- alpha: number
53
- }
54
-
55
- // 多颜色
56
- colors?: {
57
- array: number[] | Float32Array
58
- count: number
59
- itemSize: number
60
- }
61
-
62
- // 立方体纹理
63
- cube?: {
64
- left?: {
65
- image: {
66
- value?: TexImageSource
67
- }
68
- },
69
- right?: {
70
- image: {
71
- value?: TexImageSource
72
- }
73
- }
74
- near?: {
75
- image: {
76
- value?: TexImageSource
77
- }
78
- }
79
- far?: {
80
- image: {
81
- value?: TexImageSource
82
- }
83
- }
84
- top?: {
85
- image: {
86
- value?: TexImageSource
87
- }
88
- }
89
- bottom?: {
90
- image: {
91
- value?: TexImageSource
92
- }
93
- }
94
- }
95
-
96
- // 二维纹理
97
- image?: {
98
- value?: TexImageSource
99
- }
100
-
101
- }
102
- }
103
-
104
- export default interface Object3D {
105
-
106
- // 区域名称,不设置或设置为空字符串,表示此区域无需记录
107
- region?: string
108
-
109
- // 变换矩阵
110
- matrix?: Matrix4Type
111
-
112
- // 图形
113
- mesh: meshType[]
1
+ import Matrix4Type from './Matrix4'
2
+
3
+ export interface meshType {
4
+
5
+ // 形状
6
+ geometry: {
7
+ attributes: {
8
+
9
+ // 点坐标
10
+ position: {
11
+ array: number[] | Float32Array
12
+ count: number
13
+ itemSize: number
14
+ }
15
+
16
+ // 法向量
17
+ normal?: {
18
+ array: number[] | Float32Array
19
+ count: number
20
+ itemSize: number
21
+ }
22
+
23
+ // 纹理坐标
24
+ uv?: {
25
+ array: number[] | Float32Array
26
+ count: number
27
+ itemSize: number
28
+ }
29
+
30
+ }
31
+
32
+ // 索引
33
+ index?: {
34
+ array: number[] | Uint8Array
35
+ count: number
36
+ itemSize: number
37
+ }
38
+
39
+ // 点、线、还是三角形
40
+ // "POINTS" | "LINES" | "INE_STRIP" | "LINE_LOOP" | "TRIANGLES" | "TRIANGLE_STRIP" | "TRIANGLE_FAN"
41
+ type: string
42
+ }
43
+
44
+ // 材质
45
+ material: {
46
+
47
+ // 单一的颜色
48
+ color?: {
49
+ r: number
50
+ g: number
51
+ b: number
52
+ alpha: number
53
+ }
54
+
55
+ // 多颜色
56
+ colors?: {
57
+ array: number[] | Float32Array
58
+ count: number
59
+ itemSize: number
60
+ }
61
+
62
+ // 立方体纹理
63
+ cube?: {
64
+ left?: {
65
+ image: {
66
+ value?: TexImageSource
67
+ }
68
+ },
69
+ right?: {
70
+ image: {
71
+ value?: TexImageSource
72
+ }
73
+ }
74
+ near?: {
75
+ image: {
76
+ value?: TexImageSource
77
+ }
78
+ }
79
+ far?: {
80
+ image: {
81
+ value?: TexImageSource
82
+ }
83
+ }
84
+ top?: {
85
+ image: {
86
+ value?: TexImageSource
87
+ }
88
+ }
89
+ bottom?: {
90
+ image: {
91
+ value?: TexImageSource
92
+ }
93
+ }
94
+ }
95
+
96
+ // 二维纹理
97
+ image?: {
98
+ value?: TexImageSource
99
+ }
100
+
101
+ }
102
+ }
103
+
104
+ export default interface Object3D {
105
+
106
+ // 区域名称,不设置或设置为空字符串,表示此区域无需记录
107
+ region?: string
108
+
109
+ // 变换矩阵
110
+ matrix?: Matrix4Type
111
+
112
+ // 图形
113
+ mesh: meshType[]
114
114
  }