vislite 0.1.1 → 0.2.0-alpha.7

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 (112) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +19 -1
  3. package/LICENSE +20 -20
  4. package/README.md +53 -52
  5. package/lib/Canvas/index.umd.js +135 -46
  6. package/lib/Canvas/index.umd.min.js +7 -3
  7. package/lib/Cardinal/index.umd.js +6 -2
  8. package/lib/Cardinal/index.umd.min.js +6 -2
  9. package/lib/Eoap/index.umd.js +9 -5
  10. package/lib/Eoap/index.umd.min.js +6 -2
  11. package/lib/Hermite/index.umd.js +6 -2
  12. package/lib/Hermite/index.umd.min.js +6 -2
  13. package/lib/Matrix4/index.umd.js +6 -2
  14. package/lib/Matrix4/index.umd.min.js +6 -2
  15. package/lib/Mercator/index.umd.js +42 -0
  16. package/lib/Mercator/index.umd.min.js +15 -0
  17. package/lib/OralCanvas/index.es.js +124 -44
  18. package/lib/OralCanvas/index.es.min.js +7 -3
  19. package/lib/OralWebGL/index.es.js +567 -0
  20. package/lib/OralWebGL/index.es.min.js +15 -0
  21. package/lib/SVG/index.umd.js +16 -5
  22. package/lib/SVG/index.umd.min.js +7 -3
  23. package/lib/WebGL/index.umd.js +626 -0
  24. package/lib/WebGL/index.umd.min.js +15 -0
  25. package/lib/animation/index.umd.js +6 -2
  26. package/lib/animation/index.umd.min.js +6 -2
  27. package/lib/getLoopColors/index.umd.js +6 -2
  28. package/lib/getLoopColors/index.umd.min.js +6 -2
  29. package/lib/index.umd.js +1514 -863
  30. package/lib/index.umd.min.js +7 -3
  31. package/lib/rotate/index.umd.js +6 -2
  32. package/lib/rotate/index.umd.min.js +6 -2
  33. package/lib/ruler/index.umd.js +6 -2
  34. package/lib/ruler/index.umd.min.js +6 -2
  35. package/lib/viewHandler/index.umd.js +129 -0
  36. package/lib/viewHandler/index.umd.min.js +15 -0
  37. package/miniprogram/ui-canvas/index.js +21 -7
  38. package/miniprogram/ui-canvas/index.json +4 -4
  39. package/miniprogram/ui-canvas/index.wxml +4 -4
  40. package/miniprogram/ui-canvas/index.wxss +5 -5
  41. package/package/Canvas/index.ts +1 -1
  42. package/package/Cardinal/index.ts +2 -2
  43. package/package/Eoap/index.ts +2 -2
  44. package/package/Hermite/index.ts +2 -2
  45. package/package/Matrix4/index.ts +2 -2
  46. package/package/Mercator/index.ts +3 -0
  47. package/package/OralCanvas/index.ts +1 -1
  48. package/package/OralWebGL/index.ts +2 -0
  49. package/package/SVG/index.ts +2 -2
  50. package/package/WebGL/index.ts +2 -0
  51. package/package/animation/index.ts +2 -2
  52. package/package/getLoopColors/index.ts +2 -2
  53. package/package/index.ts +32 -9
  54. package/package/rotate/index.ts +2 -2
  55. package/package/ruler/index.ts +2 -2
  56. package/package/viewHandler/index.ts +3 -0
  57. package/package.json +11 -2
  58. package/src/Canvas.ts +10 -1
  59. package/src/Eoap.ts +5 -5
  60. package/src/Matrix4/index.ts +76 -76
  61. package/src/Matrix4/move.ts +12 -12
  62. package/src/Matrix4/rotate.ts +15 -15
  63. package/src/Matrix4/scale.ts +11 -11
  64. package/src/Matrix4/transform.ts +64 -64
  65. package/src/Mercator.ts +27 -0
  66. package/src/SVG.ts +1 -1
  67. package/src/WebGL.ts +53 -0
  68. package/src/animation.ts +99 -99
  69. package/src/common/assemble.ts +23 -0
  70. package/src/common/canvas/arc.ts +50 -50
  71. package/src/common/canvas/config.ts +7 -6
  72. package/src/common/canvas/index.ts +29 -28
  73. package/src/common/canvas/painter.ts +51 -8
  74. package/src/common/canvas/texts.ts +19 -0
  75. package/src/common/setStyle.ts +5 -5
  76. package/src/common/svg/config.ts +127 -126
  77. package/src/common/svg/index.ts +13 -3
  78. package/src/common/svg/tool.ts +43 -42
  79. package/src/common/webgl/buffer.ts +80 -0
  80. package/src/common/webgl/doDraw.ts +97 -0
  81. package/src/common/webgl/getColorFactory.ts +27 -0
  82. package/src/common/webgl/getShader.ts +62 -0
  83. package/src/common/webgl/getTexture.ts +12 -0
  84. package/src/common/webgl/getWebGLContext.ts +28 -0
  85. package/src/common/webgl/index.ts +212 -0
  86. package/src/common/webgl/shader.ts +76 -0
  87. package/src/common/webgl/texture.ts +99 -0
  88. package/src/getLoopColors.ts +42 -42
  89. package/src/interpolation/Cardinal.ts +91 -91
  90. package/src/interpolation/Hermite.ts +65 -65
  91. package/src/rotate.ts +7 -7
  92. package/src/ruler.ts +99 -99
  93. package/src/viewHandler.ts +140 -0
  94. package/types/Canvas.d.ts +220 -283
  95. package/types/CanvasConfig.d.ts +81 -0
  96. package/types/Cardinal.d.ts +13 -13
  97. package/types/Hermite.d.ts +18 -18
  98. package/types/Map.d.ts +10 -0
  99. package/types/Matrix4.d.ts +42 -42
  100. package/types/Object3D.d.ts +106 -0
  101. package/types/SVG.d.ts +210 -264
  102. package/types/SVGConfig.d.ts +59 -0
  103. package/types/Scene3D.d.ts +7 -0
  104. package/types/WebGL.d.ts +29 -0
  105. package/types/animation.d.ts +6 -6
  106. package/types/getLoopColors.d.ts +2 -2
  107. package/types/index.d.ts +70 -26
  108. package/types/rotate.d.ts +2 -2
  109. package/types/ruler.d.ts +2 -2
  110. package/types/viewHandler.d.ts +13 -0
  111. package/uni-app/ui-canvas.vue +79 -7
  112. package/types/Eoap.d.ts +0 -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
  }
@@ -0,0 +1,106 @@
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
+ type: string // "POINTS" | "LINES" | "INE_STRIP" | "LINE_LOOP" | "TRIANGLES" | "TRIANGLE_STRIP" | "TRIANGLE_FAN"
41
+ }
42
+
43
+ // 材质
44
+ material: {
45
+
46
+ // 单一的颜色
47
+ color?: {
48
+ r: number
49
+ g: number
50
+ b: number
51
+ alpha: number
52
+ }
53
+
54
+ // 立方体纹理
55
+ cube?: {
56
+ left?: {
57
+ image: {
58
+ value?: TexImageSource
59
+ }
60
+ },
61
+ right?: {
62
+ image: {
63
+ value?: TexImageSource
64
+ }
65
+ }
66
+ near?: {
67
+ image: {
68
+ value?: TexImageSource
69
+ }
70
+ }
71
+ far?: {
72
+ image: {
73
+ value?: TexImageSource
74
+ }
75
+ }
76
+ top?: {
77
+ image: {
78
+ value?: TexImageSource
79
+ }
80
+ }
81
+ bottom?: {
82
+ image: {
83
+ value?: TexImageSource
84
+ }
85
+ }
86
+ }
87
+
88
+ // 二维纹理
89
+ image?: {
90
+ value?: TexImageSource
91
+ }
92
+
93
+ }
94
+ }
95
+
96
+ export default interface Object3D {
97
+
98
+ // 区域名称,如果设置为空字符串,表示此区域无需记录
99
+ region?: string
100
+
101
+ // 变换矩阵
102
+ matrix?: Matrix4Type
103
+
104
+ // 图形
105
+ mesh: meshType[]
106
+ }
package/types/SVG.d.ts CHANGED
@@ -1,265 +1,211 @@
1
- interface configType {
2
-
3
- /**
4
- * 填充色或图案,默认"#000"
5
- */
6
- fillStyle?: string
7
-
8
- /**
9
- * 轮廓色或图案,默认"#000"
10
- */
11
- strokeStyle?: string
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
- * 文字大小,默认16
37
- */
38
- "font-size"?: number
39
-
40
- /**
41
- * 字体,默认"sans-serif"
42
- */
43
- "font-family"?: string
44
-
45
- /**
46
- * 圆弧开始端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
47
- */
48
- "arc-start-cap"?: string
49
-
50
- /**
51
- * 圆弧结束端闭合方式,默认"butt"直线闭合(还有"round"圆帽闭合,"-round"反圆帽闭合)
52
- */
53
- "arc-end-cap"?: string
54
-
55
- }
56
-
57
- export default interface SVGType {
58
-
59
- /**
60
- * 配置画笔
61
- */
62
- config(configs: configType): this
63
-
64
- /**
65
- * 标记应用节点
66
- */
67
- useEl(el: SVGElement): this
68
-
69
- /**
70
- * 获取当前应用的节点
71
- */
72
- getEl(): SVGElement
73
-
74
- /**
75
- * 追加节点
76
- */
77
- appendEl(el: string | SVGElement, context?: SVGElement): this
78
-
79
- /**
80
- * 追加绘制板
81
- */
82
- appendBoard(el: string | SVGElement, context?: SVGElement): this
83
-
84
- /**
85
- * 删除当前维护的节点
86
- */
87
- remove(): this
88
-
89
- /**
90
- * 设置或获取节点属性
91
- */
92
- attr(params?: any): any
93
-
94
- /**
95
- * 绘制一个实心文字
96
- * @param text 需要绘制的文字
97
- * @param x 绘制位置的x坐标
98
- * @param y 绘制位置的y坐标
99
- * @param deg 可选,文字旋转角度
100
- */
101
- fillText(text: any, x: number, y: number, deg?: number): this
102
-
103
- /**
104
- * 绘制一个空心文字
105
- * @param text 需要绘制的文字
106
- * @param x 绘制位置的x坐标
107
- * @param y 绘制位置的y坐标
108
- * @param deg 可选,文字旋转角度
109
- */
110
- strokeText(text: any, x: number, y: number, deg?: number): this
111
-
112
- /**
113
- * 绘制一个空实心文字
114
- * @param text 需要绘制的文字
115
- * @param x 绘制位置的x坐标
116
- * @param y 绘制位置的y坐标
117
- * @param deg 可选,文字旋转角度
118
- */
119
- fullText(text: any, x: number, y: number, deg?: number): this
120
-
121
- /**
122
- * 绘制一个实心的圆弧
123
- * @param cx 圆弧的圆心x坐标
124
- * @param cy 圆弧的圆心y坐标
125
- * @param r1 圆弧的内半径
126
- * @param r2 圆弧的外半径
127
- * @param beginDeg 开始弧度
128
- * @param deg 跨越弧度
129
- */
130
- fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
131
-
132
- /**
133
- * 绘制一个空心的圆弧
134
- * @param cx 圆弧的圆心x坐标
135
- * @param cy 圆弧的圆心y坐标
136
- * @param r1 圆弧的内半径
137
- * @param r2 圆弧的外半径
138
- * @param beginDeg 开始弧度
139
- * @param deg 跨越弧度
140
- */
141
- strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
142
-
143
- /**
144
- * 绘制一个空实心的圆弧
145
- * @param cx 圆弧的圆心x坐标
146
- * @param cy 圆弧的圆心y坐标
147
- * @param r1 圆弧的内半径
148
- * @param r2 圆弧的外半径
149
- * @param beginDeg 开始弧度
150
- * @param deg 跨越弧度
151
- */
152
- fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
153
-
154
- /**
155
- * 绘制一个实心的圆
156
- * @param cx 圆心x坐标
157
- * @param cy 圆心y坐标
158
- * @param r 圆的半径
159
- */
160
- fillCircle(cx: number, cy: number, r: number): this
161
-
162
- /**
163
- * 绘制一个空心的圆
164
- * @param cx 圆心x坐标
165
- * @param cy 圆心y坐标
166
- * @param r 圆的半径
167
- */
168
- strokeCircle(cx: number, cy: number, r: number): this
169
-
170
- /**
171
- * 绘制一个空实心的圆
172
- * @param cx 圆心x坐标
173
- * @param cy 圆心y坐标
174
- * @param r 圆的半径
175
- */
176
- fullCircle(cx: number, cy: number, r: number): this
177
-
178
- /**
179
- * 绘制一个实心的矩形
180
- * @param x 可选,区域左上角X坐标
181
- * @param y 可选,区域左上角y坐标
182
- * @param width 可选,区域的宽
183
- * @param height 可选,区域的高
184
- */
185
- fillRect(x: number, y: number, width: number, height: number): this
186
-
187
- /**
188
- * 绘制一个空心的矩形
189
- * @param x 可选,区域左上角X坐标
190
- * @param y 可选,区域左上角y坐标
191
- * @param width 可选,区域的宽
192
- * @param height 可选,区域的高
193
- */
194
- strokeRect(x: number, y: number, width: number, height: number): this
195
-
196
- /**
197
- * 绘制一个空实心的矩形
198
- * @param x 可选,区域左上角X坐标
199
- * @param y 可选,区域左上角y坐标
200
- * @param width 可选,区域的宽
201
- * @param height 可选,区域的高
202
- */
203
- fullRect(x: number, y: number, width: number, height: number): this
204
-
205
- /**
206
- * 开始一段独立的路径
207
- */
208
- beginPath(): this
209
-
210
- /**
211
- * 闭合当前路径,也就是路径首尾闭合
212
- */
213
- closePath(): this
214
-
215
- /**
216
- * 画笔移动到点(x, y),此时笔离开了画布
217
- */
218
- moveTo(x: number, y: number): this
219
-
220
- /**
221
- * 画笔移动到点(x, y),此时笔没有离开画布
222
- */
223
- lineTo(x: number, y: number): this
224
-
225
- /**
226
- * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
227
- */
228
- arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
229
-
230
- /**
231
- * 二次贝塞尔曲线到
232
- * @param cpx 控制点x坐标
233
- * @param cpy 控制点y坐标
234
- * @param x 终点x坐标
235
- * @param y 终点y坐标
236
- */
237
- quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
238
-
239
- /**
240
- * 三次贝塞尔曲线到
241
- * @param cpx1 控制点1的x坐标
242
- * @param cpy1 控制点1的y坐标
243
- * @param cpx2 控制点2的x坐标
244
- * @param cpy2 控制点2的y坐标
245
- * @param x 终点x坐标
246
- * @param y 终点y坐标
247
- */
248
- bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
249
-
250
- /**
251
- * 把当前路径包裹的区域填充颜色
252
- */
253
- fill(): this
254
-
255
- /**
256
- * 把当前路径上色(轮廓线)
257
- */
258
- stroke(): this
259
-
260
- /**
261
- * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
262
- */
263
- full(): this
264
-
1
+ import SVGConfigType from './SVGConfig'
2
+
3
+ export default interface SVGType {
4
+
5
+ /**
6
+ * 配置画笔
7
+ */
8
+ config(configs: SVGConfigType): this
9
+
10
+ /**
11
+ * 标记应用节点
12
+ */
13
+ useEl(el: SVGElement): this
14
+
15
+ /**
16
+ * 获取当前应用的节点
17
+ */
18
+ getEl(): SVGElement
19
+
20
+ /**
21
+ * 追加节点
22
+ */
23
+ appendEl(el: string | SVGElement, context?: SVGElement): this
24
+
25
+ /**
26
+ * 追加绘制板
27
+ */
28
+ appendBoard(el: string | SVGElement, context?: SVGElement): this
29
+
30
+ /**
31
+ * 删除当前维护的节点
32
+ */
33
+ remove(): this
34
+
35
+ /**
36
+ * 设置或获取节点属性
37
+ */
38
+ attr(params?: any): any
39
+
40
+ /**
41
+ * 绘制一个实心文字
42
+ * @param text 需要绘制的文字
43
+ * @param x 绘制位置的x坐标
44
+ * @param y 绘制位置的y坐标
45
+ * @param deg 可选,文字旋转角度
46
+ */
47
+ fillText(text: any, x: number, y: number, deg?: number): this
48
+
49
+ /**
50
+ * 绘制一个空心文字
51
+ * @param text 需要绘制的文字
52
+ * @param x 绘制位置的x坐标
53
+ * @param y 绘制位置的y坐标
54
+ * @param deg 可选,文字旋转角度
55
+ */
56
+ strokeText(text: any, x: number, y: number, deg?: number): this
57
+
58
+ /**
59
+ * 绘制一个空实心文字
60
+ * @param text 需要绘制的文字
61
+ * @param x 绘制位置的x坐标
62
+ * @param y 绘制位置的y坐标
63
+ * @param deg 可选,文字旋转角度
64
+ */
65
+ fullText(text: any, x: number, y: number, deg?: number): this
66
+
67
+ /**
68
+ * 绘制一个实心的圆弧
69
+ * @param cx 圆弧的圆心x坐标
70
+ * @param cy 圆弧的圆心y坐标
71
+ * @param r1 圆弧的内半径
72
+ * @param r2 圆弧的外半径
73
+ * @param beginDeg 开始弧度
74
+ * @param deg 跨越弧度
75
+ */
76
+ fillArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
77
+
78
+ /**
79
+ * 绘制一个空心的圆弧
80
+ * @param cx 圆弧的圆心x坐标
81
+ * @param cy 圆弧的圆心y坐标
82
+ * @param r1 圆弧的内半径
83
+ * @param r2 圆弧的外半径
84
+ * @param beginDeg 开始弧度
85
+ * @param deg 跨越弧度
86
+ */
87
+ strokeArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
88
+
89
+ /**
90
+ * 绘制一个空实心的圆弧
91
+ * @param cx 圆弧的圆心x坐标
92
+ * @param cy 圆弧的圆心y坐标
93
+ * @param r1 圆弧的内半径
94
+ * @param r2 圆弧的外半径
95
+ * @param beginDeg 开始弧度
96
+ * @param deg 跨越弧度
97
+ */
98
+ fullArc(cx: number, cy: number, r1: number, r2: number, beginDeg: number, deg: number): this
99
+
100
+ /**
101
+ * 绘制一个实心的圆
102
+ * @param cx 圆心x坐标
103
+ * @param cy 圆心y坐标
104
+ * @param r 圆的半径
105
+ */
106
+ fillCircle(cx: number, cy: number, r: number): this
107
+
108
+ /**
109
+ * 绘制一个空心的圆
110
+ * @param cx 圆心x坐标
111
+ * @param cy 圆心y坐标
112
+ * @param r 圆的半径
113
+ */
114
+ strokeCircle(cx: number, cy: number, r: number): this
115
+
116
+ /**
117
+ * 绘制一个空实心的圆
118
+ * @param cx 圆心x坐标
119
+ * @param cy 圆心y坐标
120
+ * @param r 圆的半径
121
+ */
122
+ fullCircle(cx: number, cy: number, r: number): this
123
+
124
+ /**
125
+ * 绘制一个实心的矩形
126
+ * @param x 可选,区域左上角X坐标
127
+ * @param y 可选,区域左上角y坐标
128
+ * @param width 可选,区域的宽
129
+ * @param height 可选,区域的高
130
+ */
131
+ fillRect(x: number, y: number, width: number, height: number): this
132
+
133
+ /**
134
+ * 绘制一个空心的矩形
135
+ * @param x 可选,区域左上角X坐标
136
+ * @param y 可选,区域左上角y坐标
137
+ * @param width 可选,区域的宽
138
+ * @param height 可选,区域的高
139
+ */
140
+ strokeRect(x: number, y: number, width: number, height: number): this
141
+
142
+ /**
143
+ * 绘制一个空实心的矩形
144
+ * @param x 可选,区域左上角X坐标
145
+ * @param y 可选,区域左上角y坐标
146
+ * @param width 可选,区域的宽
147
+ * @param height 可选,区域的高
148
+ */
149
+ fullRect(x: number, y: number, width: number, height: number): this
150
+
151
+ /**
152
+ * 开始一段独立的路径
153
+ */
154
+ beginPath(): this
155
+
156
+ /**
157
+ * 闭合当前路径,也就是路径首尾闭合
158
+ */
159
+ closePath(): this
160
+
161
+ /**
162
+ * 画笔移动到点(x, y),此时笔离开了画布
163
+ */
164
+ moveTo(x: number, y: number): this
165
+
166
+ /**
167
+ * 画笔移动到点(x, y),此时笔没有离开画布
168
+ */
169
+ lineTo(x: number, y: number): this
170
+
171
+ /**
172
+ * 以(cx, cy)为圆心,半径r,从弧度beginDeg开始,跨越弧度deg画弧,此时笔没有离开画布
173
+ */
174
+ arc(cx: number, cy: number, r: number, beginDeg: number, deg: number): this
175
+
176
+ /**
177
+ * 二次贝塞尔曲线到
178
+ * @param cpx 控制点x坐标
179
+ * @param cpy 控制点y坐标
180
+ * @param x 终点x坐标
181
+ * @param y 终点y坐标
182
+ */
183
+ quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): this
184
+
185
+ /**
186
+ * 三次贝塞尔曲线到
187
+ * @param cpx1 控制点1的x坐标
188
+ * @param cpy1 控制点1的y坐标
189
+ * @param cpx2 控制点2的x坐标
190
+ * @param cpy2 控制点2的y坐标
191
+ * @param x 终点x坐标
192
+ * @param y 终点y坐标
193
+ */
194
+ bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): this
195
+
196
+ /**
197
+ * 把当前路径包裹的区域填充颜色
198
+ */
199
+ fill(): this
200
+
201
+ /**
202
+ * 把当前路径上色(轮廓线)
203
+ */
204
+ stroke(): this
205
+
206
+ /**
207
+ * 把当前路径画上轮廓线并填充颜色到当前路径所包裹的区域
208
+ */
209
+ full(): this
210
+
265
211
  }