@amphore-dev/shades 0.5.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.
- package/LICENSE +21 -0
- package/README.md +317 -0
- package/dist/classes/ShadesEngine.d.ts +65 -0
- package/dist/classes/ShadesEngine.d.ts.map +1 -0
- package/dist/classes/ShadesEngine.js +386 -0
- package/dist/classes/ShadesEngine.js.map +1 -0
- package/dist/classes/index.d.ts +3 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js +3 -0
- package/dist/classes/index.js.map +1 -0
- package/dist/classes/shapes/BaseShape.d.ts +20 -0
- package/dist/classes/shapes/BaseShape.d.ts.map +1 -0
- package/dist/classes/shapes/BaseShape.js +45 -0
- package/dist/classes/shapes/BaseShape.js.map +1 -0
- package/dist/classes/shapes/CircleShape.d.ts +11 -0
- package/dist/classes/shapes/CircleShape.d.ts.map +1 -0
- package/dist/classes/shapes/CircleShape.js +25 -0
- package/dist/classes/shapes/CircleShape.js.map +1 -0
- package/dist/classes/shapes/ImageShape.d.ts +22 -0
- package/dist/classes/shapes/ImageShape.d.ts.map +1 -0
- package/dist/classes/shapes/ImageShape.js +107 -0
- package/dist/classes/shapes/ImageShape.js.map +1 -0
- package/dist/classes/shapes/SpiralShape.d.ts +11 -0
- package/dist/classes/shapes/SpiralShape.d.ts.map +1 -0
- package/dist/classes/shapes/SpiralShape.js +28 -0
- package/dist/classes/shapes/SpiralShape.js.map +1 -0
- package/dist/classes/shapes/SquaredShape.d.ts +11 -0
- package/dist/classes/shapes/SquaredShape.d.ts.map +1 -0
- package/dist/classes/shapes/SquaredShape.js +25 -0
- package/dist/classes/shapes/SquaredShape.js.map +1 -0
- package/dist/classes/shapes/TextShape.d.ts +16 -0
- package/dist/classes/shapes/TextShape.d.ts.map +1 -0
- package/dist/classes/shapes/TextShape.js +35 -0
- package/dist/classes/shapes/TextShape.js.map +1 -0
- package/dist/classes/shapes/TriangleShape.d.ts +11 -0
- package/dist/classes/shapes/TriangleShape.d.ts.map +1 -0
- package/dist/classes/shapes/TriangleShape.js +46 -0
- package/dist/classes/shapes/TriangleShape.js.map +1 -0
- package/dist/classes/shapes/index.d.ts +8 -0
- package/dist/classes/shapes/index.d.ts.map +1 -0
- package/dist/classes/shapes/index.js +10 -0
- package/dist/classes/shapes/index.js.map +1 -0
- package/dist/constants/CColors.d.ts +6 -0
- package/dist/constants/CColors.d.ts.map +1 -0
- package/dist/constants/CColors.js +35 -0
- package/dist/constants/CColors.js.map +1 -0
- package/dist/constants/CFilters.d.ts +8 -0
- package/dist/constants/CFilters.d.ts.map +1 -0
- package/dist/constants/CFilters.js +15 -0
- package/dist/constants/CFilters.js.map +1 -0
- package/dist/constants/CShades.d.ts +3 -0
- package/dist/constants/CShades.d.ts.map +1 -0
- package/dist/constants/CShades.js +10 -0
- package/dist/constants/CShades.js.map +1 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +4 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/types/TPoints.d.ts +8 -0
- package/dist/types/TPoints.d.ts.map +1 -0
- package/dist/types/TPoints.js +2 -0
- package/dist/types/TPoints.js.map +1 -0
- package/dist/types/TShadeItem.d.ts +6 -0
- package/dist/types/TShadeItem.d.ts.map +1 -0
- package/dist/types/TShadeItem.js +2 -0
- package/dist/types/TShadeItem.js.map +1 -0
- package/dist/types/TShades.d.ts +11 -0
- package/dist/types/TShades.d.ts.map +1 -0
- package/dist/types/TShades.js +10 -0
- package/dist/types/TShades.js.map +1 -0
- package/dist/types/TShadesConfig.d.ts +26 -0
- package/dist/types/TShadesConfig.d.ts.map +1 -0
- package/dist/types/TShadesConfig.js +2 -0
- package/dist/types/TShadesConfig.js.map +1 -0
- package/dist/types/TShapeOptions.d.ts +6 -0
- package/dist/types/TShapeOptions.d.ts.map +1 -0
- package/dist/types/TShapeOptions.js +2 -0
- package/dist/types/TShapeOptions.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/UColors.d.ts +18 -0
- package/dist/utils/UColors.d.ts.map +1 -0
- package/dist/utils/UColors.js +44 -0
- package/dist/utils/UColors.js.map +1 -0
- package/dist/utils/UMaths.d.ts +9 -0
- package/dist/utils/UMaths.d.ts.map +1 -0
- package/dist/utils/UMaths.js +14 -0
- package/dist/utils/UMaths.js.map +1 -0
- package/dist/utils/UShadeUtils.d.ts +8 -0
- package/dist/utils/UShadeUtils.d.ts.map +1 -0
- package/dist/utils/UShadeUtils.js +75 -0
- package/dist/utils/UShadeUtils.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +71 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Amphore Dev
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
# 🎨 Shades
|
|
2
|
+
|
|
3
|
+
Library for creating animated shape visualizations on canvas.
|
|
4
|
+
|
|
5
|
+
## 🚀 Live Demo
|
|
6
|
+
|
|
7
|
+
[View the interactive demo](https://amphore-dev.github.io/Shades/) (deployed from the [`example/`](./example/) directory)
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
✨ **Framework-agnostic** - Works with React, Vue, Angular, Svelte, or vanilla JavaScript
|
|
12
|
+
🎯 **TypeScript** - Full type safety and IntelliSense support
|
|
13
|
+
🎨 **Multiple shapes** - Circles, squares, triangles, text, spirals, and images
|
|
14
|
+
🎭 **Smooth animations** - Buttery smooth 60fps animations
|
|
15
|
+
⚡ **Performant** - Optimized canvas rendering
|
|
16
|
+
🎮 **Interactive** - Mouse/touch controls and zoom
|
|
17
|
+
🐛 **Debug mode** - Built-in performance monitoring
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @amphore-dev/shades
|
|
23
|
+
# or
|
|
24
|
+
yarn add @amphore-dev/shades
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
### Vanilla JavaScript/TypeScript
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { ShadesEngine } from "@amphore-dev/shades";
|
|
33
|
+
|
|
34
|
+
const canvas = document.getElementById("myCanvas") as HTMLCanvasElement;
|
|
35
|
+
|
|
36
|
+
const shades = new ShadesEngine(canvas, {
|
|
37
|
+
randomized: true,
|
|
38
|
+
debug: false,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
shades.generate(); // Generate shapes
|
|
42
|
+
shades.start(); // Start animation
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### With React
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
import { useEffect, useRef } from "react";
|
|
49
|
+
import { ShadesEngine } from "@amphore-dev/shades";
|
|
50
|
+
|
|
51
|
+
function ShadesComponent() {
|
|
52
|
+
const canvasRef = useRef<HTMLCanvasElement>(null);
|
|
53
|
+
const shadesRef = useRef<ShadesEngine>();
|
|
54
|
+
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (canvasRef.current) {
|
|
57
|
+
shadesRef.current = new ShadesEngine(canvasRef.current, {
|
|
58
|
+
randomized: true,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
shadesRef.current.generate();
|
|
62
|
+
shadesRef.current.start();
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return () => {
|
|
66
|
+
shadesRef.current?.destroy();
|
|
67
|
+
};
|
|
68
|
+
}, []);
|
|
69
|
+
|
|
70
|
+
return <canvas ref={canvasRef} className="w-full h-full" />;
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### With Vue 3
|
|
75
|
+
|
|
76
|
+
```vue
|
|
77
|
+
<template>
|
|
78
|
+
<canvas ref="canvasRef" class="w-full h-full" />
|
|
79
|
+
</template>
|
|
80
|
+
|
|
81
|
+
<script setup lang="ts">
|
|
82
|
+
import { ref, onMounted, onUnmounted } from "vue";
|
|
83
|
+
import { ShadesEngine } from "@amphore-dev/shades";
|
|
84
|
+
|
|
85
|
+
const canvasRef = ref<HTMLCanvasElement>();
|
|
86
|
+
let shades: ShadesEngine;
|
|
87
|
+
|
|
88
|
+
onMounted(() => {
|
|
89
|
+
if (canvasRef.value) {
|
|
90
|
+
shades = new ShadesEngine(canvasRef.value, {
|
|
91
|
+
randomized: true,
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
shades.generate();
|
|
95
|
+
shades.start();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
onUnmounted(() => {
|
|
100
|
+
shades?.destroy();
|
|
101
|
+
});
|
|
102
|
+
</script>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## API Reference
|
|
106
|
+
|
|
107
|
+
### Constructor
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
new ShadesEngine(canvas: HTMLCanvasElement, options?: TShadesEngineOptions)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
#### Options
|
|
114
|
+
|
|
115
|
+
```typescript
|
|
116
|
+
interface TShadesEngineOptions {
|
|
117
|
+
shapes?: TShadeType[]; // Shape types to use for generation (ex: ["circle", "star"])
|
|
118
|
+
customShapes?: Record<string, TShadeTypeConstructor>; // Custom shape classes (ex: { "star": StarShape })
|
|
119
|
+
randomized?: boolean; // Enable randomized generation
|
|
120
|
+
debug?: boolean; // Show debug information
|
|
121
|
+
fadeDuration?: number; // Fade duration in milliseconds (default: 500ms)
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Methods
|
|
126
|
+
|
|
127
|
+
| Method | Description |
|
|
128
|
+
| ---------------------------- | ---------------------------------- |
|
|
129
|
+
| `generate()` | Generate shapes and setup |
|
|
130
|
+
| `start()` | Start animation |
|
|
131
|
+
| `pause()` | Pause animation |
|
|
132
|
+
| `regenerate()` | Generate new shapes |
|
|
133
|
+
| `destroy()` | Cleanup and remove event listeners |
|
|
134
|
+
| `zoom(scale: number)` | Zoom in/out |
|
|
135
|
+
| `setDebug(enabled: boolean)` | Toggle debug mode |
|
|
136
|
+
| `getShadesConfig()` | Get current configuration |
|
|
137
|
+
| `isAnimating()` | Check if animation is running |
|
|
138
|
+
|
|
139
|
+
### Controls
|
|
140
|
+
|
|
141
|
+
- **Click** - Regenerate shapes
|
|
142
|
+
- **Mouse move** - Parallax effect
|
|
143
|
+
- **Mouse wheel** - Zoom in/out
|
|
144
|
+
|
|
145
|
+
## Custom Shapes
|
|
146
|
+
|
|
147
|
+
Create your own custom shapes by extending the `ShadeItem` class:
|
|
148
|
+
|
|
149
|
+
### Creating a Custom Shape
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
import {
|
|
153
|
+
ShadeItem,
|
|
154
|
+
TShadeColor,
|
|
155
|
+
TShadeConfig,
|
|
156
|
+
TShapeOptions,
|
|
157
|
+
TPoint,
|
|
158
|
+
} from "@amphore-dev/shades";
|
|
159
|
+
|
|
160
|
+
export class StarShape extends ShadeItem {
|
|
161
|
+
constructor(
|
|
162
|
+
x: number,
|
|
163
|
+
y: number,
|
|
164
|
+
color: TShadeColor,
|
|
165
|
+
options: TShapeOptions = {}
|
|
166
|
+
) {
|
|
167
|
+
super(x, y, color, { filled: true, rotation: true, ...options });
|
|
168
|
+
this.type = "star";
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
draw = (
|
|
172
|
+
ctx: CanvasRenderingContext2D,
|
|
173
|
+
config: TShadeConfig,
|
|
174
|
+
offset: TPoint
|
|
175
|
+
) => {
|
|
176
|
+
const { gradRatio, nbrShades, totalWidth, totalHeight, center, width } =
|
|
177
|
+
config;
|
|
178
|
+
|
|
179
|
+
for (let i = 0; i < nbrShades; i++) {
|
|
180
|
+
this.setColors(ctx, gradRatio, i);
|
|
181
|
+
ctx.beginPath();
|
|
182
|
+
|
|
183
|
+
const x =
|
|
184
|
+
center.x +
|
|
185
|
+
(this.position.x - totalWidth / 2 + width / 2) +
|
|
186
|
+
offset.x * (1 - (gradRatio * i) / 100);
|
|
187
|
+
const y =
|
|
188
|
+
center.y +
|
|
189
|
+
(this.position.y - totalHeight / 2 + width / 2) +
|
|
190
|
+
offset.y * (1 - (gradRatio * i) / 100);
|
|
191
|
+
|
|
192
|
+
this.drawStar(ctx, x, y, width / 2, width / 4, 5);
|
|
193
|
+
this.drawPath(ctx);
|
|
194
|
+
ctx.closePath();
|
|
195
|
+
|
|
196
|
+
if (this.rotation) {
|
|
197
|
+
this.angle += ((0.5 / nbrShades) * Math.PI) / 180;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
private drawStar(
|
|
203
|
+
ctx: CanvasRenderingContext2D,
|
|
204
|
+
x: number,
|
|
205
|
+
y: number,
|
|
206
|
+
outer: number,
|
|
207
|
+
inner: number,
|
|
208
|
+
points: number
|
|
209
|
+
) {
|
|
210
|
+
const step = Math.PI / points;
|
|
211
|
+
let rot = (Math.PI / 2) * 3 + this.angle;
|
|
212
|
+
|
|
213
|
+
ctx.moveTo(x, y - outer);
|
|
214
|
+
for (let i = 0; i < points; i++) {
|
|
215
|
+
ctx.lineTo(x + Math.cos(rot) * outer, y + Math.sin(rot) * outer);
|
|
216
|
+
rot += step;
|
|
217
|
+
ctx.lineTo(x + Math.cos(rot) * inner, y + Math.sin(rot) * inner);
|
|
218
|
+
rot += step;
|
|
219
|
+
}
|
|
220
|
+
ctx.lineTo(x, y - outer);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Using Custom Shapes
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
import { ShadesEngine } from "@amphore-dev/shades";
|
|
229
|
+
import { StarShape } from "./StarShape";
|
|
230
|
+
|
|
231
|
+
const engine = new ShadesEngine(canvas, {
|
|
232
|
+
shapes: ["star", "circle", "heart"], // Mix built-in and custom
|
|
233
|
+
customShapes: {
|
|
234
|
+
star: StarShape, // Register your custom shape
|
|
235
|
+
},
|
|
236
|
+
fadeDuration: 800,
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
engine.generate();
|
|
240
|
+
engine.start();
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
### Benefits
|
|
244
|
+
|
|
245
|
+
- ✅ **Full extensibility** - Create any imaginable shape
|
|
246
|
+
- ✅ **Seamless integration** - Mix with built-in shapes
|
|
247
|
+
- ✅ **Type safety** - Complete TypeScript support
|
|
248
|
+
- ✅ **Performance** - No overhead, direct compilation
|
|
249
|
+
|
|
250
|
+
## Advanced Usage
|
|
251
|
+
|
|
252
|
+
```typescript
|
|
253
|
+
import { ShadesEngine } from "@amphore-dev/shades";
|
|
254
|
+
|
|
255
|
+
const shades = new ShadesEngine(canvas, {
|
|
256
|
+
shapes: [
|
|
257
|
+
{
|
|
258
|
+
type: "circle",
|
|
259
|
+
nbrItemsX: 10,
|
|
260
|
+
nbrItemsY: 10,
|
|
261
|
+
spacing: 20,
|
|
262
|
+
colors: [
|
|
263
|
+
{ r: 255, g: 100, b: 100 },
|
|
264
|
+
{ r: 100, g: 255, b: 100 },
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
],
|
|
268
|
+
});
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Advanced Usage
|
|
272
|
+
|
|
273
|
+
### Custom Colors
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
import { ShadesEngine, getRandColors } from "@amphore-dev/shades";
|
|
277
|
+
|
|
278
|
+
const customColors = [
|
|
279
|
+
{ r: 255, g: 0, b: 0 },
|
|
280
|
+
{ r: 0, g: 255, b: 0 },
|
|
281
|
+
{ r: 0, g: 0, b: 255 },
|
|
282
|
+
];
|
|
283
|
+
|
|
284
|
+
const shades = new ShadesEngine(canvas, {
|
|
285
|
+
shapes: [{ colors: customColors }],
|
|
286
|
+
});
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Event Handling
|
|
290
|
+
|
|
291
|
+
The engine automatically handles:
|
|
292
|
+
|
|
293
|
+
- Canvas resize
|
|
294
|
+
- Mouse/touch events
|
|
295
|
+
- Animation frame management
|
|
296
|
+
- Memory cleanup
|
|
297
|
+
|
|
298
|
+
## Examples
|
|
299
|
+
|
|
300
|
+
Check out `example/example-vanilla.html` for a complete example with controls.
|
|
301
|
+
|
|
302
|
+
## Building From Source
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
git clone https://github.com/Amphore-Dev/shades.git
|
|
306
|
+
cd shades
|
|
307
|
+
npm install
|
|
308
|
+
npm run build
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## License
|
|
312
|
+
|
|
313
|
+
MIT © [Your Name]
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
**Framework-agnostic by design** 🚀
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ShadeItem } from "./index.js";
|
|
2
|
+
import { TShadeConfig, TShadeTypeConstructor, TShadeType } from "../types/index.js";
|
|
3
|
+
export type TShadesEngineDebugOptions = {
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export type TShadesEngineOptions = {
|
|
7
|
+
shapes?: TShadeType[];
|
|
8
|
+
customShapes?: Record<string, TShadeTypeConstructor>;
|
|
9
|
+
randomized?: boolean;
|
|
10
|
+
debug?: boolean | TShadesEngineDebugOptions;
|
|
11
|
+
fadeDuration?: number;
|
|
12
|
+
};
|
|
13
|
+
export declare class ShadesEngine {
|
|
14
|
+
private canvas;
|
|
15
|
+
private context;
|
|
16
|
+
private options;
|
|
17
|
+
private items;
|
|
18
|
+
private config;
|
|
19
|
+
private offset;
|
|
20
|
+
private targetOffset;
|
|
21
|
+
private genCount;
|
|
22
|
+
private fade;
|
|
23
|
+
private animationFrameId;
|
|
24
|
+
private isPlaying;
|
|
25
|
+
private elapsedTime;
|
|
26
|
+
private framesCount;
|
|
27
|
+
private boundHandleClick;
|
|
28
|
+
private boundHandleMouseMove;
|
|
29
|
+
private boundHandleWheel;
|
|
30
|
+
private boundHandleResize;
|
|
31
|
+
private debug;
|
|
32
|
+
private debugContainer;
|
|
33
|
+
constructor(canvas: HTMLCanvasElement, options?: TShadesEngineOptions);
|
|
34
|
+
private setupCanvas;
|
|
35
|
+
generate(): void;
|
|
36
|
+
private initDefaultGeneration;
|
|
37
|
+
private getConfig;
|
|
38
|
+
private genItems;
|
|
39
|
+
private animate;
|
|
40
|
+
private getCenter;
|
|
41
|
+
private handleMouseMove;
|
|
42
|
+
private zoomShades;
|
|
43
|
+
private handleWheel;
|
|
44
|
+
private handleClick;
|
|
45
|
+
private handleResize;
|
|
46
|
+
private attachEventListeners;
|
|
47
|
+
private detachEventListeners;
|
|
48
|
+
start(): void;
|
|
49
|
+
pause(): void;
|
|
50
|
+
destroy(): void;
|
|
51
|
+
regenerate(): void;
|
|
52
|
+
getShadesConfig(): TShadeConfig;
|
|
53
|
+
getItems(): ShadeItem[];
|
|
54
|
+
isAnimating(): boolean;
|
|
55
|
+
zoom(scale: number): void;
|
|
56
|
+
private initializeDebug;
|
|
57
|
+
private startFPSCounter;
|
|
58
|
+
private updateDebug;
|
|
59
|
+
getDebugInfo(): {
|
|
60
|
+
genCount: number;
|
|
61
|
+
config: TShadeConfig;
|
|
62
|
+
};
|
|
63
|
+
setDebug(value: boolean | TShadesEngineDebugOptions): void;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=ShadesEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShadesEngine.d.ts","sourceRoot":"","sources":["../../src/classes/ShadesEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,YAAY,CAAC;AAC9D,OAAO,EAGL,YAAY,EAEZ,qBAAqB,EACrB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAuB;IAGtC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,IAAI,CAOV;IAGF,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAwB;IAG3C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,cAAc,CAA+B;gBAEzC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,oBAAyB;IA0BzE,OAAO,CAAC,WAAW;IAKZ,QAAQ,IAAI,IAAI;IA0BvB,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,QAAQ;IA4EhB,OAAO,CAAC,OAAO;IAyEf,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IASrB,KAAK,IAAI,IAAI;IAQb,KAAK,IAAI,IAAI;IAQb,OAAO,IAAI,IAAI;IAiBf,UAAU,IAAI,IAAI;IAIlB,eAAe,IAAI,YAAY;IAI/B,QAAQ,IAAI,SAAS,EAAE;IAIvB,WAAW,IAAI,OAAO;IAItB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMhC,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,WAAW;IAeZ,YAAY,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE;IAO1D,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI;CAWlE"}
|