apexify.js 4.9.26 → 4.9.27

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 (108) hide show
  1. package/README.md +358 -47
  2. package/dist/cjs/Canvas/ApexPainter.d.ts +122 -78
  3. package/dist/cjs/Canvas/ApexPainter.d.ts.map +1 -1
  4. package/dist/cjs/Canvas/ApexPainter.js +461 -352
  5. package/dist/cjs/Canvas/ApexPainter.js.map +1 -1
  6. package/dist/cjs/Canvas/utils/Background/bg.d.ts +23 -11
  7. package/dist/cjs/Canvas/utils/Background/bg.d.ts.map +1 -1
  8. package/dist/cjs/Canvas/utils/Background/bg.js +174 -107
  9. package/dist/cjs/Canvas/utils/Background/bg.js.map +1 -1
  10. package/dist/cjs/Canvas/utils/Custom/customLines.js +2 -2
  11. package/dist/cjs/Canvas/utils/Custom/customLines.js.map +1 -1
  12. package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts +11 -0
  13. package/dist/cjs/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
  14. package/dist/cjs/Canvas/utils/Image/imageFilters.js +307 -0
  15. package/dist/cjs/Canvas/utils/Image/imageFilters.js.map +1 -0
  16. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts +47 -112
  17. package/dist/cjs/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  18. package/dist/cjs/Canvas/utils/Image/imageProperties.js +229 -560
  19. package/dist/cjs/Canvas/utils/Image/imageProperties.js.map +1 -1
  20. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
  21. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
  22. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js +351 -0
  23. package/dist/cjs/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
  24. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
  25. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
  26. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
  27. package/dist/cjs/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
  28. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
  29. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
  30. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
  31. package/dist/cjs/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
  32. package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts +29 -0
  33. package/dist/cjs/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
  34. package/dist/cjs/Canvas/utils/Shapes/shapes.js +334 -0
  35. package/dist/cjs/Canvas/utils/Shapes/shapes.js.map +1 -0
  36. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
  37. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
  38. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
  39. package/dist/cjs/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
  40. package/dist/cjs/Canvas/utils/types.d.ts +227 -131
  41. package/dist/cjs/Canvas/utils/types.d.ts.map +1 -1
  42. package/dist/cjs/Canvas/utils/types.js +0 -1
  43. package/dist/cjs/Canvas/utils/types.js.map +1 -1
  44. package/dist/cjs/Canvas/utils/utils.d.ts +7 -4
  45. package/dist/cjs/Canvas/utils/utils.d.ts.map +1 -1
  46. package/dist/cjs/Canvas/utils/utils.js +17 -7
  47. package/dist/cjs/Canvas/utils/utils.js.map +1 -1
  48. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  49. package/dist/esm/Canvas/ApexPainter.d.ts +122 -78
  50. package/dist/esm/Canvas/ApexPainter.d.ts.map +1 -1
  51. package/dist/esm/Canvas/ApexPainter.js +461 -352
  52. package/dist/esm/Canvas/ApexPainter.js.map +1 -1
  53. package/dist/esm/Canvas/utils/Background/bg.d.ts +23 -11
  54. package/dist/esm/Canvas/utils/Background/bg.d.ts.map +1 -1
  55. package/dist/esm/Canvas/utils/Background/bg.js +174 -107
  56. package/dist/esm/Canvas/utils/Background/bg.js.map +1 -1
  57. package/dist/esm/Canvas/utils/Custom/customLines.js +2 -2
  58. package/dist/esm/Canvas/utils/Custom/customLines.js.map +1 -1
  59. package/dist/esm/Canvas/utils/Image/imageFilters.d.ts +11 -0
  60. package/dist/esm/Canvas/utils/Image/imageFilters.d.ts.map +1 -0
  61. package/dist/esm/Canvas/utils/Image/imageFilters.js +307 -0
  62. package/dist/esm/Canvas/utils/Image/imageFilters.js.map +1 -0
  63. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts +47 -112
  64. package/dist/esm/Canvas/utils/Image/imageProperties.d.ts.map +1 -1
  65. package/dist/esm/Canvas/utils/Image/imageProperties.js +229 -560
  66. package/dist/esm/Canvas/utils/Image/imageProperties.js.map +1 -1
  67. package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts +11 -0
  68. package/dist/esm/Canvas/utils/Image/professionalImageFilters.d.ts.map +1 -0
  69. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js +351 -0
  70. package/dist/esm/Canvas/utils/Image/professionalImageFilters.js.map +1 -0
  71. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts +11 -0
  72. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.d.ts.map +1 -0
  73. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js +215 -0
  74. package/dist/esm/Canvas/utils/Image/simpleProfessionalFilters.js.map +1 -0
  75. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts +71 -0
  76. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.d.ts.map +1 -0
  77. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js +392 -0
  78. package/dist/esm/Canvas/utils/Patterns/enhancedPatternRenderer.js.map +1 -0
  79. package/dist/esm/Canvas/utils/Shapes/shapes.d.ts +29 -0
  80. package/dist/esm/Canvas/utils/Shapes/shapes.d.ts.map +1 -0
  81. package/dist/esm/Canvas/utils/Shapes/shapes.js +334 -0
  82. package/dist/esm/Canvas/utils/Shapes/shapes.js.map +1 -0
  83. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts +127 -0
  84. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.d.ts.map +1 -0
  85. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js +365 -0
  86. package/dist/esm/Canvas/utils/Texts/enhancedTextRenderer.js.map +1 -0
  87. package/dist/esm/Canvas/utils/types.d.ts +227 -131
  88. package/dist/esm/Canvas/utils/types.d.ts.map +1 -1
  89. package/dist/esm/Canvas/utils/types.js +0 -1
  90. package/dist/esm/Canvas/utils/types.js.map +1 -1
  91. package/dist/esm/Canvas/utils/utils.d.ts +7 -4
  92. package/dist/esm/Canvas/utils/utils.d.ts.map +1 -1
  93. package/dist/esm/Canvas/utils/utils.js +17 -7
  94. package/dist/esm/Canvas/utils/utils.js.map +1 -1
  95. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  96. package/lib/Canvas/ApexPainter.ts +1325 -1218
  97. package/lib/Canvas/utils/Background/bg.ts +247 -173
  98. package/lib/Canvas/utils/Custom/customLines.ts +3 -3
  99. package/lib/Canvas/utils/Image/imageFilters.ts +356 -0
  100. package/lib/Canvas/utils/Image/imageProperties.ts +322 -775
  101. package/lib/Canvas/utils/Image/professionalImageFilters.ts +391 -0
  102. package/lib/Canvas/utils/Image/simpleProfessionalFilters.ts +229 -0
  103. package/lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts +444 -0
  104. package/lib/Canvas/utils/Shapes/shapes.ts +528 -0
  105. package/lib/Canvas/utils/Texts/enhancedTextRenderer.ts +478 -0
  106. package/lib/Canvas/utils/types.ts +301 -117
  107. package/lib/Canvas/utils/utils.ts +85 -72
  108. package/package.json +106 -188
@@ -0,0 +1,392 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EnhancedPatternRenderer = void 0;
7
+ const canvas_1 = require("@napi-rs/canvas");
8
+ const path_1 = __importDefault(require("path"));
9
+ /**
10
+ * Enhanced pattern renderer supporting all pattern types
11
+ */
12
+ class EnhancedPatternRenderer {
13
+ /**
14
+ * Renders a pattern overlay on the canvas
15
+ * @param ctx - Canvas 2D context
16
+ * @param canvas - Canvas instance
17
+ * @param patternOptions - Pattern configuration
18
+ */
19
+ static async renderPattern(ctx, canvas, patternOptions) {
20
+ if (!patternOptions || !patternOptions.type)
21
+ return;
22
+ ctx.save();
23
+ try {
24
+ // Set pattern opacity
25
+ const opacity = patternOptions.opacity !== undefined ? patternOptions.opacity : 0.3;
26
+ ctx.globalAlpha = opacity;
27
+ // Set blend mode
28
+ const blendMode = patternOptions.blendMode || 'overlay';
29
+ ctx.globalCompositeOperation = blendMode;
30
+ // Apply rotation if specified
31
+ if (patternOptions.rotation && patternOptions.rotation !== 0) {
32
+ const centerX = canvas.width / 2;
33
+ const centerY = canvas.height / 2;
34
+ ctx.translate(centerX, centerY);
35
+ ctx.rotate((patternOptions.rotation * Math.PI) / 180);
36
+ ctx.translate(-centerX, -centerY);
37
+ }
38
+ // Apply offset if specified
39
+ if (patternOptions.offsetX || patternOptions.offsetY) {
40
+ ctx.translate(patternOptions.offsetX || 0, patternOptions.offsetY || 0);
41
+ }
42
+ // Render based on pattern type
43
+ switch (patternOptions.type) {
44
+ case 'grid':
45
+ this.renderGridPattern(ctx, canvas, patternOptions);
46
+ break;
47
+ case 'dots':
48
+ this.renderDotsPattern(ctx, canvas, patternOptions);
49
+ break;
50
+ case 'diagonal':
51
+ this.renderDiagonalPattern(ctx, canvas, patternOptions);
52
+ break;
53
+ case 'stripes':
54
+ this.renderStripesPattern(ctx, canvas, patternOptions);
55
+ break;
56
+ case 'waves':
57
+ this.renderWavesPattern(ctx, canvas, patternOptions);
58
+ break;
59
+ case 'crosses':
60
+ this.renderCrossesPattern(ctx, canvas, patternOptions);
61
+ break;
62
+ case 'hexagons':
63
+ this.renderHexagonsPattern(ctx, canvas, patternOptions);
64
+ break;
65
+ case 'checkerboard':
66
+ this.renderCheckerboardPattern(ctx, canvas, patternOptions);
67
+ break;
68
+ case 'diamonds':
69
+ this.renderDiamondsPattern(ctx, canvas, patternOptions);
70
+ break;
71
+ case 'triangles':
72
+ this.renderTrianglesPattern(ctx, canvas, patternOptions);
73
+ break;
74
+ case 'stars':
75
+ this.renderStarsPattern(ctx, canvas, patternOptions);
76
+ break;
77
+ case 'polka':
78
+ this.renderPolkaPattern(ctx, canvas, patternOptions);
79
+ break;
80
+ case 'custom':
81
+ await this.renderCustomPattern(ctx, canvas, patternOptions);
82
+ break;
83
+ default:
84
+ console.warn(`Unknown pattern type: ${patternOptions.type}`);
85
+ }
86
+ }
87
+ finally {
88
+ ctx.restore();
89
+ }
90
+ }
91
+ /**
92
+ * Renders grid pattern
93
+ */
94
+ static renderGridPattern(ctx, canvas, options) {
95
+ const size = options.size || 20;
96
+ const spacing = options.spacing || 10;
97
+ const color = options.color || '#ffffff';
98
+ ctx.strokeStyle = color;
99
+ ctx.lineWidth = 1;
100
+ // Vertical lines
101
+ for (let x = 0; x <= canvas.width; x += size + spacing) {
102
+ ctx.beginPath();
103
+ ctx.moveTo(x, 0);
104
+ ctx.lineTo(x, canvas.height);
105
+ ctx.stroke();
106
+ }
107
+ // Horizontal lines
108
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
109
+ ctx.beginPath();
110
+ ctx.moveTo(0, y);
111
+ ctx.lineTo(canvas.width, y);
112
+ ctx.stroke();
113
+ }
114
+ }
115
+ /**
116
+ * Renders dots pattern
117
+ */
118
+ static renderDotsPattern(ctx, canvas, options) {
119
+ const size = options.size || 20;
120
+ const spacing = options.spacing || 10;
121
+ const color = options.color || '#ffffff';
122
+ ctx.fillStyle = color;
123
+ for (let x = 0; x <= canvas.width; x += size + spacing) {
124
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
125
+ ctx.beginPath();
126
+ ctx.arc(x, y, size / 4, 0, Math.PI * 2);
127
+ ctx.fill();
128
+ }
129
+ }
130
+ }
131
+ /**
132
+ * Renders diagonal pattern
133
+ */
134
+ static renderDiagonalPattern(ctx, canvas, options) {
135
+ const size = options.size || 20;
136
+ const spacing = options.spacing || 10;
137
+ const color = options.color || '#ffffff';
138
+ ctx.strokeStyle = color;
139
+ ctx.lineWidth = 2;
140
+ const diagonalSpacing = size + spacing;
141
+ // Diagonal lines going up-right
142
+ for (let i = -canvas.height; i <= canvas.width; i += diagonalSpacing) {
143
+ ctx.beginPath();
144
+ ctx.moveTo(i, 0);
145
+ ctx.lineTo(i + canvas.height, canvas.height);
146
+ ctx.stroke();
147
+ }
148
+ }
149
+ /**
150
+ * Renders stripes pattern
151
+ */
152
+ static renderStripesPattern(ctx, canvas, options) {
153
+ const size = options.size || 20;
154
+ const spacing = options.spacing || 10;
155
+ const color = options.color || '#ffffff';
156
+ ctx.fillStyle = color;
157
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
158
+ ctx.fillRect(0, y, canvas.width, size);
159
+ }
160
+ }
161
+ /**
162
+ * Renders waves pattern
163
+ */
164
+ static renderWavesPattern(ctx, canvas, options) {
165
+ const size = options.size || 20;
166
+ const spacing = options.spacing || 10;
167
+ const color = options.color || '#ffffff';
168
+ ctx.strokeStyle = color;
169
+ ctx.lineWidth = 2;
170
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
171
+ ctx.beginPath();
172
+ ctx.moveTo(0, y);
173
+ for (let x = 0; x <= canvas.width; x += 10) {
174
+ const waveY = y + Math.sin(x * 0.1) * (size / 4);
175
+ ctx.lineTo(x, waveY);
176
+ }
177
+ ctx.stroke();
178
+ }
179
+ }
180
+ /**
181
+ * Renders crosses pattern
182
+ */
183
+ static renderCrossesPattern(ctx, canvas, options) {
184
+ const size = options.size || 20;
185
+ const spacing = options.spacing || 10;
186
+ const color = options.color || '#ffffff';
187
+ ctx.strokeStyle = color;
188
+ ctx.lineWidth = 2;
189
+ for (let x = 0; x <= canvas.width; x += size + spacing) {
190
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
191
+ const crossSize = size / 2;
192
+ // Horizontal line
193
+ ctx.beginPath();
194
+ ctx.moveTo(x - crossSize, y);
195
+ ctx.lineTo(x + crossSize, y);
196
+ ctx.stroke();
197
+ // Vertical line
198
+ ctx.beginPath();
199
+ ctx.moveTo(x, y - crossSize);
200
+ ctx.lineTo(x, y + crossSize);
201
+ ctx.stroke();
202
+ }
203
+ }
204
+ }
205
+ /**
206
+ * Renders hexagons pattern
207
+ */
208
+ static renderHexagonsPattern(ctx, canvas, options) {
209
+ const size = options.size || 20;
210
+ const spacing = options.spacing || 10;
211
+ const color = options.color || '#ffffff';
212
+ ctx.strokeStyle = color;
213
+ ctx.lineWidth = 2;
214
+ const hexWidth = size;
215
+ const hexHeight = size * Math.sqrt(3) / 2;
216
+ for (let x = 0; x <= canvas.width + hexWidth; x += hexWidth + spacing) {
217
+ for (let y = 0; y <= canvas.height + hexHeight; y += hexHeight * 1.5 + spacing) {
218
+ this.drawHexagon(ctx, x, y, hexWidth / 2);
219
+ }
220
+ }
221
+ }
222
+ /**
223
+ * Renders checkerboard pattern
224
+ */
225
+ static renderCheckerboardPattern(ctx, canvas, options) {
226
+ const size = options.size || 20;
227
+ const color = options.color || '#ffffff';
228
+ const secondaryColor = options.secondaryColor || 'transparent';
229
+ for (let x = 0; x <= canvas.width; x += size) {
230
+ for (let y = 0; y <= canvas.height; y += size) {
231
+ const isEven = ((x / size) + (y / size)) % 2 === 0;
232
+ ctx.fillStyle = isEven ? color : secondaryColor;
233
+ ctx.fillRect(x, y, size, size);
234
+ }
235
+ }
236
+ }
237
+ /**
238
+ * Renders diamonds pattern
239
+ */
240
+ static renderDiamondsPattern(ctx, canvas, options) {
241
+ const size = options.size || 20;
242
+ const spacing = options.spacing || 10;
243
+ const color = options.color || '#ffffff';
244
+ ctx.strokeStyle = color;
245
+ ctx.lineWidth = 2;
246
+ for (let x = 0; x <= canvas.width + size; x += size + spacing) {
247
+ for (let y = 0; y <= canvas.height + size; y += size + spacing) {
248
+ this.drawDiamond(ctx, x, y, size / 2);
249
+ }
250
+ }
251
+ }
252
+ /**
253
+ * Renders triangles pattern
254
+ */
255
+ static renderTrianglesPattern(ctx, canvas, options) {
256
+ const size = options.size || 20;
257
+ const spacing = options.spacing || 10;
258
+ const color = options.color || '#ffffff';
259
+ ctx.strokeStyle = color;
260
+ ctx.lineWidth = 2;
261
+ for (let x = 0; x <= canvas.width + size; x += size + spacing) {
262
+ for (let y = 0; y <= canvas.height + size; y += size + spacing) {
263
+ this.drawTriangle(ctx, x, y, size / 2);
264
+ }
265
+ }
266
+ }
267
+ /**
268
+ * Renders stars pattern
269
+ */
270
+ static renderStarsPattern(ctx, canvas, options) {
271
+ const size = options.size || 20;
272
+ const spacing = options.spacing || 10;
273
+ const color = options.color || '#ffffff';
274
+ ctx.fillStyle = color;
275
+ for (let x = 0; x <= canvas.width + size; x += size + spacing) {
276
+ for (let y = 0; y <= canvas.height + size; y += size + spacing) {
277
+ this.drawStar(ctx, x, y, size / 4);
278
+ }
279
+ }
280
+ }
281
+ /**
282
+ * Renders polka pattern (larger dots)
283
+ */
284
+ static renderPolkaPattern(ctx, canvas, options) {
285
+ const size = options.size || 20;
286
+ const spacing = options.spacing || 10;
287
+ const color = options.color || '#ffffff';
288
+ ctx.fillStyle = color;
289
+ for (let x = 0; x <= canvas.width; x += size + spacing) {
290
+ for (let y = 0; y <= canvas.height; y += size + spacing) {
291
+ ctx.beginPath();
292
+ ctx.arc(x, y, size / 2, 0, Math.PI * 2);
293
+ ctx.fill();
294
+ }
295
+ }
296
+ }
297
+ /**
298
+ * Renders custom pattern from image
299
+ */
300
+ static async renderCustomPattern(ctx, canvas, options) {
301
+ if (!options.customPatternImage)
302
+ return;
303
+ try {
304
+ let imagePath = options.customPatternImage;
305
+ if (!/^https?:\/\//i.test(imagePath)) {
306
+ imagePath = path_1.default.join(process.cwd(), imagePath);
307
+ }
308
+ const image = await (0, canvas_1.loadImage)(imagePath);
309
+ const scale = options.scale || 1;
310
+ const repeat = options.repeat || 'repeat';
311
+ const scaledWidth = image.width * scale;
312
+ const scaledHeight = image.height * scale;
313
+ switch (repeat) {
314
+ case 'repeat':
315
+ for (let x = 0; x <= canvas.width; x += scaledWidth) {
316
+ for (let y = 0; y <= canvas.height; y += scaledHeight) {
317
+ ctx.drawImage(image, x, y, scaledWidth, scaledHeight);
318
+ }
319
+ }
320
+ break;
321
+ case 'repeat-x':
322
+ for (let x = 0; x <= canvas.width; x += scaledWidth) {
323
+ ctx.drawImage(image, x, 0, scaledWidth, scaledHeight);
324
+ }
325
+ break;
326
+ case 'repeat-y':
327
+ for (let y = 0; y <= canvas.height; y += scaledHeight) {
328
+ ctx.drawImage(image, 0, y, scaledWidth, scaledHeight);
329
+ }
330
+ break;
331
+ case 'no-repeat':
332
+ ctx.drawImage(image, 0, 0, scaledWidth, scaledHeight);
333
+ break;
334
+ }
335
+ }
336
+ catch (error) {
337
+ console.warn(`Failed to load custom pattern image: ${options.customPatternImage}`, error);
338
+ }
339
+ }
340
+ // === HELPER DRAWING FUNCTIONS ===
341
+ static drawHexagon(ctx, x, y, radius) {
342
+ ctx.beginPath();
343
+ for (let i = 0; i < 6; i++) {
344
+ const angle = (i * Math.PI) / 3;
345
+ const px = x + radius * Math.cos(angle);
346
+ const py = y + radius * Math.sin(angle);
347
+ if (i === 0) {
348
+ ctx.moveTo(px, py);
349
+ }
350
+ else {
351
+ ctx.lineTo(px, py);
352
+ }
353
+ }
354
+ ctx.closePath();
355
+ ctx.stroke();
356
+ }
357
+ static drawDiamond(ctx, x, y, size) {
358
+ ctx.beginPath();
359
+ ctx.moveTo(x, y - size);
360
+ ctx.lineTo(x + size, y);
361
+ ctx.lineTo(x, y + size);
362
+ ctx.lineTo(x - size, y);
363
+ ctx.closePath();
364
+ ctx.stroke();
365
+ }
366
+ static drawTriangle(ctx, x, y, size) {
367
+ ctx.beginPath();
368
+ ctx.moveTo(x, y - size);
369
+ ctx.lineTo(x + size, y + size);
370
+ ctx.lineTo(x - size, y + size);
371
+ ctx.closePath();
372
+ ctx.stroke();
373
+ }
374
+ static drawStar(ctx, x, y, radius) {
375
+ ctx.beginPath();
376
+ for (let i = 0; i < 5; i++) {
377
+ const angle = (i * 4 * Math.PI) / 5;
378
+ const px = x + radius * Math.cos(angle);
379
+ const py = y + radius * Math.sin(angle);
380
+ if (i === 0) {
381
+ ctx.moveTo(px, py);
382
+ }
383
+ else {
384
+ ctx.lineTo(px, py);
385
+ }
386
+ }
387
+ ctx.closePath();
388
+ ctx.fill();
389
+ }
390
+ }
391
+ exports.EnhancedPatternRenderer = EnhancedPatternRenderer;
392
+ //# sourceMappingURL=enhancedPatternRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedPatternRenderer.js","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Patterns/enhancedPatternRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { SKRSContext2D } from '@napi-rs/canvas';
2
+ import { ShapeType, ShapeProperties } from '../types';
3
+ /**
4
+ * Draws a shape on the canvas context
5
+ * @param ctx Canvas 2D context
6
+ * @param shapeType Type of shape to draw
7
+ * @param x X position
8
+ * @param y Y position
9
+ * @param width Width of the shape
10
+ * @param height Height of the shape
11
+ * @param shapeProps Shape properties including fill, color, gradient
12
+ */
13
+ export declare function drawShape(ctx: SKRSContext2D, shapeType: ShapeType, x: number, y: number, width: number, height: number, shapeProps: ShapeProperties): void;
14
+ /**
15
+ * Creates a path for a shape (used for shadows and strokes)
16
+ * @param ctx Canvas 2D context
17
+ * @param shapeType Type of shape
18
+ * @param x X position
19
+ * @param y Y position
20
+ * @param width Width of the shape
21
+ * @param height Height of the shape
22
+ * @param shapeProps Shape properties
23
+ */
24
+ export declare function createShapePath(ctx: SKRSContext2D, shapeType: ShapeType, x: number, y: number, width: number, height: number, shapeProps: ShapeProperties): void;
25
+ /**
26
+ * Checks if a source is a shape type
27
+ */
28
+ export declare function isShapeSource(source: string | Buffer | ShapeType): source is ShapeType;
29
+ //# sourceMappingURL=shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../../../../lib/Canvas/utils/Shapes/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAY,MAAM,UAAU,CAAC;AAGhE;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,eAAe,GAC1B,IAAI,CA2CN;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,SAAS,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,eAAe,GAC1B,IAAI,CA8BN;AAsZD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI,SAAS,CAGtF"}