litecanvas 0.103.4 → 0.103.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.
- package/README.md +7 -3
- package/dist/dist.dev.js +652 -807
- package/dist/dist.js +261 -636
- package/dist/dist.min.js +1 -1
- package/package.json +3 -3
- package/src/dev.js +1 -1
- package/src/index.js +158 -141
- package/src/version.js +1 -1
package/src/index.js
CHANGED
|
@@ -14,7 +14,9 @@ export default function litecanvas(settings = {}) {
|
|
|
14
14
|
const /** @type {Window} */
|
|
15
15
|
root = window,
|
|
16
16
|
math = Math,
|
|
17
|
+
perf = performance,
|
|
17
18
|
TWO_PI = math.PI * 2,
|
|
19
|
+
loggerPrefix = '[Litecanvas] ',
|
|
18
20
|
raf = requestAnimationFrame,
|
|
19
21
|
/** @type {Function[]} */
|
|
20
22
|
_browserEventListeners = [],
|
|
@@ -141,9 +143,9 @@ export default function litecanvas(settings = {}) {
|
|
|
141
143
|
* @tutorial https://gamedev.net/tutorials/programming/general-and-gameplay-programming/a-brief-introduction-to-lerp-r4954/
|
|
142
144
|
*/
|
|
143
145
|
lerp: (start, end, t) => {
|
|
144
|
-
DEV: assert(isNumber(start), '
|
|
145
|
-
DEV: assert(isNumber(end), '
|
|
146
|
-
DEV: assert(isNumber(t), '
|
|
146
|
+
DEV: assert(isNumber(start), loggerPrefix + 'lerp() 1st param must be a number')
|
|
147
|
+
DEV: assert(isNumber(end), loggerPrefix + 'lerp() 2nd param must be a number')
|
|
148
|
+
DEV: assert(isNumber(t), loggerPrefix + 'lerp() 3rd param must be a number')
|
|
147
149
|
|
|
148
150
|
return start + t * (end - start)
|
|
149
151
|
},
|
|
@@ -182,10 +184,10 @@ export default function litecanvas(settings = {}) {
|
|
|
182
184
|
* @returns {number} rounded number.
|
|
183
185
|
*/
|
|
184
186
|
round: (n, precision = 0) => {
|
|
185
|
-
DEV: assert(isNumber(n), '
|
|
187
|
+
DEV: assert(isNumber(n), loggerPrefix + 'round() 1st param must be a number')
|
|
186
188
|
DEV: assert(
|
|
187
189
|
isNumber(precision) && precision >= 0,
|
|
188
|
-
'
|
|
190
|
+
loggerPrefix + 'round() 2nd param must be a positive number or zero'
|
|
189
191
|
)
|
|
190
192
|
|
|
191
193
|
if (!precision) {
|
|
@@ -204,12 +206,12 @@ export default function litecanvas(settings = {}) {
|
|
|
204
206
|
* @returns {number}
|
|
205
207
|
*/
|
|
206
208
|
clamp: (value, min, max) => {
|
|
207
|
-
DEV: assert(isNumber(value), '
|
|
208
|
-
DEV: assert(isNumber(min), '
|
|
209
|
-
DEV: assert(isNumber(max), '
|
|
209
|
+
DEV: assert(isNumber(value), loggerPrefix + 'clamp() 1st param must be a number')
|
|
210
|
+
DEV: assert(isNumber(min), loggerPrefix + 'clamp() 2nd param must be a number')
|
|
211
|
+
DEV: assert(isNumber(max), loggerPrefix + 'clamp() 3rd param must be a number')
|
|
210
212
|
DEV: assert(
|
|
211
213
|
max > min,
|
|
212
|
-
'
|
|
214
|
+
loggerPrefix + 'clamp() the 2nd param must be less than the 3rd param'
|
|
213
215
|
)
|
|
214
216
|
|
|
215
217
|
if (value < min) return min
|
|
@@ -227,10 +229,10 @@ export default function litecanvas(settings = {}) {
|
|
|
227
229
|
* @returns {number}
|
|
228
230
|
*/
|
|
229
231
|
dist: (x1, y1, x2, y2) => {
|
|
230
|
-
DEV: assert(isNumber(x1), '
|
|
231
|
-
DEV: assert(isNumber(y1), '
|
|
232
|
-
DEV: assert(isNumber(x2), '
|
|
233
|
-
DEV: assert(isNumber(y2), '
|
|
232
|
+
DEV: assert(isNumber(x1), loggerPrefix + 'dist() 1st param must be a number')
|
|
233
|
+
DEV: assert(isNumber(y1), loggerPrefix + 'dist() 2nd param must be a number')
|
|
234
|
+
DEV: assert(isNumber(x2), loggerPrefix + 'dist() 3rd param must be a number')
|
|
235
|
+
DEV: assert(isNumber(y2), loggerPrefix + 'dist() 4th param must be a number')
|
|
234
236
|
|
|
235
237
|
return math.hypot(x2 - x1, y2 - y1)
|
|
236
238
|
},
|
|
@@ -244,12 +246,12 @@ export default function litecanvas(settings = {}) {
|
|
|
244
246
|
* @returns {number}
|
|
245
247
|
*/
|
|
246
248
|
wrap: (value, min, max) => {
|
|
247
|
-
DEV: assert(isNumber(value), '
|
|
248
|
-
DEV: assert(isNumber(min), '
|
|
249
|
-
DEV: assert(isNumber(max), '
|
|
249
|
+
DEV: assert(isNumber(value), loggerPrefix + 'wrap() 1st param must be a number')
|
|
250
|
+
DEV: assert(isNumber(min), loggerPrefix + 'wrap() 2nd param must be a number')
|
|
251
|
+
DEV: assert(isNumber(max), loggerPrefix + 'wrap() 3rd param must be a number')
|
|
250
252
|
DEV: assert(
|
|
251
253
|
max > min,
|
|
252
|
-
'
|
|
254
|
+
loggerPrefix + 'wrap() the 2nd param must be less than the 3rd param'
|
|
253
255
|
)
|
|
254
256
|
|
|
255
257
|
return value - (max - min) * math.floor((value - min) / (max - min))
|
|
@@ -267,14 +269,14 @@ export default function litecanvas(settings = {}) {
|
|
|
267
269
|
* @returns {number} the remapped number
|
|
268
270
|
*/
|
|
269
271
|
map(value, start1, stop1, start2, stop2, withinBounds) {
|
|
270
|
-
DEV: assert(isNumber(value), '
|
|
271
|
-
DEV: assert(isNumber(start1), '
|
|
272
|
-
DEV: assert(isNumber(stop1), '
|
|
273
|
-
DEV: assert(isNumber(start2), '
|
|
274
|
-
DEV: assert(isNumber(stop2), '
|
|
272
|
+
DEV: assert(isNumber(value), loggerPrefix + 'map() 1st param must be a number')
|
|
273
|
+
DEV: assert(isNumber(start1), loggerPrefix + 'map() 2nd param must be a number')
|
|
274
|
+
DEV: assert(isNumber(stop1), loggerPrefix + 'map() 3rd param must be a number')
|
|
275
|
+
DEV: assert(isNumber(start2), loggerPrefix + 'map() 4th param must be a number')
|
|
276
|
+
DEV: assert(isNumber(stop2), loggerPrefix + 'map() 5th param must be a number')
|
|
275
277
|
DEV: assert(
|
|
276
278
|
stop1 !== start1,
|
|
277
|
-
'
|
|
279
|
+
loggerPrefix + 'map() the 2nd param must be different than the 3rd param'
|
|
278
280
|
)
|
|
279
281
|
|
|
280
282
|
// prettier-ignore
|
|
@@ -293,12 +295,12 @@ export default function litecanvas(settings = {}) {
|
|
|
293
295
|
* @returns {number} the normalized number.
|
|
294
296
|
*/
|
|
295
297
|
norm: (value, start, stop) => {
|
|
296
|
-
DEV: assert(isNumber(value), '
|
|
297
|
-
DEV: assert(isNumber(start), '
|
|
298
|
-
DEV: assert(isNumber(stop), '
|
|
298
|
+
DEV: assert(isNumber(value), loggerPrefix + 'norm() 1st param must be a number')
|
|
299
|
+
DEV: assert(isNumber(start), loggerPrefix + 'norm() 2nd param must be a number')
|
|
300
|
+
DEV: assert(isNumber(stop), loggerPrefix + 'norm() 3rd param must be a number')
|
|
299
301
|
DEV: assert(
|
|
300
302
|
start !== stop,
|
|
301
|
-
'
|
|
303
|
+
loggerPrefix + 'norm() the 2nd param must be different than the 3rd param'
|
|
302
304
|
)
|
|
303
305
|
|
|
304
306
|
return instance.map(value, start, stop, 0, 1)
|
|
@@ -314,11 +316,11 @@ export default function litecanvas(settings = {}) {
|
|
|
314
316
|
* @returns {number} the random number
|
|
315
317
|
*/
|
|
316
318
|
rand: (min = 0.0, max = 1.0) => {
|
|
317
|
-
DEV: assert(isNumber(min), '
|
|
318
|
-
DEV: assert(isNumber(max), '
|
|
319
|
+
DEV: assert(isNumber(min), loggerPrefix + 'rand() 1st param must be a number')
|
|
320
|
+
DEV: assert(isNumber(max), loggerPrefix + 'rand() 2nd param must be a number')
|
|
319
321
|
DEV: assert(
|
|
320
322
|
max > min,
|
|
321
|
-
'
|
|
323
|
+
loggerPrefix + 'rand() the 1st param must be less than the 2nd param'
|
|
322
324
|
)
|
|
323
325
|
|
|
324
326
|
const a = 1664525
|
|
@@ -338,14 +340,14 @@ export default function litecanvas(settings = {}) {
|
|
|
338
340
|
* @returns {number} the random number
|
|
339
341
|
*/
|
|
340
342
|
randi: (min = 0, max = 1) => {
|
|
341
|
-
DEV: assert(isNumber(min), '
|
|
342
|
-
DEV: assert(isNumber(max), '
|
|
343
|
+
DEV: assert(isNumber(min), loggerPrefix + 'randi() 1st param must be a number')
|
|
344
|
+
DEV: assert(isNumber(max), loggerPrefix + 'randi() 2nd param must be a number')
|
|
343
345
|
DEV: assert(
|
|
344
346
|
min <= max,
|
|
345
|
-
'
|
|
347
|
+
loggerPrefix + 'randi() the 1st param must be less than the 2nd param'
|
|
346
348
|
)
|
|
347
349
|
|
|
348
|
-
return
|
|
350
|
+
return ~~instance.rand(min, max + 1)
|
|
349
351
|
},
|
|
350
352
|
|
|
351
353
|
/**
|
|
@@ -358,7 +360,7 @@ export default function litecanvas(settings = {}) {
|
|
|
358
360
|
rseed(value) {
|
|
359
361
|
DEV: assert(
|
|
360
362
|
isNumber(value) && value >= 0,
|
|
361
|
-
'
|
|
363
|
+
loggerPrefix + 'rseed() 1st param must be a positive integer or zero'
|
|
362
364
|
)
|
|
363
365
|
|
|
364
366
|
_rngSeed = ~~value
|
|
@@ -373,13 +375,13 @@ export default function litecanvas(settings = {}) {
|
|
|
373
375
|
cls(color) {
|
|
374
376
|
DEV: assert(
|
|
375
377
|
null == color || (isNumber(color) && color >= 0),
|
|
376
|
-
'
|
|
378
|
+
loggerPrefix + 'cls() 1st param must be a positive number or zero or undefined'
|
|
377
379
|
)
|
|
378
380
|
|
|
379
381
|
if (null == color) {
|
|
380
|
-
_ctx.clearRect(0, 0,
|
|
382
|
+
_ctx.clearRect(0, 0, instance.W, instance.H)
|
|
381
383
|
} else {
|
|
382
|
-
instance.rectfill(0, 0,
|
|
384
|
+
instance.rectfill(0, 0, instance.W, instance.H, color)
|
|
383
385
|
}
|
|
384
386
|
},
|
|
385
387
|
|
|
@@ -396,23 +398,23 @@ export default function litecanvas(settings = {}) {
|
|
|
396
398
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect
|
|
397
399
|
*/
|
|
398
400
|
rect(x, y, width, height, color, radii) {
|
|
399
|
-
DEV: assert(isNumber(x), '
|
|
400
|
-
DEV: assert(isNumber(y), '
|
|
401
|
+
DEV: assert(isNumber(x), loggerPrefix + 'rect() 1st param must be a number')
|
|
402
|
+
DEV: assert(isNumber(y), loggerPrefix + 'rect() 2nd param must be a number')
|
|
401
403
|
DEV: assert(
|
|
402
404
|
isNumber(width) && width > 0,
|
|
403
|
-
'
|
|
405
|
+
loggerPrefix + 'rect() 3rd param must be a positive number'
|
|
404
406
|
)
|
|
405
407
|
DEV: assert(
|
|
406
408
|
isNumber(height) && height >= 0,
|
|
407
|
-
'
|
|
409
|
+
loggerPrefix + 'rect() 4th param must be a positive number or zero'
|
|
408
410
|
)
|
|
409
411
|
DEV: assert(
|
|
410
412
|
null == color || (isNumber(color) && color >= 0),
|
|
411
|
-
'
|
|
413
|
+
loggerPrefix + 'rect() 5th param must be a positive number or zero'
|
|
412
414
|
)
|
|
413
415
|
DEV: assert(
|
|
414
416
|
null == radii || isNumber(radii) || (Array.isArray(radii) && radii.length >= 1),
|
|
415
|
-
'
|
|
417
|
+
loggerPrefix + 'rect() 6th param must be a number or array of numbers'
|
|
416
418
|
)
|
|
417
419
|
|
|
418
420
|
beginPath(_ctx)
|
|
@@ -437,23 +439,24 @@ export default function litecanvas(settings = {}) {
|
|
|
437
439
|
* @param {number|number[]} [radii] A number or list specifying the radii used to draw a rounded-borders rectangle
|
|
438
440
|
*/
|
|
439
441
|
rectfill(x, y, width, height, color, radii) {
|
|
440
|
-
DEV: assert(isNumber(x), '
|
|
441
|
-
DEV: assert(isNumber(y), '
|
|
442
|
+
DEV: assert(isNumber(x), loggerPrefix + 'rectfill() 1st param must be a number')
|
|
443
|
+
DEV: assert(isNumber(y), loggerPrefix + 'rectfill() 2nd param must be a number')
|
|
442
444
|
DEV: assert(
|
|
443
445
|
isNumber(width) && width >= 0,
|
|
444
|
-
'
|
|
446
|
+
loggerPrefix + 'rectfill() 3rd param must be a positive number or zero'
|
|
445
447
|
)
|
|
446
448
|
DEV: assert(
|
|
447
449
|
isNumber(height) && height >= 0,
|
|
448
|
-
'
|
|
450
|
+
loggerPrefix + 'rectfill() 4th param must be a positive number or zero'
|
|
449
451
|
)
|
|
450
452
|
DEV: assert(
|
|
451
453
|
null == color || (isNumber(color) && color >= 0),
|
|
452
|
-
'
|
|
454
|
+
loggerPrefix + 'rectfill() 5th param must be a positive number or zero'
|
|
453
455
|
)
|
|
454
456
|
DEV: assert(
|
|
455
457
|
null == radii || isNumber(radii) || (Array.isArray(radii) && radii.length >= 1),
|
|
456
|
-
|
|
458
|
+
loggerPrefix +
|
|
459
|
+
'rectfill() 6th param must be a number or array of at least 2 numbers'
|
|
457
460
|
)
|
|
458
461
|
|
|
459
462
|
beginPath(_ctx)
|
|
@@ -470,15 +473,15 @@ export default function litecanvas(settings = {}) {
|
|
|
470
473
|
* @param {number} [color=0] the color index
|
|
471
474
|
*/
|
|
472
475
|
circ(x, y, radius, color) {
|
|
473
|
-
DEV: assert(isNumber(x), '
|
|
474
|
-
DEV: assert(isNumber(y), '
|
|
476
|
+
DEV: assert(isNumber(x), loggerPrefix + 'circ() 1st param must be a number')
|
|
477
|
+
DEV: assert(isNumber(y), loggerPrefix + 'circ() 2nd param must be a number')
|
|
475
478
|
DEV: assert(
|
|
476
479
|
isNumber(radius) && radius >= 0,
|
|
477
|
-
'
|
|
480
|
+
loggerPrefix + 'circ() 3rd param must be a positive number or zero'
|
|
478
481
|
)
|
|
479
482
|
DEV: assert(
|
|
480
483
|
null == color || (isNumber(color) && color >= 0),
|
|
481
|
-
'
|
|
484
|
+
loggerPrefix + 'circ() 4th param must be a positive number or zero'
|
|
482
485
|
)
|
|
483
486
|
|
|
484
487
|
beginPath(_ctx)
|
|
@@ -495,15 +498,15 @@ export default function litecanvas(settings = {}) {
|
|
|
495
498
|
* @param {number} [color=0] the color index
|
|
496
499
|
*/
|
|
497
500
|
circfill(x, y, radius, color) {
|
|
498
|
-
DEV: assert(isNumber(x), '
|
|
499
|
-
DEV: assert(isNumber(y), '
|
|
501
|
+
DEV: assert(isNumber(x), loggerPrefix + 'circfill() 1st param must be a number')
|
|
502
|
+
DEV: assert(isNumber(y), loggerPrefix + 'circfill() 2nd param must be a number')
|
|
500
503
|
DEV: assert(
|
|
501
504
|
isNumber(radius) && radius >= 0,
|
|
502
|
-
'
|
|
505
|
+
loggerPrefix + 'circfill() 3rd param must be a positive number or zero'
|
|
503
506
|
)
|
|
504
507
|
DEV: assert(
|
|
505
508
|
null == color || (isNumber(color) && color >= 0),
|
|
506
|
-
'
|
|
509
|
+
loggerPrefix + 'circfill() 4th param must be a positive number or zero'
|
|
507
510
|
)
|
|
508
511
|
|
|
509
512
|
beginPath(_ctx)
|
|
@@ -521,19 +524,19 @@ export default function litecanvas(settings = {}) {
|
|
|
521
524
|
* @param {number} [color=0] the color index
|
|
522
525
|
*/
|
|
523
526
|
oval(x, y, radiusX, radiusY, color) {
|
|
524
|
-
DEV: assert(isNumber(x), '
|
|
525
|
-
DEV: assert(isNumber(y), '
|
|
527
|
+
DEV: assert(isNumber(x), loggerPrefix + 'oval() 1st param must be a number')
|
|
528
|
+
DEV: assert(isNumber(y), loggerPrefix + 'oval() 2nd param must be a number')
|
|
526
529
|
DEV: assert(
|
|
527
530
|
isNumber(radiusX) && radiusX >= 0,
|
|
528
|
-
'
|
|
531
|
+
loggerPrefix + 'oval() 3rd param must be a positive number or zero'
|
|
529
532
|
)
|
|
530
533
|
DEV: assert(
|
|
531
534
|
isNumber(radiusY) && radiusY >= 0,
|
|
532
|
-
'
|
|
535
|
+
loggerPrefix + 'oval() 4th param must be a positive number or zero'
|
|
533
536
|
)
|
|
534
537
|
DEV: assert(
|
|
535
538
|
null == color || (isNumber(color) && color >= 0),
|
|
536
|
-
'
|
|
539
|
+
loggerPrefix + 'oval() 5th param must be a positive number or zero'
|
|
537
540
|
)
|
|
538
541
|
|
|
539
542
|
beginPath(_ctx)
|
|
@@ -551,19 +554,19 @@ export default function litecanvas(settings = {}) {
|
|
|
551
554
|
* @param {number} [color=0] the color index
|
|
552
555
|
*/
|
|
553
556
|
ovalfill(x, y, radiusX, radiusY, color) {
|
|
554
|
-
DEV: assert(isNumber(x), '
|
|
555
|
-
DEV: assert(isNumber(y), '
|
|
557
|
+
DEV: assert(isNumber(x), loggerPrefix + 'ovalfill() 1st param must be a number')
|
|
558
|
+
DEV: assert(isNumber(y), loggerPrefix + 'ovalfill() 2nd param must be a number')
|
|
556
559
|
DEV: assert(
|
|
557
560
|
isNumber(radiusX) && radiusX >= 0,
|
|
558
|
-
'
|
|
561
|
+
loggerPrefix + 'ovalfill() 3rd param must be a positive number or zero'
|
|
559
562
|
)
|
|
560
563
|
DEV: assert(
|
|
561
564
|
isNumber(radiusY) && radiusY >= 0,
|
|
562
|
-
'
|
|
565
|
+
loggerPrefix + 'ovalfill() 4th param must be a positive number or zero'
|
|
563
566
|
)
|
|
564
567
|
DEV: assert(
|
|
565
568
|
null == color || (isNumber(color) && color >= 0),
|
|
566
|
-
'
|
|
569
|
+
loggerPrefix + 'ovalfill() 5th param must be a positive number or zero'
|
|
567
570
|
)
|
|
568
571
|
|
|
569
572
|
beginPath(_ctx)
|
|
@@ -580,11 +583,12 @@ export default function litecanvas(settings = {}) {
|
|
|
580
583
|
shape(points) {
|
|
581
584
|
DEV: assert(
|
|
582
585
|
Array.isArray(points),
|
|
583
|
-
'
|
|
586
|
+
loggerPrefix + 'shape() 1st param must be an array of numbers'
|
|
584
587
|
)
|
|
585
588
|
DEV: assert(
|
|
586
589
|
points.length >= 6,
|
|
587
|
-
|
|
590
|
+
loggerPrefix +
|
|
591
|
+
'shape() 1st param must be an array with at least 6 numbers (3 points)'
|
|
588
592
|
)
|
|
589
593
|
beginPath(_ctx)
|
|
590
594
|
for (let i = 0; i < points.length; i += 2) {
|
|
@@ -607,19 +611,19 @@ export default function litecanvas(settings = {}) {
|
|
|
607
611
|
* @param {number} [color=0] the color index
|
|
608
612
|
*/
|
|
609
613
|
line(x1, y1, x2, y2, color) {
|
|
610
|
-
DEV: assert(isNumber(x1), '
|
|
611
|
-
DEV: assert(isNumber(y1), '
|
|
614
|
+
DEV: assert(isNumber(x1), loggerPrefix + 'line() 1st param must be a number')
|
|
615
|
+
DEV: assert(isNumber(y1), loggerPrefix + 'line() 2nd param must be a number')
|
|
612
616
|
DEV: assert(
|
|
613
617
|
isNumber(x2),
|
|
614
|
-
'
|
|
618
|
+
loggerPrefix + 'line() 3rd param must be a positive number or zero'
|
|
615
619
|
)
|
|
616
620
|
DEV: assert(
|
|
617
621
|
isNumber(y2),
|
|
618
|
-
'
|
|
622
|
+
loggerPrefix + 'line() 4th param must be a positive number or zero'
|
|
619
623
|
)
|
|
620
624
|
DEV: assert(
|
|
621
625
|
null == color || (isNumber(color) && color >= 0),
|
|
622
|
-
'
|
|
626
|
+
loggerPrefix + 'line() 5th param must be a positive number or zero'
|
|
623
627
|
)
|
|
624
628
|
|
|
625
629
|
beginPath(_ctx)
|
|
@@ -642,7 +646,7 @@ export default function litecanvas(settings = {}) {
|
|
|
642
646
|
linewidth(value) {
|
|
643
647
|
DEV: assert(
|
|
644
648
|
isNumber(value) && value >= 0,
|
|
645
|
-
'
|
|
649
|
+
loggerPrefix + 'linewidth() 1st param must be a positive number or zero'
|
|
646
650
|
)
|
|
647
651
|
|
|
648
652
|
_ctx.lineWidth = ~~value
|
|
@@ -660,9 +664,9 @@ export default function litecanvas(settings = {}) {
|
|
|
660
664
|
linedash(segments, offset = 0) {
|
|
661
665
|
DEV: assert(
|
|
662
666
|
Array.isArray(segments) && segments.length > 0,
|
|
663
|
-
'
|
|
667
|
+
loggerPrefix + 'linedash() 1st param must be an array of numbers'
|
|
664
668
|
)
|
|
665
|
-
DEV: assert(isNumber(offset), '
|
|
669
|
+
DEV: assert(isNumber(offset), loggerPrefix + 'linedash() 2nd param must be a number')
|
|
666
670
|
|
|
667
671
|
_ctx.setLineDash(segments)
|
|
668
672
|
_ctx.lineDashOffset = offset
|
|
@@ -679,15 +683,15 @@ export default function litecanvas(settings = {}) {
|
|
|
679
683
|
* @param {string} [fontStyle] can be "normal" (default), "italic" and/or "bold".
|
|
680
684
|
*/
|
|
681
685
|
text(x, y, message, color = _defaultTextColor, fontStyle = 'normal') {
|
|
682
|
-
DEV: assert(isNumber(x), '
|
|
683
|
-
DEV: assert(isNumber(y), '
|
|
686
|
+
DEV: assert(isNumber(x), loggerPrefix + 'text() 1st param must be a number')
|
|
687
|
+
DEV: assert(isNumber(y), loggerPrefix + 'text() 2nd param must be a number')
|
|
684
688
|
DEV: assert(
|
|
685
689
|
null == color || (isNumber(color) && color >= 0),
|
|
686
|
-
'
|
|
690
|
+
loggerPrefix + 'text() 4th param must be a positive number or zero'
|
|
687
691
|
)
|
|
688
692
|
DEV: assert(
|
|
689
693
|
'string' === typeof fontStyle,
|
|
690
|
-
'
|
|
694
|
+
loggerPrefix + 'text() 5th param must be a string'
|
|
691
695
|
)
|
|
692
696
|
|
|
693
697
|
_ctx.font = `${fontStyle} ${_fontSize}px ${_fontFamily}`
|
|
@@ -718,7 +722,7 @@ export default function litecanvas(settings = {}) {
|
|
|
718
722
|
textfont(family) {
|
|
719
723
|
DEV: assert(
|
|
720
724
|
'string' === typeof family,
|
|
721
|
-
'
|
|
725
|
+
loggerPrefix + 'textfont() 1st param must be a string'
|
|
722
726
|
)
|
|
723
727
|
|
|
724
728
|
_fontFamily = family
|
|
@@ -730,7 +734,7 @@ export default function litecanvas(settings = {}) {
|
|
|
730
734
|
* @param {number} size
|
|
731
735
|
*/
|
|
732
736
|
textsize(size) {
|
|
733
|
-
DEV: assert(isNumber(size), '
|
|
737
|
+
DEV: assert(isNumber(size), loggerPrefix + 'textsize() 1st param must be a number')
|
|
734
738
|
|
|
735
739
|
_fontSize = size
|
|
736
740
|
},
|
|
@@ -746,14 +750,16 @@ export default function litecanvas(settings = {}) {
|
|
|
746
750
|
textalign(align, baseline) {
|
|
747
751
|
DEV: assert(
|
|
748
752
|
null == align || ['left', 'right', 'center', 'start', 'end'].includes(align),
|
|
749
|
-
|
|
753
|
+
loggerPrefix +
|
|
754
|
+
'textalign() 1st param must be null or one of the following strings: center, left, right, start or end.'
|
|
750
755
|
)
|
|
751
756
|
DEV: assert(
|
|
752
757
|
null == baseline ||
|
|
753
758
|
['top', 'bottom', 'middle', 'hanging', 'alphabetic', 'ideographic'].includes(
|
|
754
759
|
baseline
|
|
755
760
|
),
|
|
756
|
-
|
|
761
|
+
loggerPrefix +
|
|
762
|
+
'textalign() 2nd param must be null or one of the following strings: middle, top, bottom, hanging, alphabetic or ideographic.'
|
|
757
763
|
)
|
|
758
764
|
|
|
759
765
|
if (align) _ctx.textAlign = align
|
|
@@ -769,8 +775,8 @@ export default function litecanvas(settings = {}) {
|
|
|
769
775
|
* @param {CanvasImageSource} source
|
|
770
776
|
*/
|
|
771
777
|
image(x, y, source) {
|
|
772
|
-
DEV: assert(isNumber(x), '
|
|
773
|
-
DEV: assert(isNumber(y), '
|
|
778
|
+
DEV: assert(isNumber(x), loggerPrefix + 'image() 1st param must be a number')
|
|
779
|
+
DEV: assert(isNumber(y), loggerPrefix + 'image() 2nd param must be a number')
|
|
774
780
|
|
|
775
781
|
_ctx.drawImage(source, ~~x, ~~y)
|
|
776
782
|
},
|
|
@@ -783,9 +789,12 @@ export default function litecanvas(settings = {}) {
|
|
|
783
789
|
* @param {string} pixels
|
|
784
790
|
*/
|
|
785
791
|
spr(x, y, pixels) {
|
|
786
|
-
DEV: assert(isNumber(x), '
|
|
787
|
-
DEV: assert(isNumber(y), '
|
|
788
|
-
DEV: assert(
|
|
792
|
+
DEV: assert(isNumber(x), loggerPrefix + 'spr() 1st param must be a number')
|
|
793
|
+
DEV: assert(isNumber(y), loggerPrefix + 'spr() 2nd param must be a number')
|
|
794
|
+
DEV: assert(
|
|
795
|
+
'string' === typeof pixels,
|
|
796
|
+
loggerPrefix + 'spr() 3rd param must be a string'
|
|
797
|
+
)
|
|
789
798
|
|
|
790
799
|
const rows = pixels.trim().split('\n')
|
|
791
800
|
|
|
@@ -815,23 +824,23 @@ export default function litecanvas(settings = {}) {
|
|
|
815
824
|
paint(width, height, callback, options = {}) {
|
|
816
825
|
DEV: assert(
|
|
817
826
|
isNumber(width) && width >= 1,
|
|
818
|
-
'
|
|
827
|
+
loggerPrefix + 'paint() 1st param must be a positive number'
|
|
819
828
|
)
|
|
820
829
|
DEV: assert(
|
|
821
830
|
isNumber(height) && height >= 1,
|
|
822
|
-
'
|
|
831
|
+
loggerPrefix + 'paint() 2nd param must be a positive number'
|
|
823
832
|
)
|
|
824
833
|
DEV: assert(
|
|
825
834
|
'function' === typeof callback,
|
|
826
|
-
'
|
|
835
|
+
loggerPrefix + 'paint() 3rd param must be a function'
|
|
827
836
|
)
|
|
828
837
|
DEV: assert(
|
|
829
838
|
(options && null == options.scale) || isNumber(options.scale),
|
|
830
|
-
'
|
|
839
|
+
loggerPrefix + 'paint() 4th param (options.scale) must be a number'
|
|
831
840
|
)
|
|
832
841
|
DEV: assert(
|
|
833
842
|
(options && null == options.canvas) || options.canvas instanceof OffscreenCanvas,
|
|
834
|
-
'
|
|
843
|
+
loggerPrefix + 'paint() 4th param (options.canvas) must be an OffscreenCanvas'
|
|
835
844
|
)
|
|
836
845
|
|
|
837
846
|
const /** @type {OffscreenCanvas} */
|
|
@@ -891,8 +900,8 @@ export default function litecanvas(settings = {}) {
|
|
|
891
900
|
* @param {number} y
|
|
892
901
|
*/
|
|
893
902
|
translate(x, y) {
|
|
894
|
-
DEV: assert(isNumber(x), '
|
|
895
|
-
DEV: assert(isNumber(y), '
|
|
903
|
+
DEV: assert(isNumber(x), loggerPrefix + 'translate() 1st param must be a number')
|
|
904
|
+
DEV: assert(isNumber(y), loggerPrefix + 'translate() 2nd param must be a number')
|
|
896
905
|
|
|
897
906
|
_ctx.translate(~~x, ~~y)
|
|
898
907
|
},
|
|
@@ -904,8 +913,11 @@ export default function litecanvas(settings = {}) {
|
|
|
904
913
|
* @param {number} [y]
|
|
905
914
|
*/
|
|
906
915
|
scale(x, y) {
|
|
907
|
-
DEV: assert(isNumber(x), '
|
|
908
|
-
DEV: assert(
|
|
916
|
+
DEV: assert(isNumber(x), loggerPrefix + 'scale() 1st param must be a number')
|
|
917
|
+
DEV: assert(
|
|
918
|
+
null == y || isNumber(y),
|
|
919
|
+
loggerPrefix + 'scale() 2nd param must be a number'
|
|
920
|
+
)
|
|
909
921
|
|
|
910
922
|
_ctx.scale(x, y || x)
|
|
911
923
|
},
|
|
@@ -916,7 +928,7 @@ export default function litecanvas(settings = {}) {
|
|
|
916
928
|
* @param {number} radians
|
|
917
929
|
*/
|
|
918
930
|
rotate(radians) {
|
|
919
|
-
DEV: assert(isNumber(radians), '
|
|
931
|
+
DEV: assert(isNumber(radians), loggerPrefix + 'rotate() 1st param must be a number')
|
|
920
932
|
|
|
921
933
|
_ctx.rotate(radians)
|
|
922
934
|
},
|
|
@@ -928,7 +940,7 @@ export default function litecanvas(settings = {}) {
|
|
|
928
940
|
* @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalAlpha
|
|
929
941
|
*/
|
|
930
942
|
alpha(value) {
|
|
931
|
-
DEV: assert(isNumber(value), '
|
|
943
|
+
DEV: assert(isNumber(value), loggerPrefix + 'alpha() 1st param must be a number')
|
|
932
944
|
|
|
933
945
|
_ctx.globalAlpha = instance.clamp(value, 0, 1)
|
|
934
946
|
},
|
|
@@ -941,7 +953,7 @@ export default function litecanvas(settings = {}) {
|
|
|
941
953
|
fill(color) {
|
|
942
954
|
DEV: assert(
|
|
943
955
|
null == color || (isNumber(color) && color >= 0),
|
|
944
|
-
'
|
|
956
|
+
loggerPrefix + 'fill() 1st param must be a positive number or zero'
|
|
945
957
|
)
|
|
946
958
|
|
|
947
959
|
_ctx.fillStyle = getColor(color)
|
|
@@ -956,7 +968,7 @@ export default function litecanvas(settings = {}) {
|
|
|
956
968
|
stroke(color) {
|
|
957
969
|
DEV: assert(
|
|
958
970
|
null == color || (isNumber(color) && color >= 0),
|
|
959
|
-
'
|
|
971
|
+
loggerPrefix + 'stroke() 1st param must be a positive number or zero'
|
|
960
972
|
)
|
|
961
973
|
|
|
962
974
|
_ctx.strokeStyle = getColor(color)
|
|
@@ -972,7 +984,7 @@ export default function litecanvas(settings = {}) {
|
|
|
972
984
|
clip(callback) {
|
|
973
985
|
DEV: assert(
|
|
974
986
|
'function' === typeof callback,
|
|
975
|
-
'
|
|
987
|
+
loggerPrefix + 'clip() 1st param must be a function'
|
|
976
988
|
)
|
|
977
989
|
|
|
978
990
|
beginPath(_ctx)
|
|
@@ -995,10 +1007,10 @@ export default function litecanvas(settings = {}) {
|
|
|
995
1007
|
sfx(zzfxParams, pitchSlide = 0, volumeFactor = 1) {
|
|
996
1008
|
DEV: assert(
|
|
997
1009
|
null == zzfxParams || Array.isArray(zzfxParams),
|
|
998
|
-
'
|
|
1010
|
+
loggerPrefix + 'sfx() 1st param must be an array'
|
|
999
1011
|
)
|
|
1000
|
-
DEV: assert(isNumber(pitchSlide), '
|
|
1001
|
-
DEV: assert(isNumber(volumeFactor), '
|
|
1012
|
+
DEV: assert(isNumber(pitchSlide), loggerPrefix + 'sfx() 2nd param must be a number')
|
|
1013
|
+
DEV: assert(isNumber(volumeFactor), loggerPrefix + 'sfx() 3rd param must be a number')
|
|
1002
1014
|
|
|
1003
1015
|
if (
|
|
1004
1016
|
!root.zzfxV ||
|
|
@@ -1030,7 +1042,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1030
1042
|
volume(value) {
|
|
1031
1043
|
DEV: assert(
|
|
1032
1044
|
isNumber(value) && value >= 0,
|
|
1033
|
-
'
|
|
1045
|
+
loggerPrefix + 'volume() 1st param must be a positive number or zero'
|
|
1034
1046
|
)
|
|
1035
1047
|
|
|
1036
1048
|
root.zzfxV = value
|
|
@@ -1052,11 +1064,11 @@ export default function litecanvas(settings = {}) {
|
|
|
1052
1064
|
use(callback, config = {}) {
|
|
1053
1065
|
DEV: assert(
|
|
1054
1066
|
'function' === typeof callback,
|
|
1055
|
-
'
|
|
1067
|
+
loggerPrefix + 'use() 1st param must be a function'
|
|
1056
1068
|
)
|
|
1057
1069
|
DEV: assert(
|
|
1058
1070
|
'object' === typeof config,
|
|
1059
|
-
'
|
|
1071
|
+
loggerPrefix + 'use() 2nd param must be an object'
|
|
1060
1072
|
)
|
|
1061
1073
|
|
|
1062
1074
|
loadPlugin(callback, config)
|
|
@@ -1072,11 +1084,11 @@ export default function litecanvas(settings = {}) {
|
|
|
1072
1084
|
listen(eventName, callback) {
|
|
1073
1085
|
DEV: assert(
|
|
1074
1086
|
'string' === typeof eventName,
|
|
1075
|
-
'
|
|
1087
|
+
loggerPrefix + 'listen() 1st param must be a string'
|
|
1076
1088
|
)
|
|
1077
1089
|
DEV: assert(
|
|
1078
1090
|
'function' === typeof callback,
|
|
1079
|
-
'
|
|
1091
|
+
loggerPrefix + 'listen() 2nd param must be a function'
|
|
1080
1092
|
)
|
|
1081
1093
|
|
|
1082
1094
|
eventName = lowerCase(eventName)
|
|
@@ -1100,7 +1112,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1100
1112
|
emit(eventName, arg1, arg2, arg3, arg4) {
|
|
1101
1113
|
DEV: assert(
|
|
1102
1114
|
'string' === typeof eventName,
|
|
1103
|
-
'
|
|
1115
|
+
loggerPrefix + 'emit() 1st param must be a string'
|
|
1104
1116
|
)
|
|
1105
1117
|
|
|
1106
1118
|
if (_initialized) {
|
|
@@ -1121,11 +1133,11 @@ export default function litecanvas(settings = {}) {
|
|
|
1121
1133
|
pal(colors, textColor = 3) {
|
|
1122
1134
|
DEV: assert(
|
|
1123
1135
|
null == colors || (Array.isArray(colors) && colors.length > 0),
|
|
1124
|
-
'
|
|
1136
|
+
loggerPrefix + 'pal() 1st param must be a array of color strings'
|
|
1125
1137
|
)
|
|
1126
1138
|
DEV: assert(
|
|
1127
1139
|
isNumber(textColor) && textColor >= 0,
|
|
1128
|
-
'
|
|
1140
|
+
loggerPrefix + 'pal() 2nd param must be a positive number or zero'
|
|
1129
1141
|
)
|
|
1130
1142
|
|
|
1131
1143
|
_colorPalette = colors || defaultPalette
|
|
@@ -1146,11 +1158,11 @@ export default function litecanvas(settings = {}) {
|
|
|
1146
1158
|
palc(a, b) {
|
|
1147
1159
|
DEV: assert(
|
|
1148
1160
|
null == a || (isNumber(a) && a >= 0),
|
|
1149
|
-
'
|
|
1161
|
+
loggerPrefix + 'palc() 1st param must be a positive number'
|
|
1150
1162
|
)
|
|
1151
1163
|
DEV: assert(
|
|
1152
1164
|
isNumber(a) ? isNumber(b) && b >= 0 : null == b,
|
|
1153
|
-
'
|
|
1165
|
+
loggerPrefix + 'palc() 2nd param must be a positive number'
|
|
1154
1166
|
)
|
|
1155
1167
|
|
|
1156
1168
|
if (a == null) {
|
|
@@ -1167,10 +1179,11 @@ export default function litecanvas(settings = {}) {
|
|
|
1167
1179
|
* @param {*} value
|
|
1168
1180
|
*/
|
|
1169
1181
|
def(key, value) {
|
|
1170
|
-
DEV: assert('string' === typeof key, '
|
|
1182
|
+
DEV: assert('string' === typeof key, loggerPrefix + 'def() 1st param must be a string')
|
|
1171
1183
|
DEV: if (null == value) {
|
|
1172
1184
|
console.warn(
|
|
1173
|
-
|
|
1185
|
+
loggerPrefix +
|
|
1186
|
+
`def() changed the key "${key}" to null (previous value was ${instance[key]})`
|
|
1174
1187
|
)
|
|
1175
1188
|
}
|
|
1176
1189
|
|
|
@@ -1190,7 +1203,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1190
1203
|
timescale(value) {
|
|
1191
1204
|
DEV: assert(
|
|
1192
1205
|
isNumber(value) && value >= 0,
|
|
1193
|
-
'
|
|
1206
|
+
loggerPrefix + 'timescale() 1st param must be a positive number or zero'
|
|
1194
1207
|
)
|
|
1195
1208
|
|
|
1196
1209
|
_timeScale = value
|
|
@@ -1204,7 +1217,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1204
1217
|
framerate(value) {
|
|
1205
1218
|
DEV: assert(
|
|
1206
1219
|
isNumber(value) && value >= 1,
|
|
1207
|
-
'
|
|
1220
|
+
loggerPrefix + 'framerate() 1st param must be a positive number'
|
|
1208
1221
|
)
|
|
1209
1222
|
|
|
1210
1223
|
_fpsInterval = 1000 / ~~value
|
|
@@ -1219,7 +1232,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1219
1232
|
stat(index) {
|
|
1220
1233
|
DEV: assert(
|
|
1221
1234
|
isNumber(index) || 'string' === typeof index,
|
|
1222
|
-
'
|
|
1235
|
+
loggerPrefix + 'stat() 1st param must be a number or string'
|
|
1223
1236
|
)
|
|
1224
1237
|
|
|
1225
1238
|
const internals = [
|
|
@@ -1275,12 +1288,13 @@ export default function litecanvas(settings = {}) {
|
|
|
1275
1288
|
resume() {
|
|
1276
1289
|
DEV: assert(
|
|
1277
1290
|
_initialized,
|
|
1278
|
-
|
|
1291
|
+
loggerPrefix +
|
|
1292
|
+
'resume() cannot be called before the "init" event and neither after the quit() function'
|
|
1279
1293
|
)
|
|
1280
1294
|
if (_initialized && _paused) {
|
|
1281
1295
|
_paused = false
|
|
1282
1296
|
_accumulated = _fpsInterval
|
|
1283
|
-
_lastFrameTime =
|
|
1297
|
+
_lastFrameTime = perf.now()
|
|
1284
1298
|
_rafid = raf(drawFrame)
|
|
1285
1299
|
}
|
|
1286
1300
|
},
|
|
@@ -1323,7 +1337,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1323
1337
|
delete root.ENGINE
|
|
1324
1338
|
}
|
|
1325
1339
|
|
|
1326
|
-
DEV: console.warn('
|
|
1340
|
+
DEV: console.warn(loggerPrefix + 'quit() terminated a Litecanvas instance.')
|
|
1327
1341
|
},
|
|
1328
1342
|
}
|
|
1329
1343
|
|
|
@@ -1367,7 +1381,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1367
1381
|
// initial y
|
|
1368
1382
|
yi: y,
|
|
1369
1383
|
// timestamp
|
|
1370
|
-
t:
|
|
1384
|
+
t: perf.now(),
|
|
1371
1385
|
}
|
|
1372
1386
|
_taps.set(id, tap)
|
|
1373
1387
|
return tap
|
|
@@ -1387,7 +1401,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1387
1401
|
/**
|
|
1388
1402
|
* @param {{t: number}} tap
|
|
1389
1403
|
*/
|
|
1390
|
-
(tap) => tap &&
|
|
1404
|
+
(tap) => tap && perf.now() - tap.t <= 300
|
|
1391
1405
|
|
|
1392
1406
|
let _pressingMouse = false
|
|
1393
1407
|
|
|
@@ -1564,7 +1578,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1564
1578
|
(key) => {
|
|
1565
1579
|
DEV: assert(
|
|
1566
1580
|
null == key || 'string' === typeof key,
|
|
1567
|
-
'
|
|
1581
|
+
loggerPrefix + 'iskeydown() 1st param must be a string or undefined'
|
|
1568
1582
|
)
|
|
1569
1583
|
return keyCheck(_keysDown, key)
|
|
1570
1584
|
}
|
|
@@ -1579,7 +1593,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1579
1593
|
(key) => {
|
|
1580
1594
|
DEV: assert(
|
|
1581
1595
|
null == key || 'string' === typeof key,
|
|
1582
|
-
'
|
|
1596
|
+
loggerPrefix + 'iskeypressed() 1st param must be a string or undefined'
|
|
1583
1597
|
)
|
|
1584
1598
|
return keyCheck(_keysPress, key)
|
|
1585
1599
|
}
|
|
@@ -1604,7 +1618,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1604
1618
|
// request the next frame
|
|
1605
1619
|
_rafid = raf(drawFrame)
|
|
1606
1620
|
|
|
1607
|
-
let now =
|
|
1621
|
+
let now = perf.now()
|
|
1608
1622
|
let updated = 0
|
|
1609
1623
|
let frameTime = now - _lastFrameTime
|
|
1610
1624
|
|
|
@@ -1626,7 +1640,8 @@ export default function litecanvas(settings = {}) {
|
|
|
1626
1640
|
if (updated > 1) {
|
|
1627
1641
|
_accumulated = 0
|
|
1628
1642
|
DEV: console.warn(
|
|
1629
|
-
|
|
1643
|
+
loggerPrefix +
|
|
1644
|
+
'the last frame updated ' +
|
|
1630
1645
|
updated +
|
|
1631
1646
|
' times. This can drop the FPS if it keeps happening.'
|
|
1632
1647
|
)
|
|
@@ -1639,7 +1654,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1639
1654
|
_canvas = document.querySelector(settings.canvas)
|
|
1640
1655
|
DEV: assert(
|
|
1641
1656
|
null != _canvas,
|
|
1642
|
-
'
|
|
1657
|
+
loggerPrefix + 'litecanvas() option "canvas" is an invalid CSS selector'
|
|
1643
1658
|
)
|
|
1644
1659
|
} else {
|
|
1645
1660
|
_canvas = settings.canvas
|
|
@@ -1649,7 +1664,8 @@ export default function litecanvas(settings = {}) {
|
|
|
1649
1664
|
|
|
1650
1665
|
DEV: assert(
|
|
1651
1666
|
'CANVAS' === _canvas.tagName,
|
|
1652
|
-
|
|
1667
|
+
loggerPrefix +
|
|
1668
|
+
'litecanvas() option "canvas" should be a canvas element or string (CSS selector)'
|
|
1653
1669
|
)
|
|
1654
1670
|
|
|
1655
1671
|
_ctx = _canvas.getContext('2d')
|
|
@@ -1669,15 +1685,16 @@ export default function litecanvas(settings = {}) {
|
|
|
1669
1685
|
function resizeCanvas() {
|
|
1670
1686
|
DEV: assert(
|
|
1671
1687
|
null == settings.width || (isNumber(settings.width) && settings.width > 0),
|
|
1672
|
-
'
|
|
1688
|
+
loggerPrefix + 'litecanvas() option "width" should be a positive number when defined'
|
|
1673
1689
|
)
|
|
1674
1690
|
DEV: assert(
|
|
1675
1691
|
null == settings.height || (isNumber(settings.height) && settings.height > 0),
|
|
1676
|
-
'
|
|
1692
|
+
loggerPrefix + 'litecanvas() option "height" should be a positive number when defined'
|
|
1677
1693
|
)
|
|
1678
1694
|
DEV: assert(
|
|
1679
1695
|
null == settings.height || (settings.width > 0 && settings.height > 0),
|
|
1680
|
-
|
|
1696
|
+
loggerPrefix +
|
|
1697
|
+
'litecanvas() option "width" is required when the option "height" is defined'
|
|
1681
1698
|
)
|
|
1682
1699
|
|
|
1683
1700
|
const width = settings.width > 0 ? settings.width : innerWidth,
|
|
@@ -1737,7 +1754,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1737
1754
|
|
|
1738
1755
|
DEV: assert(
|
|
1739
1756
|
null == pluginData || 'object' === typeof pluginData,
|
|
1740
|
-
'
|
|
1757
|
+
loggerPrefix + 'litecanvas() plugins should return an object or nothing'
|
|
1741
1758
|
)
|
|
1742
1759
|
|
|
1743
1760
|
for (const key in pluginData) {
|
|
@@ -1762,8 +1779,8 @@ export default function litecanvas(settings = {}) {
|
|
|
1762
1779
|
root.ENGINE = instance
|
|
1763
1780
|
}
|
|
1764
1781
|
|
|
1765
|
-
DEV: console.info(`
|
|
1766
|
-
DEV: console.debug(`
|
|
1782
|
+
DEV: console.info(loggerPrefix + `version ${version} started`)
|
|
1783
|
+
DEV: console.debug(loggerPrefix + `litecanvas() options =`, settings)
|
|
1767
1784
|
|
|
1768
1785
|
// setup the canvas
|
|
1769
1786
|
setupCanvas()
|
|
@@ -1772,7 +1789,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1772
1789
|
const source = settings.loop ? settings.loop : root
|
|
1773
1790
|
for (const event of _coreEvents.split(',')) {
|
|
1774
1791
|
DEV: if (root === source && source[event]) {
|
|
1775
|
-
console.info(`
|
|
1792
|
+
console.info(loggerPrefix + `using window.${event}()`)
|
|
1776
1793
|
}
|
|
1777
1794
|
if (source[event]) instance.listen(event, source[event])
|
|
1778
1795
|
}
|