vislite 0.5.0-alpha.0 → 0.5.2-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 (165) hide show
  1. package/.editorconfig +18 -18
  2. package/AUTHORS.txt +6 -6
  3. package/CHANGELOG +9 -1
  4. package/LICENSE +20 -20
  5. package/README.md +69 -69
  6. package/miniprogram/ui-canvas/index.js +107 -107
  7. package/miniprogram/ui-canvas/index.json +4 -4
  8. package/miniprogram/ui-canvas/index.wxml +4 -4
  9. package/miniprogram/ui-canvas/index.wxss +5 -5
  10. package/package/Buffer/index.ts +2 -2
  11. package/package/Canvas/index.ts +2 -2
  12. package/package/Cardinal/index.ts +2 -2
  13. package/package/Eoap/index.ts +2 -2
  14. package/package/Hermite/index.ts +2 -2
  15. package/package/Matrix4/index.ts +2 -2
  16. package/package/Mercator/index.ts +2 -2
  17. package/package/OralCanvas/index.ts +2 -2
  18. package/package/OralWebGL/index.ts +2 -2
  19. package/package/SVG/index.ts +2 -2
  20. package/package/Shader/index.ts +39 -39
  21. package/package/Texture/index.ts +2 -2
  22. package/package/TreeLayout/index.ts +2 -2
  23. package/package/WebGL/index.ts +2 -2
  24. package/package/animation/index.ts +2 -2
  25. package/package/formatColor/index.ts +2 -2
  26. package/package/getLoopColors/index.ts +2 -2
  27. package/package/getWebGLContext/index.ts +39 -39
  28. package/package/resizeObserver/index.ts +2 -2
  29. package/package/rotate/index.ts +2 -2
  30. package/package/ruler/index.ts +2 -2
  31. package/package/throttle/index.ts +2 -2
  32. package/package/viewHandler/index.ts +2 -2
  33. package/package.json +1 -1
  34. package/src/Canvas.ts +67 -67
  35. package/src/Geometry.ts +17 -16
  36. package/src/Matrix4/move.ts +12 -12
  37. package/src/Matrix4/rotate.ts +15 -15
  38. package/src/Matrix4/scale.ts +11 -11
  39. package/src/Matrix4/transform.ts +64 -64
  40. package/src/SVG.ts +24 -24
  41. package/src/TreeLayout/index.ts +186 -185
  42. package/src/WebGL.ts +66 -66
  43. package/src/animation.ts +98 -98
  44. package/src/common/assemble.ts +22 -22
  45. package/src/common/canvas/arc.ts +50 -50
  46. package/src/common/canvas/config.ts +158 -158
  47. package/src/common/canvas/gradient.ts +29 -29
  48. package/src/common/canvas/index.ts +168 -168
  49. package/src/common/canvas/painter.ts +426 -426
  50. package/src/common/canvas/texts.ts +18 -18
  51. package/src/common/geometry/prism-horizontal.ts +8 -9
  52. package/src/common/mergeOption.ts +6 -6
  53. package/src/common/setStyle.ts +5 -5
  54. package/src/common/svg/config.ts +174 -174
  55. package/src/common/svg/index.ts +344 -336
  56. package/src/common/svg/tool.ts +44 -44
  57. package/src/common/tree/index.ts +25 -25
  58. package/src/common/tree/toInnerTree.ts +56 -56
  59. package/src/common/tree/toPlainTree.ts +131 -131
  60. package/src/common/webgl/buffer.ts +79 -79
  61. package/src/common/webgl/doDraw.ts +108 -108
  62. package/src/common/webgl/getColorFactory.ts +26 -26
  63. package/src/common/webgl/getShader.ts +48 -48
  64. package/src/common/webgl/getTexture.ts +11 -11
  65. package/src/common/webgl/getWebGLContext.ts +27 -27
  66. package/src/common/webgl/index.ts +223 -223
  67. package/src/common/webgl/shader.ts +75 -75
  68. package/src/common/webgl/texture.ts +96 -96
  69. package/src/formatColor.ts +44 -44
  70. package/src/getLoopColors.ts +42 -42
  71. package/src/interpolation/Cardinal.ts +110 -110
  72. package/src/interpolation/Hermite.ts +65 -65
  73. package/src/resizeObserver.ts +36 -36
  74. package/src/ruler.ts +188 -188
  75. package/src/shader/fsColor.c +7 -7
  76. package/src/shader/fsColors.c +7 -7
  77. package/src/shader/fsCube.c +8 -8
  78. package/src/shader/fsImage.c +8 -8
  79. package/src/shader/vsColor.c +17 -17
  80. package/src/shader/vsColors.c +13 -13
  81. package/src/shader/vsCube.c +13 -13
  82. package/src/shader/vsImage.c +13 -13
  83. package/src/throttle.ts +51 -51
  84. package/src/viewHandler.ts +158 -158
  85. package/types/Buffer.d.ts +23 -23
  86. package/types/Canvas.d.ts +300 -300
  87. package/types/CanvasConfig.d.ts +106 -82
  88. package/types/CanvasOption.d.ts +7 -7
  89. package/types/Cardinal.d.ts +13 -13
  90. package/types/Geometry.d.ts +6 -0
  91. package/types/Gradient.d.ts +14 -14
  92. package/types/Hermite.d.ts +18 -18
  93. package/types/Object3D.d.ts +114 -114
  94. package/types/SVG.d.ts +215 -210
  95. package/types/SVGConfig.d.ts +76 -60
  96. package/types/Scene3D.d.ts +6 -6
  97. package/types/Shader.d.ts +21 -21
  98. package/types/Texture.d.ts +16 -16
  99. package/types/Tree.d.ts +69 -69
  100. package/types/TreeConfig.d.ts +24 -24
  101. package/types/TreeLayout.d.ts +54 -48
  102. package/types/TreeOption.d.ts +48 -48
  103. package/types/WebGL.d.ts +38 -38
  104. package/types/WebGLOption.d.ts +7 -7
  105. package/types/animation.d.ts +6 -6
  106. package/types/formatColor.d.ts +2 -2
  107. package/types/getLoopColors.d.ts +2 -2
  108. package/types/getWebGLContext.d.ts +2 -2
  109. package/types/painterConfig.d.ts +2 -2
  110. package/types/resizeObserver.d.ts +2 -2
  111. package/types/ruler.d.ts +7 -7
  112. package/types/throttle.d.ts +4 -4
  113. package/types/throttleOption.d.ts +21 -21
  114. package/types/viewHandler.d.ts +13 -13
  115. package/uni-app/ui-canvas.vue +226 -222
  116. package/lib/Buffer/index.umd.js +0 -55
  117. package/lib/Buffer/index.umd.min.js +0 -11
  118. package/lib/Canvas/index.umd.js +0 -721
  119. package/lib/Canvas/index.umd.min.js +0 -11
  120. package/lib/Cardinal/index.umd.js +0 -112
  121. package/lib/Cardinal/index.umd.min.js +0 -11
  122. package/lib/Eoap/index.umd.js +0 -53
  123. package/lib/Eoap/index.umd.min.js +0 -11
  124. package/lib/Geometry/index.umd.js +0 -204
  125. package/lib/Geometry/index.umd.min.js +0 -11
  126. package/lib/Hermite/index.umd.js +0 -55
  127. package/lib/Hermite/index.umd.min.js +0 -11
  128. package/lib/Matrix4/index.umd.js +0 -146
  129. package/lib/Matrix4/index.umd.min.js +0 -11
  130. package/lib/Mercator/index.umd.js +0 -39
  131. package/lib/Mercator/index.umd.min.js +0 -11
  132. package/lib/OralCanvas/index.es.js +0 -657
  133. package/lib/OralCanvas/index.es.min.js +0 -11
  134. package/lib/OralWebGL/index.es.js +0 -611
  135. package/lib/OralWebGL/index.es.min.js +0 -11
  136. package/lib/SVG/index.umd.js +0 -469
  137. package/lib/SVG/index.umd.min.js +0 -11
  138. package/lib/Shader/index.umd.js +0 -134
  139. package/lib/Shader/index.umd.min.js +0 -11
  140. package/lib/Texture/index.umd.js +0 -72
  141. package/lib/Texture/index.umd.min.js +0 -11
  142. package/lib/TreeLayout/index.umd.js +0 -427
  143. package/lib/TreeLayout/index.umd.min.js +0 -11
  144. package/lib/WebGL/index.umd.js +0 -684
  145. package/lib/WebGL/index.umd.min.js +0 -11
  146. package/lib/animation/index.umd.js +0 -91
  147. package/lib/animation/index.umd.min.js +0 -11
  148. package/lib/formatColor/index.umd.js +0 -59
  149. package/lib/formatColor/index.umd.min.js +0 -11
  150. package/lib/getLoopColors/index.umd.js +0 -55
  151. package/lib/getLoopColors/index.umd.min.js +0 -11
  152. package/lib/getWebGLContext/index.umd.js +0 -65
  153. package/lib/getWebGLContext/index.umd.min.js +0 -11
  154. package/lib/index.umd.js +0 -2824
  155. package/lib/index.umd.min.js +0 -11
  156. package/lib/resizeObserver/index.umd.js +0 -48
  157. package/lib/resizeObserver/index.umd.min.js +0 -11
  158. package/lib/rotate/index.umd.js +0 -27
  159. package/lib/rotate/index.umd.min.js +0 -11
  160. package/lib/ruler/index.umd.js +0 -145
  161. package/lib/ruler/index.umd.min.js +0 -11
  162. package/lib/throttle/index.umd.js +0 -70
  163. package/lib/throttle/index.umd.min.js +0 -11
  164. package/lib/viewHandler/index.umd.js +0 -139
  165. package/lib/viewHandler/index.umd.min.js +0 -11
@@ -1,19 +1,19 @@
1
- export default function (painter: CanvasRenderingContext2D, contents: string, width: number, height: number, doback: (content: string, top: number) => void) {
2
-
3
- let lineNumber = 0, content = ""
4
- for (let i = 0; i < contents.length; i++) {
5
- if (painter.measureText(content + contents[i]).width > width || /\n$/.test(content)) {
6
- lineNumber += 1
7
- doback(content, (lineNumber - 0.5) * height)
8
-
9
- content = contents[i]
10
- } else if (i == contents.length - 1) {
11
- lineNumber += 1
12
- doback(content + contents[i], (lineNumber - 0.5) * height)
13
- } else {
14
- content += contents[i]
15
- }
16
- }
17
-
18
- return lineNumber * height
1
+ export default function (painter: CanvasRenderingContext2D, contents: string, width: number, height: number, doback: (content: string, top: number) => void) {
2
+
3
+ let lineNumber = 0, content = ""
4
+ for (let i = 0; i < contents.length; i++) {
5
+ if (painter.measureText(content + contents[i]).width > width || /\n$/.test(content)) {
6
+ lineNumber += 1
7
+ doback(content, (lineNumber - 0.5) * height)
8
+
9
+ content = contents[i]
10
+ } else if (i == contents.length - 1) {
11
+ lineNumber += 1
12
+ doback(content + contents[i], (lineNumber - 0.5) * height)
13
+ } else {
14
+ content += contents[i]
15
+ }
16
+ }
17
+
18
+ return lineNumber * height
19
19
  }
@@ -15,20 +15,19 @@ export default function (normal: boolean, x: number, y: number, z: number, radiu
15
15
  beginZ = z
16
16
  }
17
17
 
18
- let points = [x, y, z], deg = Math.PI * 2 / num
19
-
20
- if (normal) points.push(0, d, 0)
21
-
22
- points.push(beginX, y, beginZ)
18
+ let point = [beginX, beginZ], points = [], deg = Math.PI * 2 / num
19
+ for (let i = 0; i < num; i++) {
23
20
 
24
- if (normal) points.push(0, d, 0)
21
+ points.push(x, y, z)
22
+ if (normal) points.push(0, d, 0)
25
23
 
26
- for (let i = 0; i < num; i++) {
27
- let point = rotate(x, z, deg * (i + 1), beginX, beginZ)
28
24
  points.push(point[0], y, point[1])
29
-
30
25
  if (normal) points.push(0, d, 0)
31
26
 
27
+ point = rotate(x, z, deg * (i + 1), beginX, beginZ)
28
+ points.push(point[0], y, point[1])
29
+ if (normal) points.push(0, d, 0)
32
30
  }
31
+
33
32
  return points
34
33
  }
@@ -1,7 +1,7 @@
1
- export default function (option: any, defaultOption: any) {
2
- for (let key in option) {
3
- defaultOption[key] = option[key]
4
- }
5
-
6
- return defaultOption
1
+ export default function (option: any, defaultOption: any) {
2
+ for (let key in option) {
3
+ defaultOption[key] = option[key]
4
+ }
5
+
6
+ return defaultOption
7
7
  }
@@ -1,6 +1,6 @@
1
- // 修改样式
2
- export default function (el: HTMLElement | SVGElement, styles: any) {
3
- for (let key in styles) {
4
- el.style[key] = styles[key]
5
- }
1
+ // 修改样式
2
+ export default function (el: HTMLElement | SVGElement, styles: any) {
3
+ for (let key in styles) {
4
+ el.style[key] = styles[key]
5
+ }
6
6
  }
@@ -1,174 +1,174 @@
1
- import type SVGConfigType from "../../../types/SVGConfig"
2
-
3
- import { setAttribute } from "./tool"
4
- import setStyle from "../setStyle"
5
- import arc from "../canvas/arc"
6
-
7
- // 文字统一设置方法
8
- export let initText = (
9
- el: SVGElement,
10
- config: SVGConfigType,
11
- x: number,
12
- y: number,
13
- deg: number
14
- ) => {
15
- if (el.nodeName.toLowerCase() !== "text") throw new Error("Need a <text> !")
16
-
17
- // 垂直对齐采用dy实现
18
- setAttribute(
19
- el,
20
- "dy",
21
- {
22
- top: config["fontSize"] * 0.5,
23
- middle: 0,
24
- bottom: -config["fontSize"] * 0.5,
25
- }[config.textBaseline]
26
- )
27
-
28
- setStyle(el, {
29
- // 文字对齐方式
30
- "text-anchor": {
31
- left: "start",
32
- right: "end",
33
- center: "middle",
34
- }[config.textAlign],
35
- "dominant-baseline": "central",
36
-
37
- // 文字大小和字体设置
38
- "font-size": config["fontSize"] + "px",
39
- "font-family": config["fontFamily"],
40
- })
41
-
42
- // 位置
43
- setAttribute(el, "x", x)
44
- setAttribute(el, "y", y)
45
-
46
- // 旋转
47
- if (typeof deg == "number") {
48
- deg = deg % 360
49
- setAttribute(el, "transform", "rotate(" + deg + "," + x + "," + y + ")")
50
- }
51
- }
52
-
53
- // 画圆统一设置方法
54
- export let initCircle = (el: SVGElement, cx: number, cy: number, r: number) => {
55
- if (el.nodeName.toLowerCase() !== "circle")
56
- throw new Error("Need a <circle> !")
57
- setAttribute(el, "cx", cx)
58
- setAttribute(el, "cy", cy)
59
- setAttribute(el, "r", r)
60
- }
61
-
62
- // 路径统一设置方法
63
- export let initPath = (el: SVGElement, path: string) => {
64
- if (el.nodeName.toLowerCase() !== "path") throw new Error("Need a <path> !")
65
- setAttribute(el, "d", path)
66
- }
67
-
68
- // 画矩形统一设置方法
69
- export let initRect = (
70
- el: SVGElement,
71
- x: number,
72
- y: number,
73
- width: number,
74
- height: number
75
- ) => {
76
- if (el.nodeName.toLowerCase() !== "rect") throw new Error("Need a <rect> !")
77
-
78
- // 由于高和宽不可以是负数,校对一下
79
- if (height < 0) {
80
- height *= -1
81
- y -= height
82
- }
83
- if (width < 0) {
84
- width *= -1
85
- x -= width
86
- }
87
-
88
- setAttribute(el, "x", x)
89
- setAttribute(el, "y", y)
90
- setAttribute(el, "width", width)
91
- setAttribute(el, "height", height)
92
- }
93
-
94
- // 画弧统一设置方法
95
- export let initArc = (
96
- el: SVGElement,
97
- config: SVGConfigType,
98
- cx: number,
99
- cy: number,
100
- r1: number,
101
- r2: number,
102
- beginDeg: number,
103
- deg: number
104
- ) => {
105
- if (el.nodeName.toLowerCase() !== "path") throw new Error("Need a <path> !")
106
-
107
- beginDeg = (beginDeg / 180) * Math.PI
108
- deg = (deg / 180) * Math.PI
109
-
110
- beginDeg = beginDeg % (Math.PI * 2)
111
-
112
- if (r1 > r2) {
113
- let temp = r1
114
- r1 = r2
115
- r2 = temp
116
- }
117
-
118
- // 当|deg|>=2π的时候都认为是一个圆环
119
- if (deg >= Math.PI * 1.999999 || deg <= -Math.PI * 1.999999) {
120
- deg = Math.PI * 1.999999
121
- } else {
122
- deg = deg % (Math.PI * 2)
123
- }
124
-
125
- arc(
126
- beginDeg,
127
- deg,
128
- cx,
129
- cy,
130
- r1,
131
- r2,
132
- function (
133
- beginA: number,
134
- endA: number,
135
- begInnerX: number,
136
- begInnerY: number,
137
- begOuterX: number,
138
- begOuterY: number,
139
- endInnerX: number,
140
- endInnerY: number,
141
- endOuterX: number,
142
- endOuterY: number,
143
- r: number
144
- ) {
145
- let f = endA - beginA > Math.PI ? 1 : 0,
146
- d = "M" + begInnerX + " " + begInnerY
147
- if (r < 0) r = -r
148
-
149
- d +=
150
- // 横半径 竖半径 x轴偏移角度 0小弧/1大弧 0逆时针/1顺时针 终点x 终点y
151
- "A" + r1 + " " + r1 + " 0 " + f + " 1 " + endInnerX + " " + endInnerY
152
-
153
- // 结尾
154
- if (config.arcEndCap == "round")
155
- d += "A" + r + " " + r + " " + " 0 1 0 " + endOuterX + " " + endOuterY
156
- else if (config.arcEndCap == "-round")
157
- d += "A" + r + " " + r + " " + " 0 1 1 " + endOuterX + " " + endOuterY
158
- else d += "L" + endOuterX + " " + endOuterY
159
- d +=
160
- "A" + r2 + " " + r2 + " 0 " + f + " 0 " + begOuterX + " " + begOuterY
161
-
162
- // 开头
163
- if (config.arcStartCap == "round")
164
- d += "A" + r + " " + r + " " + " 0 1 0 " + begInnerX + " " + begInnerY
165
- else if (config.arcStartCap == "-round")
166
- d += "A" + r + " " + r + " " + " 0 1 1 " + begInnerX + " " + begInnerY
167
- else d += "L" + begInnerX + " " + begInnerY
168
-
169
- if (config.arcStartCap == "butt") d += "Z"
170
-
171
- setAttribute(el, "d", d)
172
- }
173
- )
174
- }
1
+ import type SVGConfigType from "../../../types/SVGConfig"
2
+
3
+ import { setAttribute } from "./tool"
4
+ import setStyle from "../setStyle"
5
+ import arc from "../canvas/arc"
6
+
7
+ // 文字统一设置方法
8
+ export let initText = (
9
+ el: SVGElement,
10
+ config: SVGConfigType,
11
+ x: number,
12
+ y: number,
13
+ deg: number
14
+ ) => {
15
+ if (el.nodeName.toLowerCase() !== "text") throw new Error("Need a <text> !")
16
+
17
+ // 垂直对齐采用dy实现
18
+ setAttribute(
19
+ el,
20
+ "dy",
21
+ {
22
+ top: config["fontSize"] * 0.5,
23
+ middle: 0,
24
+ bottom: -config["fontSize"] * 0.5,
25
+ }[config.textBaseline]
26
+ )
27
+
28
+ setStyle(el, {
29
+ // 文字对齐方式
30
+ "text-anchor": {
31
+ left: "start",
32
+ right: "end",
33
+ center: "middle",
34
+ }[config.textAlign],
35
+ "dominant-baseline": "central",
36
+
37
+ // 文字大小和字体设置
38
+ "font-size": config["fontSize"] + "px",
39
+ "font-family": config["fontFamily"],
40
+ })
41
+
42
+ // 位置
43
+ setAttribute(el, "x", x)
44
+ setAttribute(el, "y", y)
45
+
46
+ // 旋转
47
+ if (typeof deg == "number") {
48
+ deg = deg % 360
49
+ setAttribute(el, "transform", "rotate(" + deg + "," + x + "," + y + ")")
50
+ }
51
+ }
52
+
53
+ // 画圆统一设置方法
54
+ export let initCircle = (el: SVGElement, cx: number, cy: number, r: number) => {
55
+ if (el.nodeName.toLowerCase() !== "circle")
56
+ throw new Error("Need a <circle> !")
57
+ setAttribute(el, "cx", cx)
58
+ setAttribute(el, "cy", cy)
59
+ setAttribute(el, "r", r)
60
+ }
61
+
62
+ // 路径统一设置方法
63
+ export let initPath = (el: SVGElement, path: string) => {
64
+ if (el.nodeName.toLowerCase() !== "path") throw new Error("Need a <path> !")
65
+ setAttribute(el, "d", path)
66
+ }
67
+
68
+ // 画矩形统一设置方法
69
+ export let initRect = (
70
+ el: SVGElement,
71
+ x: number,
72
+ y: number,
73
+ width: number,
74
+ height: number
75
+ ) => {
76
+ if (el.nodeName.toLowerCase() !== "rect") throw new Error("Need a <rect> !")
77
+
78
+ // 由于高和宽不可以是负数,校对一下
79
+ if (height < 0) {
80
+ height *= -1
81
+ y -= height
82
+ }
83
+ if (width < 0) {
84
+ width *= -1
85
+ x -= width
86
+ }
87
+
88
+ setAttribute(el, "x", x)
89
+ setAttribute(el, "y", y)
90
+ setAttribute(el, "width", width)
91
+ setAttribute(el, "height", height)
92
+ }
93
+
94
+ // 画弧统一设置方法
95
+ export let initArc = (
96
+ el: SVGElement,
97
+ config: SVGConfigType,
98
+ cx: number,
99
+ cy: number,
100
+ r1: number,
101
+ r2: number,
102
+ beginDeg: number,
103
+ deg: number
104
+ ) => {
105
+ if (el.nodeName.toLowerCase() !== "path") throw new Error("Need a <path> !")
106
+
107
+ beginDeg = (beginDeg / 180) * Math.PI
108
+ deg = (deg / 180) * Math.PI
109
+
110
+ beginDeg = beginDeg % (Math.PI * 2)
111
+
112
+ if (r1 > r2) {
113
+ let temp = r1
114
+ r1 = r2
115
+ r2 = temp
116
+ }
117
+
118
+ // 当|deg|>=2π的时候都认为是一个圆环
119
+ if (deg >= Math.PI * 1.999999 || deg <= -Math.PI * 1.999999) {
120
+ deg = Math.PI * 1.999999
121
+ } else {
122
+ deg = deg % (Math.PI * 2)
123
+ }
124
+
125
+ arc(
126
+ beginDeg,
127
+ deg,
128
+ cx,
129
+ cy,
130
+ r1,
131
+ r2,
132
+ function (
133
+ beginA: number,
134
+ endA: number,
135
+ begInnerX: number,
136
+ begInnerY: number,
137
+ begOuterX: number,
138
+ begOuterY: number,
139
+ endInnerX: number,
140
+ endInnerY: number,
141
+ endOuterX: number,
142
+ endOuterY: number,
143
+ r: number
144
+ ) {
145
+ let f = endA - beginA > Math.PI ? 1 : 0,
146
+ d = "M" + begInnerX + " " + begInnerY
147
+ if (r < 0) r = -r
148
+
149
+ d +=
150
+ // 横半径 竖半径 x轴偏移角度 0小弧/1大弧 0逆时针/1顺时针 终点x 终点y
151
+ "A" + r1 + " " + r1 + " 0 " + f + " 1 " + endInnerX + " " + endInnerY
152
+
153
+ // 结尾
154
+ if (config.arcEndCap == "round")
155
+ d += "A" + r + " " + r + " " + " 0 1 0 " + endOuterX + " " + endOuterY
156
+ else if (config.arcEndCap == "-round")
157
+ d += "A" + r + " " + r + " " + " 0 1 1 " + endOuterX + " " + endOuterY
158
+ else d += "L" + endOuterX + " " + endOuterY
159
+ d +=
160
+ "A" + r2 + " " + r2 + " 0 " + f + " 0 " + begOuterX + " " + begOuterY
161
+
162
+ // 开头
163
+ if (config.arcStartCap == "round")
164
+ d += "A" + r + " " + r + " " + " 0 1 0 " + begInnerX + " " + begInnerY
165
+ else if (config.arcStartCap == "-round")
166
+ d += "A" + r + " " + r + " " + " 0 1 1 " + begInnerX + " " + begInnerY
167
+ else d += "L" + begInnerX + " " + begInnerY
168
+
169
+ if (config.arcStartCap == "butt") d += "Z"
170
+
171
+ setAttribute(el, "d", d)
172
+ }
173
+ )
174
+ }