@visactor/vrender-core 0.17.19 → 0.18.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.
Files changed (293) hide show
  1. package/cjs/common/canvas-utils.js +2 -2
  2. package/cjs/common/canvas-utils.js.map +1 -1
  3. package/cjs/common/render-area.js +15 -3
  4. package/cjs/common/render-area.js.map +1 -1
  5. package/cjs/common/render-curve.js +16 -4
  6. package/cjs/common/render-curve.js.map +1 -1
  7. package/cjs/common/segment/basis.js +3 -2
  8. package/cjs/common/segment/basis.js.map +1 -1
  9. package/cjs/common/segment/common.d.ts +1 -4
  10. package/cjs/common/segment/common.js +3 -13
  11. package/cjs/common/segment/common.js.map +1 -1
  12. package/cjs/common/segment/linear-closed.d.ts +16 -2
  13. package/cjs/common/segment/linear-closed.js +34 -3
  14. package/cjs/common/segment/linear-closed.js.map +1 -1
  15. package/cjs/common/segment/linear.d.ts +1 -1
  16. package/cjs/common/segment/linear.js +3 -2
  17. package/cjs/common/segment/linear.js.map +1 -1
  18. package/cjs/common/segment/monotone.d.ts +2 -2
  19. package/cjs/common/segment/monotone.js +12 -10
  20. package/cjs/common/segment/monotone.js.map +1 -1
  21. package/cjs/common/sort.js +1 -2
  22. package/cjs/common/split-path.js +2 -2
  23. package/cjs/common/split-path.js.map +1 -1
  24. package/cjs/core/application.js +1 -1
  25. package/cjs/core/camera.js +1 -1
  26. package/cjs/core/constants.js +1 -1
  27. package/cjs/core/stage.js +1 -4
  28. package/cjs/core/stage.js.map +1 -1
  29. package/cjs/env-check.js +17 -17
  30. package/cjs/env-check.js.map +1 -1
  31. package/cjs/event/event-system.js +3 -3
  32. package/cjs/event/event-system.js.map +1 -1
  33. package/cjs/graphic/arc.js +1 -1
  34. package/cjs/graphic/arc.js.map +1 -1
  35. package/cjs/graphic/arc3d.js +1 -1
  36. package/cjs/graphic/arc3d.js.map +1 -1
  37. package/cjs/graphic/area.js +1 -1
  38. package/cjs/graphic/area.js.map +1 -1
  39. package/cjs/graphic/bounds.d.ts +2 -2
  40. package/cjs/graphic/bounds.js +1 -1
  41. package/cjs/graphic/bounds.js.map +1 -1
  42. package/cjs/graphic/circle.js +1 -1
  43. package/cjs/graphic/circle.js.map +1 -1
  44. package/cjs/graphic/config.js +0 -4
  45. package/cjs/graphic/config.js.map +1 -1
  46. package/cjs/graphic/glyph.js +1 -1
  47. package/cjs/graphic/glyph.js.map +1 -1
  48. package/cjs/graphic/graphic-service/graphic-service.js +11 -13
  49. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  50. package/cjs/graphic/graphic.js +2 -3
  51. package/cjs/graphic/graphic.js.map +1 -1
  52. package/cjs/graphic/group.js +1 -1
  53. package/cjs/graphic/group.js.map +1 -1
  54. package/cjs/graphic/image.d.ts +1 -3
  55. package/cjs/graphic/image.js +1 -7
  56. package/cjs/graphic/image.js.map +1 -1
  57. package/cjs/graphic/line.js +1 -1
  58. package/cjs/graphic/line.js.map +1 -1
  59. package/cjs/graphic/path.js +1 -1
  60. package/cjs/graphic/path.js.map +1 -1
  61. package/cjs/graphic/polygon.js +1 -1
  62. package/cjs/graphic/polygon.js.map +1 -1
  63. package/cjs/graphic/pyramid3d.js +1 -1
  64. package/cjs/graphic/pyramid3d.js.map +1 -1
  65. package/cjs/graphic/rect.js +7 -4
  66. package/cjs/graphic/rect.js.map +1 -1
  67. package/cjs/graphic/richtext.d.ts +1 -1
  68. package/cjs/graphic/richtext.js +6 -10
  69. package/cjs/graphic/richtext.js.map +1 -1
  70. package/cjs/graphic/symbol.js +1 -1
  71. package/cjs/graphic/symbol.js.map +1 -1
  72. package/cjs/graphic/text.js +4 -4
  73. package/cjs/graphic/text.js.map +1 -1
  74. package/cjs/interface/event.d.ts +0 -2
  75. package/cjs/interface/event.js.map +1 -1
  76. package/cjs/interface/graphic/richText.d.ts +1 -1
  77. package/cjs/interface/graphic/richText.js.map +1 -1
  78. package/cjs/interface/graphic/symbol.d.ts +1 -1
  79. package/cjs/interface/graphic/symbol.js.map +1 -1
  80. package/cjs/interface/graphic.d.ts +1 -14
  81. package/cjs/interface/graphic.js.map +1 -1
  82. package/cjs/interface/stage.d.ts +0 -4
  83. package/cjs/interface/stage.js.map +1 -1
  84. package/cjs/modules.d.ts +0 -3
  85. package/cjs/modules.js +10 -9
  86. package/cjs/modules.js.map +1 -1
  87. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +7 -6
  88. package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  89. package/cjs/render/contributions/render/area-render.js +5 -5
  90. package/cjs/render/contributions/render/area-render.js.map +1 -1
  91. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  92. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +2 -2
  93. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  94. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +9 -1
  95. package/cjs/render/contributions/render/contributions/area-contribution-render.js +55 -3
  96. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  97. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +20 -2
  98. package/cjs/render/contributions/render/contributions/base-contribution-render.js +125 -25
  99. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  100. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  101. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +2 -2
  102. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  103. package/cjs/render/contributions/render/contributions/group-contribution-render.js +2 -2
  104. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  105. package/cjs/render/contributions/render/contributions/image-contribution-render.js +2 -3
  106. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  107. package/cjs/render/contributions/render/contributions/index.d.ts +0 -2
  108. package/cjs/render/contributions/render/contributions/index.js +1 -2
  109. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  110. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  111. package/cjs/render/contributions/render/contributions/path-contribution-render.js +2 -2
  112. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  113. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  114. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +2 -2
  115. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  116. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  117. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +2 -2
  118. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  119. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  120. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +2 -2
  121. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  122. package/cjs/render/contributions/render/contributions/text-contribution-render.js +8 -23
  123. package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  124. package/cjs/render/contributions/render/draw-contribution.js +2 -3
  125. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  126. package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +1 -0
  127. package/cjs/render/contributions/render/incremental-draw-contribution.js +5 -1
  128. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  129. package/cjs/render/contributions/render/utils.d.ts +1 -1
  130. package/cjs/render/contributions/render/utils.js.map +1 -1
  131. package/dist/index.js +27707 -0
  132. package/dist/index.min.js +1 -0
  133. package/es/common/canvas-utils.js +1 -3
  134. package/es/common/canvas-utils.js.map +1 -1
  135. package/es/common/render-area.js +12 -2
  136. package/es/common/render-area.js.map +1 -1
  137. package/es/common/render-curve.js +15 -2
  138. package/es/common/render-curve.js.map +1 -1
  139. package/es/common/segment/basis.js +8 -2
  140. package/es/common/segment/basis.js.map +1 -1
  141. package/es/common/segment/common.d.ts +1 -4
  142. package/es/common/segment/common.js +0 -11
  143. package/es/common/segment/common.js.map +1 -1
  144. package/es/common/segment/linear-closed.d.ts +16 -2
  145. package/es/common/segment/linear-closed.js +38 -4
  146. package/es/common/segment/linear-closed.js.map +1 -1
  147. package/es/common/segment/linear.d.ts +1 -1
  148. package/es/common/segment/linear.js +8 -2
  149. package/es/common/segment/linear.js.map +1 -1
  150. package/es/common/segment/monotone.d.ts +2 -2
  151. package/es/common/segment/monotone.js +13 -7
  152. package/es/common/segment/monotone.js.map +1 -1
  153. package/es/common/sort.js +1 -2
  154. package/es/common/split-path.js +1 -3
  155. package/es/common/split-path.js.map +1 -1
  156. package/es/core/application.js +1 -1
  157. package/es/core/camera.js +1 -1
  158. package/es/core/constants.js +1 -1
  159. package/es/core/stage.js +1 -4
  160. package/es/core/stage.js.map +1 -1
  161. package/es/env-check.js +13 -12
  162. package/es/env-check.js.map +1 -1
  163. package/es/event/event-system.js +3 -3
  164. package/es/event/event-system.js.map +1 -1
  165. package/es/graphic/arc.js +1 -1
  166. package/es/graphic/arc.js.map +1 -1
  167. package/es/graphic/arc3d.js +1 -1
  168. package/es/graphic/arc3d.js.map +1 -1
  169. package/es/graphic/area.js +1 -1
  170. package/es/graphic/area.js.map +1 -1
  171. package/es/graphic/bounds.d.ts +2 -2
  172. package/es/graphic/bounds.js +1 -1
  173. package/es/graphic/bounds.js.map +1 -1
  174. package/es/graphic/circle.js +1 -1
  175. package/es/graphic/circle.js.map +1 -1
  176. package/es/graphic/config.js +0 -4
  177. package/es/graphic/config.js.map +1 -1
  178. package/es/graphic/glyph.js +1 -1
  179. package/es/graphic/glyph.js.map +1 -1
  180. package/es/graphic/graphic-service/graphic-service.js +11 -13
  181. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  182. package/es/graphic/graphic.js +2 -3
  183. package/es/graphic/graphic.js.map +1 -1
  184. package/es/graphic/group.js +1 -1
  185. package/es/graphic/group.js.map +1 -1
  186. package/es/graphic/image.d.ts +1 -3
  187. package/es/graphic/image.js +1 -7
  188. package/es/graphic/image.js.map +1 -1
  189. package/es/graphic/line.js +1 -1
  190. package/es/graphic/line.js.map +1 -1
  191. package/es/graphic/path.js +1 -1
  192. package/es/graphic/path.js.map +1 -1
  193. package/es/graphic/polygon.js +1 -1
  194. package/es/graphic/polygon.js.map +1 -1
  195. package/es/graphic/pyramid3d.js +1 -1
  196. package/es/graphic/pyramid3d.js.map +1 -1
  197. package/es/graphic/rect.js +7 -4
  198. package/es/graphic/rect.js.map +1 -1
  199. package/es/graphic/richtext.d.ts +1 -1
  200. package/es/graphic/richtext.js +5 -11
  201. package/es/graphic/richtext.js.map +1 -1
  202. package/es/graphic/symbol.js +1 -1
  203. package/es/graphic/symbol.js.map +1 -1
  204. package/es/graphic/text.js +4 -4
  205. package/es/graphic/text.js.map +1 -1
  206. package/es/interface/event.d.ts +0 -2
  207. package/es/interface/event.js.map +1 -1
  208. package/es/interface/graphic/richText.d.ts +1 -1
  209. package/es/interface/graphic/richText.js.map +1 -1
  210. package/es/interface/graphic/symbol.d.ts +1 -1
  211. package/es/interface/graphic/symbol.js.map +1 -1
  212. package/es/interface/graphic.d.ts +1 -14
  213. package/es/interface/graphic.js.map +1 -1
  214. package/es/interface/stage.d.ts +0 -4
  215. package/es/interface/stage.js.map +1 -1
  216. package/es/modules.d.ts +0 -3
  217. package/es/modules.js +6 -4
  218. package/es/modules.js.map +1 -1
  219. package/es/plugins/builtin-plugin/html-attribute-plugin.js +7 -6
  220. package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
  221. package/es/render/contributions/render/area-render.js +5 -5
  222. package/es/render/contributions/render/area-render.js.map +1 -1
  223. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  224. package/es/render/contributions/render/contributions/arc-contribution-render.js +1 -3
  225. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  226. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +9 -1
  227. package/es/render/contributions/render/contributions/area-contribution-render.js +51 -2
  228. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  229. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +20 -2
  230. package/es/render/contributions/render/contributions/base-contribution-render.js +123 -23
  231. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  232. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  233. package/es/render/contributions/render/contributions/circle-contribution-render.js +1 -3
  234. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  235. package/es/render/contributions/render/contributions/group-contribution-render.js +2 -2
  236. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  237. package/es/render/contributions/render/contributions/image-contribution-render.js +2 -3
  238. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  239. package/es/render/contributions/render/contributions/index.d.ts +0 -2
  240. package/es/render/contributions/render/contributions/index.js +0 -4
  241. package/es/render/contributions/render/contributions/index.js.map +1 -1
  242. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  243. package/es/render/contributions/render/contributions/path-contribution-render.js +1 -3
  244. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  245. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  246. package/es/render/contributions/render/contributions/polygon-contribution-render.js +1 -3
  247. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  248. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  249. package/es/render/contributions/render/contributions/rect-contribution-render.js +1 -3
  250. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  251. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  252. package/es/render/contributions/render/contributions/symbol-contribution-render.js +1 -3
  253. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  254. package/es/render/contributions/render/contributions/text-contribution-render.js +7 -28
  255. package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
  256. package/es/render/contributions/render/draw-contribution.js +2 -3
  257. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  258. package/es/render/contributions/render/incremental-draw-contribution.d.ts +1 -0
  259. package/es/render/contributions/render/incremental-draw-contribution.js +5 -1
  260. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  261. package/es/render/contributions/render/utils.d.ts +1 -1
  262. package/es/render/contributions/render/utils.js.map +1 -1
  263. package/package.json +4 -6
  264. package/cjs/common/color-utils.d.ts +0 -9
  265. package/cjs/common/color-utils.js +0 -231
  266. package/cjs/common/color-utils.js.map +0 -1
  267. package/cjs/common/rect-utils.d.ts +0 -7
  268. package/cjs/common/rect-utils.js +0 -27
  269. package/cjs/common/rect-utils.js.map +0 -1
  270. package/cjs/common/render-utils.d.ts +0 -10
  271. package/cjs/common/render-utils.js +0 -22
  272. package/cjs/common/render-utils.js.map +0 -1
  273. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.d.ts +0 -9
  274. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js +0 -26
  275. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js.map +0 -1
  276. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.d.ts +0 -21
  277. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +0 -128
  278. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +0 -1
  279. package/es/common/color-utils.d.ts +0 -9
  280. package/es/common/color-utils.js +0 -224
  281. package/es/common/color-utils.js.map +0 -1
  282. package/es/common/rect-utils.d.ts +0 -7
  283. package/es/common/rect-utils.js +0 -20
  284. package/es/common/rect-utils.js.map +0 -1
  285. package/es/common/render-utils.d.ts +0 -10
  286. package/es/common/render-utils.js +0 -14
  287. package/es/common/render-utils.js.map +0 -1
  288. package/es/render/contributions/render/contributions/area-texture-contribution-render.d.ts +0 -9
  289. package/es/render/contributions/render/contributions/area-texture-contribution-render.js +0 -18
  290. package/es/render/contributions/render/contributions/area-texture-contribution-render.js.map +0 -1
  291. package/es/render/contributions/render/contributions/base-texture-contribution-render.d.ts +0 -21
  292. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +0 -124
  293. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +0 -1
@@ -1,124 +0,0 @@
1
- import { canvasAllocate } from "../../../../allocator/canvas-allocate";
2
-
3
- import { BaseRenderContributionTime } from "../../../../common/enums";
4
-
5
- import { pi2 } from "@visactor/vutils";
6
-
7
- export class DefaultBaseTextureRenderContribution {
8
- constructor() {
9
- this.time = BaseRenderContributionTime.afterFillStroke, this.useStyle = !0, this.order = 10;
10
- }
11
- createCommonPattern(size, padding, color, targetContext, cb) {
12
- const r = (size - 2 * padding) / 2, dpr = targetContext.dpr, canvas = canvasAllocate.allocate({
13
- width: size,
14
- height: size,
15
- dpr: dpr
16
- }), ctx = canvas.getContext("2d");
17
- if (!ctx) return null;
18
- ctx.inuse = !0, ctx.clearMatrix(), ctx.setTransformForCurrent(!0), ctx.clearRect(0, 0, size, size),
19
- cb(r, ctx);
20
- const pattern = targetContext.createPattern(canvas.nativeCanvas, "repeat");
21
- return pattern.setTransform && pattern.setTransform(new DOMMatrix([ 1 / dpr, 0, 0, 1 / dpr, 0, 0 ])),
22
- canvasAllocate.free(canvas), pattern;
23
- }
24
- createCirclePattern(size, padding, color, targetContext) {
25
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
26
- ctx.fillStyle = color, ctx.arc(r, r, r, 0, pi2), ctx.fill();
27
- }));
28
- }
29
- createDiamondPattern(size, padding, color, targetContext) {
30
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
31
- const x = size / 2, y = x;
32
- ctx.fillStyle = color, ctx.moveTo(x, y - r), ctx.lineTo(r + x, y), ctx.lineTo(x, y + r),
33
- ctx.lineTo(x - r, y), ctx.closePath(), ctx.fill();
34
- }));
35
- }
36
- createRectPattern(size, padding, color, targetContext) {
37
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
38
- const x = padding, y = x;
39
- ctx.fillStyle = color, ctx.fillRect(x, y, 2 * r, 2 * r);
40
- }));
41
- }
42
- createVerticalLinePattern(size, padding, color, targetContext) {
43
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
44
- const x = padding;
45
- ctx.fillStyle = color, ctx.fillRect(x, 0, 2 * r, size);
46
- }));
47
- }
48
- createHorizontalLinePattern(size, padding, color, targetContext) {
49
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
50
- const y = padding;
51
- ctx.fillStyle = color, ctx.fillRect(0, y, size, 2 * r);
52
- }));
53
- }
54
- createBiasLRLinePattern(size, padding, color, targetContext) {
55
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
56
- ctx.strokeStyle = color, ctx.lineWidth = r, ctx.moveTo(0, 0), ctx.lineTo(size, size);
57
- const dx = size / 2, dy = -dx;
58
- ctx.moveTo(dx, dy), ctx.lineTo(dx + size, dy + size), ctx.moveTo(-dx, -dy), ctx.lineTo(-dx + size, -dy + size),
59
- ctx.stroke();
60
- }));
61
- }
62
- createBiasRLLinePattern(size, padding, color, targetContext) {
63
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
64
- ctx.strokeStyle = color, ctx.lineWidth = r, ctx.moveTo(size, 0), ctx.lineTo(0, size);
65
- const dx = size / 2, dy = dx;
66
- ctx.moveTo(size + dx, dy), ctx.lineTo(dx, dy + size), ctx.moveTo(size - dx, -dy),
67
- ctx.lineTo(-dx, -dy + size), ctx.stroke();
68
- }));
69
- }
70
- createGridPattern(size, padding, color, targetContext) {
71
- return this.createCommonPattern(size, padding, color, targetContext, ((r, ctx) => {
72
- const x = padding, y = x;
73
- ctx.fillStyle = color, ctx.fillRect(x, y, r, r), ctx.fillRect(x + r, y + r, r, r);
74
- }));
75
- }
76
- initTextureMap(ctx, stage) {
77
- this.textureMap = new Map;
78
- }
79
- drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
80
- this.textureMap || this.initTextureMap(context, graphic.stage);
81
- const {texture: texture = graphicAttribute.texture, textureColor: textureColor = graphicAttribute.textureColor, textureSize: textureSize = graphicAttribute.textureSize, texturePadding: texturePadding = graphicAttribute.texturePadding} = graphic.attribute;
82
- texture && this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);
83
- }
84
- drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding) {
85
- let pattern = this.textureMap.get(texture);
86
- if (!pattern) switch (texture) {
87
- case "circle":
88
- pattern = this.createCirclePattern(textureSize, texturePadding, textureColor, context);
89
- break;
90
-
91
- case "diamond":
92
- pattern = this.createDiamondPattern(textureSize, texturePadding, textureColor, context);
93
- break;
94
-
95
- case "rect":
96
- pattern = this.createRectPattern(textureSize, texturePadding, textureColor, context);
97
- break;
98
-
99
- case "vertical-line":
100
- pattern = this.createVerticalLinePattern(textureSize, texturePadding, textureColor, context);
101
- break;
102
-
103
- case "horizontal-line":
104
- pattern = this.createHorizontalLinePattern(textureSize, texturePadding, textureColor, context);
105
- break;
106
-
107
- case "bias-lr":
108
- pattern = this.createBiasLRLinePattern(textureSize, texturePadding, textureColor, context);
109
- break;
110
-
111
- case "bias-rl":
112
- pattern = this.createBiasRLLinePattern(textureSize, texturePadding, textureColor, context);
113
- break;
114
-
115
- case "grid":
116
- pattern = this.createGridPattern(textureSize, texturePadding, textureColor, context);
117
- }
118
- pattern && (context.highPerformanceSave(), context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute),
119
- context.fillStyle = pattern, context.fill(), context.highPerformanceRestore());
120
- }
121
- }
122
-
123
- export const defaultBaseTextureRenderContribution = new DefaultBaseTextureRenderContribution;
124
- //# sourceMappingURL=base-texture-contribution-render.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/render/contributions/render/contributions/base-texture-contribution-render.ts"],"names":[],"mappings":"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","file":"base-texture-contribution-render.js","sourcesContent":["import { canvasAllocate } from '../../../../allocator/canvas-allocate';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport type {\n IBaseRenderContribution,\n IContext2d,\n IDrawContext,\n IGraphic,\n IGraphicAttribute,\n IStage,\n IThemeAttribute\n} from '../../../../interface';\nimport { pi2 } from '@visactor/vutils';\n\nexport class DefaultBaseTextureRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n textureMap?: Map<string, CanvasPattern>;\n order: number = 10;\n\n createCommonPattern(\n size: number,\n padding: number,\n color: string,\n targetContext: IContext2d,\n cb: (r: number, targetContext: IContext2d) => void\n ) {\n const r = (size - padding * 2) / 2;\n const dpr = targetContext.dpr;\n const canvas = canvasAllocate.allocate({ width: size, height: size, dpr });\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n return null;\n }\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, size, size);\n //setup up design for pattern\n cb(r, ctx);\n const pattern = targetContext.createPattern(canvas.nativeCanvas, 'repeat');\n pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0]));\n\n canvasAllocate.free(canvas);\n return pattern;\n }\n\n createCirclePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.fillStyle = color;\n ctx.arc(r, r, r, 0, pi2);\n ctx.fill();\n });\n }\n\n createDiamondPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = size / 2;\n const y = x;\n ctx.fillStyle = color;\n ctx.moveTo(x, y - r);\n ctx.lineTo(r + x, y);\n ctx.lineTo(x, y + r);\n ctx.lineTo(x - r, y);\n ctx.closePath();\n ctx.fill();\n });\n }\n\n createRectPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, r * 2);\n });\n }\n\n createVerticalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = 0;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r * 2, size);\n });\n }\n\n createHorizontalLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = 0;\n const y = padding;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, size, r * 2);\n });\n }\n\n createBiasLRLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(0, 0);\n ctx.lineTo(size, size);\n const dx = size / 2;\n const dy = -dx;\n ctx.moveTo(dx, dy);\n ctx.lineTo(dx + size, dy + size);\n ctx.moveTo(-dx, -dy);\n ctx.lineTo(-dx + size, -dy + size);\n ctx.stroke();\n });\n }\n\n createBiasRLLinePattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n ctx.strokeStyle = color;\n ctx.lineWidth = r;\n ctx.moveTo(size, 0);\n ctx.lineTo(0, size);\n const dx = size / 2;\n const dy = dx;\n ctx.moveTo(size + dx, dy);\n ctx.lineTo(dx, dy + size);\n ctx.moveTo(size - dx, -dy);\n ctx.lineTo(-dx, -dy + size);\n ctx.stroke();\n });\n }\n\n createGridPattern(size: number, padding: number, color: string, targetContext: IContext2d) {\n return this.createCommonPattern(size, padding, color, targetContext, (r, ctx) => {\n const x = padding;\n const y = x;\n ctx.fillStyle = color;\n ctx.fillRect(x, y, r, r);\n ctx.fillRect(x + r, y + r, r, r);\n });\n }\n\n initTextureMap(ctx: IContext2d, stage: IStage) {\n this.textureMap = new Map();\n // ResourceLoader.GetImage(rect1, {\n // imageLoadFail: () => {\n // return;\n // },\n // imageLoadSuccess: (url, img) => {\n // const pattern = ctx.createPattern(img, 'repeat');\n // this.textureMap.set('rect1', pattern);\n // stage && stage.renderNextFrame();\n // }\n // });\n }\n\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n if (!this.textureMap) {\n this.initTextureMap(context, graphic.stage);\n }\n const {\n texture = graphicAttribute.texture,\n textureColor = graphicAttribute.textureColor,\n textureSize = graphicAttribute.textureSize,\n texturePadding = graphicAttribute.texturePadding\n } = graphic.attribute;\n if (!texture) {\n return;\n }\n this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);\n }\n\n protected drawTexture(\n texture: string,\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n graphicAttribute: Required<IGraphicAttribute>,\n textureColor: string,\n textureSize: number,\n texturePadding: number\n ) {\n let pattern: CanvasPattern = this.textureMap.get(texture);\n\n if (!pattern) {\n switch (texture) {\n case 'circle':\n pattern = this.createCirclePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'diamond':\n pattern = this.createDiamondPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'rect':\n pattern = this.createRectPattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'vertical-line':\n pattern = this.createVerticalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'horizontal-line':\n pattern = this.createHorizontalLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-lr':\n pattern = this.createBiasLRLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'bias-rl':\n pattern = this.createBiasRLLinePattern(textureSize, texturePadding, textureColor, context);\n break;\n case 'grid':\n pattern = this.createGridPattern(textureSize, texturePadding, textureColor, context);\n break;\n }\n }\n\n if (pattern) {\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.fillStyle = pattern;\n context.fill();\n context.highPerformanceRestore();\n }\n }\n}\n\nexport const defaultBaseTextureRenderContribution = new DefaultBaseTextureRenderContribution();\n"]}