@visactor/vrender-kits 1.0.0-alpha.5 → 1.0.0-alpha.6

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 (88) hide show
  1. package/cjs/canvas/contributions/browser/context.d.ts +1 -1
  2. package/cjs/canvas/contributions/browser/context.js +1 -0
  3. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  4. package/cjs/canvas/contributions/modules.js +2 -1
  5. package/cjs/env/contributions/module.js +2 -0
  6. package/cjs/env/contributions/node-contribution.js +1 -1
  7. package/cjs/index.d.ts +2 -0
  8. package/cjs/index.js +2 -1
  9. package/cjs/index.js.map +1 -1
  10. package/cjs/picker/contributions/canvas-picker/star-module.d.ts +2 -0
  11. package/cjs/picker/contributions/canvas-picker/star-module.js +15 -0
  12. package/cjs/picker/contributions/canvas-picker/star-module.js.map +1 -0
  13. package/cjs/picker/contributions/canvas-picker/star-picker.d.ts +8 -0
  14. package/cjs/picker/contributions/canvas-picker/star-picker.js +30 -0
  15. package/cjs/picker/contributions/canvas-picker/star-picker.js.map +1 -0
  16. package/cjs/picker/contributions/constants.d.ts +1 -0
  17. package/cjs/picker/contributions/constants.js +2 -2
  18. package/cjs/picker/contributions/constants.js.map +1 -1
  19. package/cjs/register/register-gif.d.ts +7 -0
  20. package/cjs/register/register-gif.js +19 -0
  21. package/cjs/register/register-gif.js.map +1 -0
  22. package/cjs/register/register-glyph.js +2 -1
  23. package/cjs/register/register-star.d.ts +6 -0
  24. package/cjs/register/register-star.js +16 -0
  25. package/cjs/register/register-star.js.map +1 -0
  26. package/cjs/render/contributions/rough/base-render.d.ts +3 -1
  27. package/cjs/render/contributions/rough/base-render.js +49 -0
  28. package/cjs/render/contributions/rough/base-render.js.map +1 -1
  29. package/cjs/render/contributions/rough/config.js +4 -4
  30. package/cjs/render/contributions/rough/config.js.map +1 -1
  31. package/cjs/render/contributions/rough/context.d.ts +142 -0
  32. package/cjs/render/contributions/rough/context.js +408 -0
  33. package/cjs/render/contributions/rough/context.js.map +1 -0
  34. package/cjs/render/contributions/rough/rough-line.d.ts +6 -4
  35. package/cjs/render/contributions/rough/rough-line.js +14 -48
  36. package/cjs/render/contributions/rough/rough-line.js.map +1 -1
  37. package/cjs/render/contributions/rough/rough-rect.d.ts +1 -1
  38. package/cjs/render/contributions/rough/rough-rect.js +2 -44
  39. package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
  40. package/cjs/render/contributions/rough/rough-symbol.d.ts +3 -4
  41. package/cjs/render/contributions/rough/rough-symbol.js +3 -47
  42. package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
  43. package/cjs/tools/dynamicTexture.js +2 -0
  44. package/dist/index.es.js +544 -174
  45. package/es/canvas/contributions/browser/context.d.ts +1 -1
  46. package/es/canvas/contributions/browser/context.js +1 -0
  47. package/es/canvas/contributions/browser/context.js.map +1 -1
  48. package/es/canvas/contributions/modules.js +2 -1
  49. package/es/env/contributions/module.js +2 -0
  50. package/es/env/contributions/node-contribution.js +1 -1
  51. package/es/index.d.ts +2 -0
  52. package/es/index.js +4 -0
  53. package/es/index.js.map +1 -1
  54. package/es/picker/contributions/canvas-picker/star-module.d.ts +2 -0
  55. package/es/picker/contributions/canvas-picker/star-module.js +13 -0
  56. package/es/picker/contributions/canvas-picker/star-module.js.map +1 -0
  57. package/es/picker/contributions/canvas-picker/star-picker.d.ts +8 -0
  58. package/es/picker/contributions/canvas-picker/star-picker.js +26 -0
  59. package/es/picker/contributions/canvas-picker/star-picker.js.map +1 -0
  60. package/es/picker/contributions/constants.d.ts +1 -0
  61. package/es/picker/contributions/constants.js +2 -0
  62. package/es/picker/contributions/constants.js.map +1 -1
  63. package/es/register/register-gif.d.ts +7 -0
  64. package/es/register/register-gif.js +20 -0
  65. package/es/register/register-gif.js.map +1 -0
  66. package/es/register/register-glyph.js +2 -1
  67. package/es/register/register-star.d.ts +6 -0
  68. package/es/register/register-star.js +15 -0
  69. package/es/register/register-star.js.map +1 -0
  70. package/es/render/contributions/rough/base-render.d.ts +3 -1
  71. package/es/render/contributions/rough/base-render.js +49 -0
  72. package/es/render/contributions/rough/base-render.js.map +1 -1
  73. package/es/render/contributions/rough/config.js +4 -4
  74. package/es/render/contributions/rough/config.js.map +1 -1
  75. package/es/render/contributions/rough/context.d.ts +142 -0
  76. package/es/render/contributions/rough/context.js +402 -0
  77. package/es/render/contributions/rough/context.js.map +1 -0
  78. package/es/render/contributions/rough/rough-line.d.ts +6 -4
  79. package/es/render/contributions/rough/rough-line.js +15 -48
  80. package/es/render/contributions/rough/rough-line.js.map +1 -1
  81. package/es/render/contributions/rough/rough-rect.d.ts +1 -1
  82. package/es/render/contributions/rough/rough-rect.js +1 -43
  83. package/es/render/contributions/rough/rough-rect.js.map +1 -1
  84. package/es/render/contributions/rough/rough-symbol.d.ts +3 -4
  85. package/es/render/contributions/rough/rough-symbol.js +4 -46
  86. package/es/render/contributions/rough/rough-symbol.js.map +1 -1
  87. package/es/tools/dynamicTexture.js +2 -0
  88. package/package.json +2 -2
@@ -0,0 +1,408 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.RoughContext2d = void 0;
6
+
7
+ class RoughContext2d {
8
+ constructor(originContext, customPath) {
9
+ this.originContext = originContext, this.customPath = customPath;
10
+ }
11
+ reset(setTransform = !0) {
12
+ return this.originContext.reset(setTransform);
13
+ }
14
+ beginPath() {
15
+ this.originContext.beginPath(), this.customPath.beginPath();
16
+ }
17
+ moveTo(x, y, z) {
18
+ this.originContext.moveTo(x, y, z), this.customPath.moveTo(x, y);
19
+ }
20
+ lineTo(x, y, z) {
21
+ this.originContext.lineTo(x, y, z), this.customPath.lineTo(x, y);
22
+ }
23
+ bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, z) {
24
+ this.originContext.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y, z), this.customPath.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);
25
+ }
26
+ quadraticCurveTo(cpx, cpy, x, y, z) {
27
+ this.originContext.quadraticCurveTo(cpx, cpy, x, y, z), this.customPath.quadraticCurveTo(cpx, cpy, x, y);
28
+ }
29
+ arc(x, y, radius, startAngle, endAngle, anticlockwise, z) {
30
+ this.originContext.arc(x, y, radius, startAngle, endAngle, anticlockwise, z), this.customPath.arc(x, y, radius, startAngle, endAngle, anticlockwise);
31
+ }
32
+ arcTo(x1, y1, x2, y2, radius) {
33
+ this.originContext.arcTo(x1, y1, x2, y2, radius), this.customPath.arcTo(x1, y1, x2, y2, radius);
34
+ }
35
+ ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise) {
36
+ this.originContext.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise),
37
+ this.customPath.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
38
+ }
39
+ rect(x, y, w, h, z) {
40
+ this.originContext.rect(x, y, w, h, z), this.customPath.rect(x, y, w, h);
41
+ }
42
+ closePath() {
43
+ this.originContext.closePath(), this.customPath.closePath();
44
+ }
45
+ get canvas() {
46
+ return this.originContext.canvas;
47
+ }
48
+ set canvas(value) {
49
+ this.originContext.canvas = value;
50
+ }
51
+ get camera() {
52
+ return this.originContext.camera;
53
+ }
54
+ set camera(value) {
55
+ this.originContext.camera = value;
56
+ }
57
+ get modelMatrix() {
58
+ return this.originContext.modelMatrix;
59
+ }
60
+ set modelMatrix(value) {
61
+ this.originContext.modelMatrix = value;
62
+ }
63
+ get nativeContext() {
64
+ return this.originContext.nativeContext;
65
+ }
66
+ set nativeContext(value) {
67
+ this.originContext.nativeContext = value;
68
+ }
69
+ get _inuse() {
70
+ return this.originContext._inuse;
71
+ }
72
+ set _inuse(value) {
73
+ this.originContext._inuse = value;
74
+ }
75
+ get inuse() {
76
+ return this.originContext.inuse;
77
+ }
78
+ set inuse(value) {
79
+ this.originContext.inuse = value;
80
+ }
81
+ get stack() {
82
+ return this.originContext.stack;
83
+ }
84
+ set stack(value) {
85
+ this.originContext.stack = value;
86
+ }
87
+ get disableFill() {
88
+ return this.originContext.disableFill;
89
+ }
90
+ set disableFill(value) {
91
+ this.originContext.disableFill = value;
92
+ }
93
+ get disableStroke() {
94
+ return this.originContext.disableStroke;
95
+ }
96
+ set disableStroke(value) {
97
+ this.originContext.disableStroke = value;
98
+ }
99
+ get disableBeginPath() {
100
+ return this.originContext.disableBeginPath;
101
+ }
102
+ set disableBeginPath(value) {
103
+ this.originContext.disableBeginPath = value;
104
+ }
105
+ get fontFamily() {
106
+ return this.originContext.fontFamily;
107
+ }
108
+ set fontFamily(value) {
109
+ this.originContext.fontFamily = value;
110
+ }
111
+ get fontSize() {
112
+ return this.originContext.fontSize;
113
+ }
114
+ set fontSize(value) {
115
+ this.originContext.fontSize = value;
116
+ }
117
+ get _clearMatrix() {
118
+ return this.originContext._clearMatrix;
119
+ }
120
+ set _clearMatrix(value) {
121
+ this.originContext._clearMatrix = value;
122
+ }
123
+ get dpr() {
124
+ return this.originContext.dpr;
125
+ }
126
+ set dpr(value) {
127
+ this.originContext.dpr = value;
128
+ }
129
+ get baseGlobalAlpha() {
130
+ return this.originContext.baseGlobalAlpha;
131
+ }
132
+ set baseGlobalAlpha(value) {
133
+ this.originContext.baseGlobalAlpha = value;
134
+ }
135
+ get drawPromise() {
136
+ return this.originContext.drawPromise;
137
+ }
138
+ set drawPromise(value) {
139
+ this.originContext.drawPromise = value;
140
+ }
141
+ get mathTextMeasure() {
142
+ return this.originContext.mathTextMeasure;
143
+ }
144
+ set mathTextMeasure(value) {
145
+ this.originContext.mathTextMeasure = value;
146
+ }
147
+ get fillStyle() {
148
+ return this.originContext.fillStyle;
149
+ }
150
+ set fillStyle(value) {
151
+ this.originContext.fillStyle = value;
152
+ }
153
+ get font() {
154
+ return this.originContext.font;
155
+ }
156
+ set font(value) {
157
+ this.originContext.font = value;
158
+ }
159
+ get globalAlpha() {
160
+ return this.originContext.globalAlpha;
161
+ }
162
+ set globalAlpha(value) {
163
+ this.originContext.globalAlpha = value;
164
+ }
165
+ get lineCap() {
166
+ return this.originContext.lineCap;
167
+ }
168
+ set lineCap(value) {
169
+ this.originContext.lineCap = value;
170
+ }
171
+ get lineDashOffset() {
172
+ return this.originContext.lineDashOffset;
173
+ }
174
+ set lineDashOffset(value) {
175
+ this.originContext.lineDashOffset = value;
176
+ }
177
+ get lineJoin() {
178
+ return this.originContext.lineJoin;
179
+ }
180
+ set lineJoin(value) {
181
+ this.originContext.lineJoin = value;
182
+ }
183
+ get lineWidth() {
184
+ return this.originContext.lineWidth;
185
+ }
186
+ set lineWidth(value) {
187
+ this.originContext.lineWidth = value;
188
+ }
189
+ get miterLimit() {
190
+ return this.originContext.miterLimit;
191
+ }
192
+ set miterLimit(value) {
193
+ this.originContext.miterLimit = value;
194
+ }
195
+ get shadowBlur() {
196
+ return this.originContext.shadowBlur;
197
+ }
198
+ set shadowBlur(value) {
199
+ this.originContext.shadowBlur = value;
200
+ }
201
+ get shadowColor() {
202
+ return this.originContext.shadowColor;
203
+ }
204
+ set shadowColor(value) {
205
+ this.originContext.shadowColor = value;
206
+ }
207
+ get shadowOffsetX() {
208
+ return this.originContext.shadowOffsetX;
209
+ }
210
+ set shadowOffsetX(value) {
211
+ this.originContext.shadowOffsetX = value;
212
+ }
213
+ get shadowOffsetY() {
214
+ return this.originContext.shadowOffsetY;
215
+ }
216
+ set shadowOffsetY(value) {
217
+ this.originContext.shadowOffsetY = value;
218
+ }
219
+ get strokeStyle() {
220
+ return this.originContext.strokeStyle;
221
+ }
222
+ set strokeStyle(value) {
223
+ this.originContext.strokeStyle = value;
224
+ }
225
+ get textAlign() {
226
+ return this.originContext.textAlign;
227
+ }
228
+ set textAlign(value) {
229
+ this.originContext.textAlign = value;
230
+ }
231
+ get textBaseline() {
232
+ return this.originContext.textBaseline;
233
+ }
234
+ set textBaseline(value) {
235
+ this.originContext.textBaseline = value;
236
+ }
237
+ get currentMatrix() {
238
+ return this.originContext.currentMatrix;
239
+ }
240
+ save() {
241
+ return this.originContext.save();
242
+ }
243
+ restore() {
244
+ return this.originContext.restore();
245
+ }
246
+ highPerformanceSave() {
247
+ return this.originContext.highPerformanceSave();
248
+ }
249
+ highPerformanceRestore() {
250
+ return this.originContext.highPerformanceRestore();
251
+ }
252
+ rotate(rad, setTransform) {
253
+ return this.originContext.rotate(rad, setTransform);
254
+ }
255
+ scale(sx, sy, setTransform) {
256
+ return this.originContext.scale(sx, sy, setTransform);
257
+ }
258
+ setScale(sx, sy, setTransform) {
259
+ return this.originContext.setScale(sx, sy, setTransform);
260
+ }
261
+ scalePoint(sx, sy, px, py, setTransform) {
262
+ return this.originContext.scalePoint(sx, sy, px, py, setTransform);
263
+ }
264
+ setTransform(a, b, c, d, e, f, setTransform, dpr) {
265
+ return this.originContext.setTransform(a, b, c, d, e, f, setTransform, dpr);
266
+ }
267
+ setTransformFromMatrix(matrix, setTransform, dpr) {
268
+ return this.originContext.setTransformFromMatrix(matrix, setTransform, dpr);
269
+ }
270
+ resetTransform(setTransform, dpr) {
271
+ return this.originContext.resetTransform(setTransform, dpr);
272
+ }
273
+ transform(a, b, c, d, e, f, setTransform) {
274
+ return this.originContext.transform(a, b, c, d, e, f, setTransform);
275
+ }
276
+ transformFromMatrix(matrix, setTransform) {
277
+ return this.originContext.transformFromMatrix(matrix, setTransform);
278
+ }
279
+ translate(x, y, setTransform) {
280
+ return this.originContext.translate(x, y, setTransform);
281
+ }
282
+ rotateDegrees(deg, setTransform) {
283
+ return this.originContext.rotateDegrees(deg, setTransform);
284
+ }
285
+ rotateAbout(rad, x, y, setTransform) {
286
+ return this.originContext.rotateAbout(rad, x, y, setTransform);
287
+ }
288
+ rotateDegreesAbout(deg, x, y, setTransform) {
289
+ return this.originContext.rotateDegreesAbout(deg, x, y, setTransform);
290
+ }
291
+ setTransformForCurrent(force = !1) {
292
+ return this.originContext.setTransformForCurrent(force);
293
+ }
294
+ clip(path, fillRule) {
295
+ return this.originContext.clip(path, fillRule);
296
+ }
297
+ fill(path, fillRule) {
298
+ return this.originContext.fill(path, fillRule);
299
+ }
300
+ stroke(path) {
301
+ return this.originContext.stroke(path);
302
+ }
303
+ fillRect(x, y, width, height) {
304
+ return this.originContext.fillRect(x, y, width, height);
305
+ }
306
+ strokeRect(x, y, width, height) {
307
+ return this.originContext.strokeRect(x, y, width, height);
308
+ }
309
+ fillText(text, x, y, z) {
310
+ return this.originContext.fillText(text, x, y, z);
311
+ }
312
+ strokeText(text, x, y, z) {
313
+ return this.originContext.strokeText(text, x, y, z);
314
+ }
315
+ clearRect(x, y, w, h) {
316
+ return this.originContext.clearRect(x, y, w, h);
317
+ }
318
+ drawImage(...args) {
319
+ return this.originContext.drawImage(...args);
320
+ }
321
+ createImageData(...args) {
322
+ return this.originContext.createImageData(...args);
323
+ }
324
+ getImageData(sx, sy, sw, sh) {
325
+ return this.originContext.getImageData(sx, sy, sw, sh);
326
+ }
327
+ putImageData(imagedata, dx, dy) {
328
+ return this.originContext.putImageData(imagedata, dx, dy);
329
+ }
330
+ createLinearGradient(x0, y0, x1, y1) {
331
+ return this.originContext.createLinearGradient(x0, y0, x1, y1);
332
+ }
333
+ createRadialGradient(x0, y0, r0, x1, y1, r1) {
334
+ return this.originContext.createRadialGradient(x0, y0, r0, x1, y1, r1);
335
+ }
336
+ createConicGradient(x, y, startAngle, endAngle) {
337
+ return this.originContext.createConicGradient(x, y, startAngle, endAngle);
338
+ }
339
+ createPattern(image, repetition) {
340
+ return this.originContext.createPattern(image, repetition);
341
+ }
342
+ getLineDash() {
343
+ return this.originContext.getLineDash();
344
+ }
345
+ setLineDash(segments) {
346
+ return this.originContext.setLineDash(segments);
347
+ }
348
+ clear() {
349
+ return this.originContext.clear();
350
+ }
351
+ measureText(text, method) {
352
+ return this.originContext.measureText(text, method);
353
+ }
354
+ isPointInPath(x, y) {
355
+ return this.originContext.isPointInPath(x, y);
356
+ }
357
+ isPointInStroke(x, y) {
358
+ return this.originContext.isPointInStroke(x, y);
359
+ }
360
+ project(x, y, z) {
361
+ return this.originContext.project(x, y, z);
362
+ }
363
+ view(x, y, z) {
364
+ return this.originContext.view(x, y, z);
365
+ }
366
+ getCanvas() {
367
+ return this.originContext.getCanvas();
368
+ }
369
+ getContext() {
370
+ return this.originContext.getContext();
371
+ }
372
+ setCommonStyle(params, attribute, offsetX, offsetY, defaultParams) {
373
+ return this.originContext.setCommonStyle(params, attribute, offsetX, offsetY, defaultParams);
374
+ }
375
+ setShadowBlendStyle(params, attribute, defaultParams) {
376
+ return this.originContext.setShadowBlendStyle(params, attribute, defaultParams);
377
+ }
378
+ setStrokeStyle(params, attribute, offsetX, offsetY, defaultParams) {
379
+ return this.originContext.setStrokeStyle(params, attribute, offsetX, offsetY, defaultParams);
380
+ }
381
+ setTextStyle(params, defaultParams, z) {
382
+ return this.originContext.setTextStyle(params, defaultParams, z);
383
+ }
384
+ setTextStyleWithoutAlignBaseline(params, defaultParams, z) {
385
+ return this.originContext.setTextStyleWithoutAlignBaseline(params, defaultParams, z);
386
+ }
387
+ clearMatrix(setTransform, dpr) {
388
+ return this.originContext.clearMatrix(setTransform, dpr);
389
+ }
390
+ setClearMatrix(a, b, c, d, e, f) {
391
+ return this.originContext.setClearMatrix(a, b, c, d, e, f);
392
+ }
393
+ onlyTranslate(dpr) {
394
+ return this.originContext.onlyTranslate(dpr);
395
+ }
396
+ cloneMatrix(m) {
397
+ return this.originContext.cloneMatrix(m);
398
+ }
399
+ draw() {
400
+ return this.originContext.draw();
401
+ }
402
+ release(...params) {
403
+ return this.originContext.release(...params);
404
+ }
405
+ }
406
+
407
+ exports.RoughContext2d = RoughContext2d, RoughContext2d.env = "browser";
408
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/render/contributions/rough/context.ts"],"names":[],"mappings":"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","file":"context.js","sourcesContent":["/**\n * 部分源码参考konva\n * MIT License\n\n Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)\n Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\nimport type { IPointLike, TextMeasure, ITextMeasureSpec, IMatrix, Matrix } from '@visactor/vutils';\nimport type {\n ICamera,\n ICanvas,\n ICommonStyleParams,\n IConicalGradientData,\n IContext2d,\n ISetCommonStyleParams,\n ISetStrokeStyleParams,\n IStrokeStyleParams,\n ITextStyleParams,\n mat4,\n EnvType,\n vec3,\n CustomPath2D\n} from '@visactor/vrender-core';\n\n/**\n * RoughContext2d serves as a proxy to the original context (BrowserContext2d)\n * while also updating a custom path for path-related operations\n */\nexport class RoughContext2d implements IContext2d {\n static env: EnvType = 'browser';\n originContext: IContext2d;\n customPath: CustomPath2D;\n\n constructor(originContext: IContext2d, customPath: CustomPath2D) {\n this.originContext = originContext;\n this.customPath = customPath;\n }\n\n reset(setTransform: boolean = true) {\n return this.originContext.reset(setTransform);\n }\n\n // Path-related methods that affect both the original context and the custom path\n beginPath(): void {\n this.originContext.beginPath();\n this.customPath.beginPath();\n }\n\n moveTo(x: number, y: number, z?: number): void {\n this.originContext.moveTo(x, y, z);\n this.customPath.moveTo(x, y);\n }\n\n lineTo(x: number, y: number, z?: number): void {\n this.originContext.lineTo(x, y, z);\n this.customPath.lineTo(x, y);\n }\n\n bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, z?: number): void {\n (this.originContext.bezierCurveTo as any)(cp1x, cp1y, cp2x, cp2y, x, y, z);\n this.customPath.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n\n quadraticCurveTo(cpx: number, cpy: number, x: number, y: number, z?: number): void {\n this.originContext.quadraticCurveTo(cpx, cpy, x, y, z);\n this.customPath.quadraticCurveTo(cpx, cpy, x, y);\n }\n\n arc(\n x: number,\n y: number,\n radius: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean,\n z?: number\n ): void {\n this.originContext.arc(x, y, radius, startAngle, endAngle, anticlockwise, z);\n this.customPath.arc(x, y, radius, startAngle, endAngle, anticlockwise);\n }\n\n arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void {\n this.originContext.arcTo(x1, y1, x2, y2, radius);\n this.customPath.arcTo(x1, y1, x2, y2, radius);\n }\n\n ellipse(\n x: number,\n y: number,\n radiusX: number,\n radiusY: number,\n rotation: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ): void {\n this.originContext.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);\n this.customPath.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);\n }\n\n rect(x: number, y: number, w: number, h: number, z?: number): void {\n this.originContext.rect(x, y, w, h, z);\n this.customPath.rect(x, y, w, h);\n }\n\n closePath(): void {\n this.originContext.closePath();\n this.customPath.closePath();\n }\n\n // Property forwarding using getters and setters\n // Define getters and setters for all properties to forward to originContext\n // Canvas\n get canvas(): ICanvas {\n return this.originContext.canvas;\n }\n set canvas(value: ICanvas) {\n this.originContext.canvas = value;\n }\n\n // Camera\n get camera(): ICamera | undefined {\n return this.originContext.camera;\n }\n set camera(value: ICamera | undefined) {\n this.originContext.camera = value;\n }\n\n // ModelMatrix\n get modelMatrix(): mat4 | undefined {\n return this.originContext.modelMatrix;\n }\n set modelMatrix(value: mat4 | undefined) {\n this.originContext.modelMatrix = value;\n }\n\n // NativeContext\n get nativeContext(): CanvasRenderingContext2D | any {\n return this.originContext.nativeContext;\n }\n set nativeContext(value: CanvasRenderingContext2D | any) {\n this.originContext.nativeContext = value;\n }\n\n // Inuse\n get _inuse(): boolean {\n return this.originContext._inuse;\n }\n set _inuse(value: boolean) {\n this.originContext._inuse = value;\n }\n\n get inuse(): boolean {\n return this.originContext.inuse;\n }\n set inuse(value: boolean) {\n this.originContext.inuse = value;\n }\n\n // Stack\n get stack(): Matrix[] {\n return this.originContext.stack;\n }\n set stack(value: Matrix[]) {\n this.originContext.stack = value;\n }\n\n // Disable flags\n get disableFill(): boolean | undefined {\n return this.originContext.disableFill;\n }\n set disableFill(value: boolean | undefined) {\n this.originContext.disableFill = value;\n }\n\n get disableStroke(): boolean | undefined {\n return this.originContext.disableStroke;\n }\n set disableStroke(value: boolean | undefined) {\n this.originContext.disableStroke = value;\n }\n\n get disableBeginPath(): boolean | undefined {\n return this.originContext.disableBeginPath;\n }\n set disableBeginPath(value: boolean | undefined) {\n this.originContext.disableBeginPath = value;\n }\n\n // Font properties\n get fontFamily(): string {\n return this.originContext.fontFamily;\n }\n set fontFamily(value: string) {\n this.originContext.fontFamily = value;\n }\n\n get fontSize(): number {\n return this.originContext.fontSize;\n }\n set fontSize(value: number) {\n this.originContext.fontSize = value;\n }\n\n // Matrix\n get _clearMatrix(): IMatrix {\n return this.originContext._clearMatrix;\n }\n set _clearMatrix(value: IMatrix) {\n this.originContext._clearMatrix = value;\n }\n\n // DPR\n get dpr(): number {\n return this.originContext.dpr;\n }\n set dpr(value: number) {\n this.originContext.dpr = value;\n }\n\n // Other properties\n get baseGlobalAlpha(): number {\n return this.originContext.baseGlobalAlpha;\n }\n set baseGlobalAlpha(value: number) {\n this.originContext.baseGlobalAlpha = value;\n }\n\n get drawPromise(): Promise<any> | undefined {\n return this.originContext.drawPromise;\n }\n set drawPromise(value: Promise<any> | undefined) {\n this.originContext.drawPromise = value;\n }\n\n get mathTextMeasure(): TextMeasure<ITextMeasureSpec> {\n return this.originContext.mathTextMeasure;\n }\n set mathTextMeasure(value: TextMeasure<ITextMeasureSpec>) {\n this.originContext.mathTextMeasure = value;\n }\n\n // Canvas context style properties\n get fillStyle(): string | CanvasGradient | CanvasPattern {\n return this.originContext.fillStyle;\n }\n set fillStyle(value: string | CanvasGradient | CanvasPattern) {\n this.originContext.fillStyle = value;\n }\n\n get font(): string {\n return this.originContext.font;\n }\n set font(value: string) {\n this.originContext.font = value;\n }\n\n get globalAlpha(): number {\n return this.originContext.globalAlpha;\n }\n set globalAlpha(value: number) {\n this.originContext.globalAlpha = value;\n }\n\n get lineCap(): CanvasLineCap {\n return this.originContext.lineCap as any;\n }\n set lineCap(value: CanvasLineCap) {\n this.originContext.lineCap = value;\n }\n\n get lineDashOffset(): number {\n return this.originContext.lineDashOffset;\n }\n set lineDashOffset(value: number) {\n this.originContext.lineDashOffset = value;\n }\n\n get lineJoin(): CanvasLineJoin {\n return this.originContext.lineJoin as any;\n }\n set lineJoin(value: CanvasLineJoin) {\n this.originContext.lineJoin = value;\n }\n\n get lineWidth(): number {\n return this.originContext.lineWidth;\n }\n set lineWidth(value: number) {\n this.originContext.lineWidth = value;\n }\n\n get miterLimit(): number {\n return this.originContext.miterLimit;\n }\n set miterLimit(value: number) {\n this.originContext.miterLimit = value;\n }\n\n get shadowBlur(): number {\n return this.originContext.shadowBlur;\n }\n set shadowBlur(value: number) {\n this.originContext.shadowBlur = value;\n }\n\n get shadowColor(): string {\n return this.originContext.shadowColor;\n }\n set shadowColor(value: string) {\n this.originContext.shadowColor = value;\n }\n\n get shadowOffsetX(): number {\n return this.originContext.shadowOffsetX;\n }\n set shadowOffsetX(value: number) {\n this.originContext.shadowOffsetX = value;\n }\n\n get shadowOffsetY(): number {\n return this.originContext.shadowOffsetY;\n }\n set shadowOffsetY(value: number) {\n this.originContext.shadowOffsetY = value;\n }\n\n get strokeStyle(): string | CanvasGradient | CanvasPattern {\n return this.originContext.strokeStyle;\n }\n set strokeStyle(value: string | CanvasGradient | CanvasPattern) {\n this.originContext.strokeStyle = value;\n }\n\n get textAlign(): CanvasTextAlign {\n return this.originContext.textAlign as any;\n }\n set textAlign(value: CanvasTextAlign) {\n this.originContext.textAlign = value as any;\n }\n\n get textBaseline(): CanvasTextBaseline {\n return this.originContext.textBaseline as any;\n }\n set textBaseline(value: CanvasTextBaseline) {\n this.originContext.textBaseline = value;\n }\n\n // Matrix-related getter\n get currentMatrix() {\n return this.originContext.currentMatrix;\n }\n\n // Forward all other methods to originContext\n // Transform methods\n save(): void {\n return this.originContext.save();\n }\n restore(): void {\n return this.originContext.restore();\n }\n highPerformanceSave(): void {\n return this.originContext.highPerformanceSave();\n }\n highPerformanceRestore(): void {\n return this.originContext.highPerformanceRestore();\n }\n rotate(rad: number, setTransform?: boolean): void {\n return this.originContext.rotate(rad, setTransform);\n }\n scale(sx: number, sy: number, setTransform?: boolean): void {\n return this.originContext.scale(sx, sy, setTransform);\n }\n setScale(sx: number, sy: number, setTransform?: boolean): void {\n return this.originContext.setScale(sx, sy, setTransform);\n }\n scalePoint(sx: number, sy: number, px: number, py: number, setTransform?: boolean): void {\n return this.originContext.scalePoint(sx, sy, px, py, setTransform);\n }\n setTransform(\n a: number,\n b: number,\n c: number,\n d: number,\n e: number,\n f: number,\n setTransform?: boolean,\n dpr?: number\n ): void {\n return this.originContext.setTransform(a, b, c, d, e, f, setTransform, dpr);\n }\n setTransformFromMatrix(matrix: Matrix, setTransform?: boolean, dpr?: number): void {\n return this.originContext.setTransformFromMatrix(matrix, setTransform, dpr);\n }\n resetTransform(setTransform?: boolean, dpr?: number): void {\n return this.originContext.resetTransform(setTransform, dpr);\n }\n transform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform?: boolean): void {\n return this.originContext.transform(a, b, c, d, e, f, setTransform);\n }\n transformFromMatrix(matrix: Matrix, setTransform?: boolean): void {\n return this.originContext.transformFromMatrix(matrix, setTransform);\n }\n translate(x: number, y: number, setTransform?: boolean): void {\n return this.originContext.translate(x, y, setTransform);\n }\n rotateDegrees(deg: number, setTransform?: boolean): void {\n return this.originContext.rotateDegrees(deg, setTransform);\n }\n rotateAbout(rad: number, x: number, y: number, setTransform?: boolean): void {\n return this.originContext.rotateAbout(rad, x, y, setTransform);\n }\n rotateDegreesAbout(deg: number, x: number, y: number, setTransform?: boolean): void {\n return this.originContext.rotateDegreesAbout(deg, x, y, setTransform);\n }\n\n setTransformForCurrent(force: boolean = false) {\n return this.originContext.setTransformForCurrent(force);\n }\n\n // Drawing methods\n clip(fillRule?: CanvasFillRule): void;\n clip(path: Path2D, fillRule?: CanvasFillRule): void;\n clip(path?: Path2D | CanvasFillRule, fillRule?: CanvasFillRule): void {\n return (this.originContext.clip as any)(path, fillRule);\n }\n fill(path?: Path2D, fillRule?: CanvasFillRule): void {\n return this.originContext.fill(path, fillRule);\n }\n stroke(path?: Path2D): void {\n return this.originContext.stroke(path);\n }\n fillRect(x: number, y: number, width: number, height: number): void {\n return this.originContext.fillRect(x, y, width, height);\n }\n strokeRect(x: number, y: number, width: number, height: number): void {\n return this.originContext.strokeRect(x, y, width, height);\n }\n fillText(text: string, x: number, y: number, z?: number): void {\n return this.originContext.fillText(text, x, y, z);\n }\n strokeText(text: string, x: number, y: number, z?: number): void {\n return this.originContext.strokeText(text, x, y, z);\n }\n clearRect(x: number, y: number, w: number, h: number): void {\n return this.originContext.clearRect(x, y, w, h);\n }\n\n // Image methods\n drawImage(...args: any[]): void {\n return (this.originContext.drawImage as any)(...args);\n }\n createImageData(...args: any[]): ImageData {\n return (this.originContext.createImageData as any)(...args);\n }\n getImageData(sx: number, sy: number, sw: number, sh: number): ImageData {\n return this.originContext.getImageData(sx, sy, sw, sh);\n }\n putImageData(imagedata: ImageData, dx: number, dy: number): void {\n return this.originContext.putImageData(imagedata, dx, dy);\n }\n\n // Gradient/Pattern methods\n createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n return this.originContext.createLinearGradient(x0, y0, x1, y1);\n }\n createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient {\n return this.originContext.createRadialGradient(x0, y0, r0, x1, y1, r1);\n }\n createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradientData {\n return this.originContext.createConicGradient(x, y, startAngle, endAngle);\n }\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n return this.originContext.createPattern(image, repetition);\n }\n\n // Line style methods\n getLineDash(): number[] {\n return this.originContext.getLineDash();\n }\n setLineDash(segments: number[]): void {\n return this.originContext.setLineDash(segments);\n }\n\n // Utility methods\n clear(): void {\n return this.originContext.clear();\n }\n measureText(text: string, method?: 'native' | 'simple' | 'quick'): { width: number } {\n return this.originContext.measureText(text, method);\n }\n isPointInPath(x: number, y: number): boolean {\n return this.originContext.isPointInPath(x, y);\n }\n isPointInStroke(x: number, y: number): boolean {\n return this.originContext.isPointInStroke(x, y);\n }\n project(x: number, y: number, z?: number): IPointLike {\n return this.originContext.project(x, y, z);\n }\n view(x: number, y: number, z?: number): vec3 {\n return this.originContext.view(x, y, z);\n }\n\n // Helper methods\n getCanvas(): ICanvas {\n return this.originContext.getCanvas();\n }\n getContext(): CanvasRenderingContext2D | any {\n return this.originContext.getContext();\n }\n setCommonStyle(\n params: ISetCommonStyleParams,\n attribute: ICommonStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]\n ): void {\n return this.originContext.setCommonStyle(params, attribute, offsetX, offsetY, defaultParams);\n }\n setShadowBlendStyle(\n params: ISetCommonStyleParams,\n attribute: ICommonStyleParams,\n defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]\n ): void {\n return this.originContext.setShadowBlendStyle(params, attribute, defaultParams);\n }\n setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams | any\n ): void {\n return this.originContext.setStrokeStyle(params, attribute, offsetX, offsetY, defaultParams);\n }\n setTextStyle(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams, z?: number): void {\n return this.originContext.setTextStyle(params, defaultParams, z);\n }\n setTextStyleWithoutAlignBaseline(\n params: Partial<ITextStyleParams>,\n defaultParams?: ITextStyleParams,\n z?: number\n ): void {\n return this.originContext.setTextStyleWithoutAlignBaseline(params, defaultParams, z);\n }\n clearMatrix(setTransform?: boolean, dpr?: number): void {\n return this.originContext.clearMatrix(setTransform, dpr);\n }\n setClearMatrix(a: number, b: number, c: number, d: number, e: number, f: number): void {\n return this.originContext.setClearMatrix(a, b, c, d, e, f);\n }\n onlyTranslate(dpr?: number): boolean {\n return this.originContext.onlyTranslate(dpr);\n }\n cloneMatrix(m: Matrix): Matrix {\n return this.originContext.cloneMatrix(m);\n }\n draw(): void {\n return this.originContext.draw();\n }\n release(...params: any): void {\n return this.originContext.release(...params);\n }\n}\n"]}
@@ -1,8 +1,10 @@
1
- import type { IGraphicRender, IContext2d, IMarkAttribute, IThemeAttribute, IGraphicAttribute, ISegPath2D, ILine, ILineGraphicAttribute, IClipRangeByDimensionType } from '@visactor/vrender-core';
2
- import { DefaultCanvasLineRender } from '@visactor/vrender-core';
3
- export declare class RoughCanvasLineRender extends DefaultCanvasLineRender implements IGraphicRender {
1
+ import type { IGraphicRender, ILine, IDrawContext, IGraphicRenderDrawParams, IRenderService } from '@visactor/vrender-core';
2
+ import { RoughBaseRender } from './base-render';
3
+ export declare class RoughCanvasLineRender extends RoughBaseRender implements IGraphicRender {
4
+ readonly canvasRenderer: IGraphicRender;
4
5
  type: 'line';
5
6
  numberType: number;
6
7
  style: 'rough';
7
- protected drawSegmentItem(context: IContext2d, cache: ISegPath2D, fill: boolean, stroke: boolean, fillOpacity: number, strokeOpacity: number, attribute: Partial<ILineGraphicAttribute>, defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[], clipRange: number, clipRangeByDimension: IClipRangeByDimensionType, offsetX: number, offsetY: number, line: ILine, fillCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute | IThemeAttribute[]) => boolean, strokeCb?: (ctx: IContext2d, lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute | IThemeAttribute[]) => boolean): boolean;
8
+ constructor(canvasRenderer: IGraphicRender);
9
+ draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
8
10
  }
@@ -4,9 +4,11 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
4
4
  var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
5
5
  if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- }, __importDefault = this && this.__importDefault || function(mod) {
8
- return mod && mod.__esModule ? mod : {
9
- default: mod
7
+ }, __metadata = this && this.__metadata || function(k, v) {
8
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
9
+ }, __param = this && this.__param || function(paramIndex, decorator) {
10
+ return function(target, key) {
11
+ decorator(target, key, paramIndex);
10
12
  };
11
13
  };
12
14
 
@@ -14,55 +16,19 @@ Object.defineProperty(exports, "__esModule", {
14
16
  value: !0
15
17
  }), exports.RoughCanvasLineRender = void 0;
16
18
 
17
- const vrender_core_1 = require("@visactor/vrender-core"), roughjs_1 = __importDefault(require("roughjs")), config_1 = require("./config");
19
+ const vrender_core_1 = require("@visactor/vrender-core"), base_render_1 = require("./base-render");
18
20
 
19
- let RoughCanvasLineRender = class extends vrender_core_1.DefaultCanvasLineRender {
20
- constructor() {
21
- super(...arguments), this.style = "rough";
21
+ let RoughCanvasLineRender = class extends base_render_1.RoughBaseRender {
22
+ constructor(canvasRenderer) {
23
+ super(), this.canvasRenderer = canvasRenderer, this.style = "rough", this.type = "line",
24
+ this.numberType = vrender_core_1.LINE_NUMBER_TYPE;
22
25
  }
23
- drawSegmentItem(context, cache, fill, stroke, fillOpacity, strokeOpacity, attribute, defaultAttribute, clipRange, clipRangeByDimension, offsetX, offsetY, line, fillCb, strokeCb) {
24
- if (fillCb || strokeCb) return super.drawSegmentItem(context, cache, fill, stroke, fillOpacity, strokeOpacity, attribute, defaultAttribute, clipRange, clipRangeByDimension, offsetX, offsetY, line, fillCb, strokeCb);
25
- context.highPerformanceSave();
26
- const canvas = context.canvas.nativeCanvas, rc = roughjs_1.default.canvas(canvas, {}), customPath = new vrender_core_1.CustomPath2D;
27
- (0, vrender_core_1.drawSegments)(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {
28
- offsetX: offsetX,
29
- offsetY: offsetY
30
- });
31
- const {maxRandomnessOffset: maxRandomnessOffset = config_1.defaultRouthThemeSpec.maxRandomnessOffset, roughness: roughness = config_1.defaultRouthThemeSpec.roughness, bowing: bowing = config_1.defaultRouthThemeSpec.bowing, curveFitting: curveFitting = config_1.defaultRouthThemeSpec.curveFitting, curveTightness: curveTightness = config_1.defaultRouthThemeSpec.curveTightness, curveStepCount: curveStepCount = config_1.defaultRouthThemeSpec.curveStepCount, fillStyle: fillStyle = config_1.defaultRouthThemeSpec.fillStyle, fillWeight: fillWeight = config_1.defaultRouthThemeSpec.fillWeight, hachureAngle: hachureAngle = config_1.defaultRouthThemeSpec.hachureAngle, hachureGap: hachureGap = config_1.defaultRouthThemeSpec.hachureGap, simplification: simplification = config_1.defaultRouthThemeSpec.simplification, dashOffset: dashOffset = config_1.defaultRouthThemeSpec.dashOffset, dashGap: dashGap = config_1.defaultRouthThemeSpec.dashGap, zigzagOffset: zigzagOffset = config_1.defaultRouthThemeSpec.zigzagOffset, seed: seed = config_1.defaultRouthThemeSpec.seed, fillLineDash: fillLineDash = config_1.defaultRouthThemeSpec.fillLineDash, fillLineDashOffset: fillLineDashOffset = config_1.defaultRouthThemeSpec.fillLineDashOffset, disableMultiStroke: disableMultiStroke = config_1.defaultRouthThemeSpec.disableMultiStroke, disableMultiStrokeFill: disableMultiStrokeFill = config_1.defaultRouthThemeSpec.disableMultiStrokeFill, preserveVertices: preserveVertices = config_1.defaultRouthThemeSpec.preserveVertices, fixedDecimalPlaceDigits: fixedDecimalPlaceDigits = config_1.defaultRouthThemeSpec.fixedDecimalPlaceDigits} = attribute;
32
- let {fill: fillColor, stroke: strokeColor, lineWidth: lineWidth} = attribute;
33
- return Array.isArray(defaultAttribute) ? defaultAttribute.forEach((item => {
34
- fillColor = null != fillColor ? fillColor : item.fill, strokeColor = null != strokeColor ? strokeColor : item.stroke,
35
- lineWidth = null != lineWidth ? lineWidth : item.lineWidth;
36
- })) : (fillColor = null != fillColor ? fillColor : defaultAttribute.fill, strokeColor = null != strokeColor ? strokeColor : defaultAttribute.stroke,
37
- lineWidth = null != lineWidth ? lineWidth : defaultAttribute.lineWidth), rc.path(customPath.toString(), {
38
- fill: fill ? fillColor : void 0,
39
- stroke: stroke ? strokeColor : void 0,
40
- strokeWidth: lineWidth,
41
- maxRandomnessOffset: maxRandomnessOffset,
42
- roughness: roughness,
43
- bowing: bowing,
44
- curveFitting: curveFitting,
45
- curveTightness: curveTightness,
46
- curveStepCount: curveStepCount,
47
- fillStyle: fillStyle,
48
- fillWeight: fillWeight,
49
- hachureAngle: hachureAngle,
50
- hachureGap: hachureGap,
51
- simplification: simplification,
52
- dashOffset: dashOffset,
53
- dashGap: dashGap,
54
- zigzagOffset: zigzagOffset,
55
- seed: seed,
56
- fillLineDash: fillLineDash,
57
- fillLineDashOffset: fillLineDashOffset,
58
- disableMultiStroke: disableMultiStroke,
59
- disableMultiStrokeFill: disableMultiStrokeFill,
60
- preserveVertices: preserveVertices,
61
- fixedDecimalPlaceDigits: fixedDecimalPlaceDigits
62
- }), context.highPerformanceRestore(), !1;
26
+ draw(line, renderService, drawContext, params) {
27
+ this.doDraw(line, renderService, drawContext, params);
63
28
  }
64
29
  };
65
30
 
66
- RoughCanvasLineRender = __decorate([ (0, vrender_core_1.injectable)() ], RoughCanvasLineRender),
31
+ RoughCanvasLineRender = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0,
32
+ vrender_core_1.inject)(vrender_core_1.DefaultCanvasLineRender)), __metadata("design:paramtypes", [ Object ]) ], RoughCanvasLineRender),
67
33
  exports.RoughCanvasLineRender = RoughCanvasLineRender;
68
34
  //# sourceMappingURL=rough-line.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/rough/rough-line.ts"],"names":[],"mappings":"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","file":"rough-line.js","sourcesContent":["import type {\n IGraphicRender,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n ISegPath2D,\n ILine,\n ILineGraphicAttribute,\n IClipRangeByDimensionType\n} from '@visactor/vrender-core';\nimport {\n IRenderService,\n IGraphic,\n DefaultCanvasLineRender,\n getTheme,\n CustomPath2D,\n drawSegments,\n injectable\n} from '@visactor/vrender-core';\nimport rough from 'roughjs';\nimport { defaultRouthThemeSpec } from './config';\n\n@injectable()\nexport class RoughCanvasLineRender extends DefaultCanvasLineRender implements IGraphicRender {\n declare type: 'line';\n declare numberType: number;\n style: 'rough' = 'rough';\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n if (fillCb || strokeCb) {\n return super.drawSegmentItem(\n context,\n cache,\n fill,\n stroke,\n fillOpacity,\n strokeOpacity,\n attribute,\n defaultAttribute,\n clipRange,\n clipRangeByDimension,\n offsetX,\n offsetY,\n line,\n fillCb,\n strokeCb\n );\n }\n context.highPerformanceSave();\n // 获取到原生canvas\n const canvas = context.canvas.nativeCanvas;\n const rc = rough.canvas(canvas, {});\n\n const customPath = new CustomPath2D();\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY\n });\n const {\n maxRandomnessOffset = defaultRouthThemeSpec.maxRandomnessOffset,\n roughness = defaultRouthThemeSpec.roughness,\n bowing = defaultRouthThemeSpec.bowing,\n curveFitting = defaultRouthThemeSpec.curveFitting,\n curveTightness = defaultRouthThemeSpec.curveTightness,\n curveStepCount = defaultRouthThemeSpec.curveStepCount,\n fillStyle = defaultRouthThemeSpec.fillStyle,\n fillWeight = defaultRouthThemeSpec.fillWeight,\n hachureAngle = defaultRouthThemeSpec.hachureAngle,\n hachureGap = defaultRouthThemeSpec.hachureGap,\n simplification = defaultRouthThemeSpec.simplification,\n dashOffset = defaultRouthThemeSpec.dashOffset,\n dashGap = defaultRouthThemeSpec.dashGap,\n zigzagOffset = defaultRouthThemeSpec.zigzagOffset,\n seed = defaultRouthThemeSpec.seed,\n fillLineDash = defaultRouthThemeSpec.fillLineDash,\n fillLineDashOffset = defaultRouthThemeSpec.fillLineDashOffset,\n disableMultiStroke = defaultRouthThemeSpec.disableMultiStroke,\n disableMultiStrokeFill = defaultRouthThemeSpec.disableMultiStrokeFill,\n preserveVertices = defaultRouthThemeSpec.preserveVertices,\n fixedDecimalPlaceDigits = defaultRouthThemeSpec.fixedDecimalPlaceDigits\n } = attribute as any;\n\n let { fill: fillColor, stroke: strokeColor, lineWidth } = attribute;\n\n if (Array.isArray(defaultAttribute)) {\n defaultAttribute.forEach(item => {\n fillColor = fillColor ?? item.fill;\n strokeColor = strokeColor ?? item.stroke;\n lineWidth = lineWidth ?? item.lineWidth;\n });\n } else {\n fillColor = fillColor ?? defaultAttribute.fill;\n strokeColor = strokeColor ?? defaultAttribute.stroke;\n lineWidth = lineWidth ?? defaultAttribute.lineWidth;\n }\n\n rc.path(customPath.toString(), {\n fill: fill ? (fillColor as string) : undefined,\n stroke: stroke ? (strokeColor as string) : undefined,\n strokeWidth: lineWidth,\n maxRandomnessOffset,\n roughness,\n bowing,\n curveFitting,\n curveTightness,\n curveStepCount,\n fillStyle,\n fillWeight,\n hachureAngle,\n hachureGap,\n simplification,\n dashOffset,\n dashGap,\n zigzagOffset,\n seed,\n fillLineDash,\n fillLineDashOffset,\n disableMultiStroke,\n disableMultiStrokeFill,\n preserveVertices,\n fixedDecimalPlaceDigits\n });\n\n context.highPerformanceRestore();\n\n return false;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/rough/rough-line.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA,yDAAuG;AACvG,+CAAgD;AAGzC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,6BAAe;IAKxD,YAEkB,cAA8B;QAE9C,KAAK,EAAE,CAAC;QAFQ,mBAAc,GAAd,cAAc,CAAgB;QAJhD,UAAK,GAAY,OAAO,CAAC;QAOvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,+BAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAjBY,qBAAqB;IADjC,IAAA,yBAAU,GAAE;IAOR,WAAA,IAAA,qBAAM,EAAC,sCAAuB,CAAC,CAAA;;GANvB,qBAAqB,CAiBjC;AAjBY,sDAAqB","file":"rough-line.js","sourcesContent":["import type {\n IGraphicRender,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IGraphicAttribute,\n ISegPath2D,\n ILine,\n ILineGraphicAttribute,\n IClipRangeByDimensionType,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '@visactor/vrender-core';\nimport { DefaultCanvasLineRender, injectable, inject, LINE_NUMBER_TYPE } from '@visactor/vrender-core';\nimport { RoughBaseRender } from './base-render';\n\n@injectable()\nexport class RoughCanvasLineRender extends RoughBaseRender implements IGraphicRender {\n declare type: 'line';\n declare numberType: number;\n style: 'rough' = 'rough';\n\n constructor(\n @inject(DefaultCanvasLineRender)\n public readonly canvasRenderer: IGraphicRender\n ) {\n super();\n this.type = 'line';\n this.numberType = LINE_NUMBER_TYPE;\n }\n\n draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n this.doDraw(line, renderService, drawContext, params);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { IGraphicRender, IRenderService, IRect, IDrawContext, IGraphicRenderDrawParams } from '@visactor/vrender-core';
1
+ import { type IGraphicRender, type IRenderService, type IRect, type IDrawContext, type IGraphicRenderDrawParams } from '@visactor/vrender-core';
2
2
  import { RoughBaseRender } from './base-render';
3
3
  export declare class RoughCanvasRectRender extends RoughBaseRender implements IGraphicRender {
4
4
  readonly canvasRenderer: IGraphicRender;