modern-canvas 0.7.10 → 0.7.11
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/dist/index.cjs +304 -182
- package/dist/index.d.cts +86 -49
- package/dist/index.d.mts +86 -49
- package/dist/index.d.ts +86 -49
- package/dist/index.js +40 -40
- package/dist/index.mjs +304 -183
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -332,76 +332,59 @@ class RawWeakMap {
|
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
class InputEvent {
|
|
335
|
-
|
|
335
|
+
cursor;
|
|
336
|
+
// Event
|
|
337
|
+
bubbles = false;
|
|
338
|
+
cancelBubble = false;
|
|
336
339
|
cancelable = false;
|
|
337
|
-
which;
|
|
338
|
-
cancelBubble = true;
|
|
339
|
-
returnValue;
|
|
340
|
-
srcElement;
|
|
341
340
|
composed = false;
|
|
342
|
-
currentTarget;
|
|
343
341
|
defaultPrevented = false;
|
|
344
342
|
eventPhase = InputEvent.prototype.NONE;
|
|
345
|
-
isTrusted;
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
originalEvent;
|
|
351
|
-
propagationStopped = false;
|
|
352
|
-
propagationImmediatelyStopped = false;
|
|
353
|
-
path;
|
|
354
|
-
detail;
|
|
355
|
-
view;
|
|
356
|
-
layer = { x: 0, y: 0 };
|
|
357
|
-
get layerX() {
|
|
358
|
-
return this.layer.x;
|
|
359
|
-
}
|
|
360
|
-
get layerY() {
|
|
361
|
-
return this.layer.y;
|
|
362
|
-
}
|
|
363
|
-
page = { x: 0, y: 0 };
|
|
364
|
-
get pageX() {
|
|
365
|
-
return this.page.x;
|
|
366
|
-
}
|
|
367
|
-
get pageY() {
|
|
368
|
-
return this.page.y;
|
|
343
|
+
isTrusted = false;
|
|
344
|
+
timeStamp = 0;
|
|
345
|
+
type = "";
|
|
346
|
+
composedPath() {
|
|
347
|
+
return this.path;
|
|
369
348
|
}
|
|
370
349
|
initEvent(..._args) {
|
|
371
350
|
throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
372
351
|
}
|
|
373
|
-
initUIEvent(..._args) {
|
|
374
|
-
throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
375
|
-
}
|
|
376
|
-
composedPath() {
|
|
377
|
-
return this.path;
|
|
378
|
-
}
|
|
379
352
|
preventDefault() {
|
|
380
|
-
if (this.nativeEvent
|
|
353
|
+
if ("preventDefault" in this.nativeEvent && this.nativeEvent.cancelable) {
|
|
381
354
|
this.nativeEvent.preventDefault();
|
|
382
355
|
}
|
|
383
356
|
this.defaultPrevented = true;
|
|
384
357
|
}
|
|
358
|
+
propagationImmediatelyStopped = false;
|
|
385
359
|
stopImmediatePropagation() {
|
|
386
360
|
this.propagationImmediatelyStopped = true;
|
|
387
361
|
}
|
|
362
|
+
propagationStopped = false;
|
|
388
363
|
stopPropagation() {
|
|
364
|
+
if ("stopPropagation" in this.nativeEvent) {
|
|
365
|
+
this.nativeEvent.stopPropagation();
|
|
366
|
+
}
|
|
389
367
|
this.propagationStopped = true;
|
|
390
368
|
}
|
|
391
369
|
NONE = 0;
|
|
392
370
|
CAPTURING_PHASE = 1;
|
|
393
371
|
AT_TARGET = 2;
|
|
394
372
|
BUBBLING_PHASE = 3;
|
|
373
|
+
initUIEvent(..._args) {
|
|
374
|
+
throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
class KeyboardInputEvent extends InputEvent {
|
|
379
|
+
getModifierState(..._args) {
|
|
380
|
+
throw new Error("getModifierState() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
381
|
+
}
|
|
382
|
+
initKeyboardEvent(..._args) {
|
|
383
|
+
throw new Error("initKeyboardEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
384
|
+
}
|
|
395
385
|
}
|
|
396
386
|
|
|
397
387
|
class MouseInputEvent extends InputEvent {
|
|
398
|
-
altKey;
|
|
399
|
-
button;
|
|
400
|
-
buttons;
|
|
401
|
-
ctrlKey;
|
|
402
|
-
metaKey;
|
|
403
|
-
relatedTarget;
|
|
404
|
-
shiftKey;
|
|
405
388
|
client = { x: 0, y: 0 };
|
|
406
389
|
get clientX() {
|
|
407
390
|
return this.client.x;
|
|
@@ -409,11 +392,12 @@ class MouseInputEvent extends InputEvent {
|
|
|
409
392
|
get clientY() {
|
|
410
393
|
return this.client.y;
|
|
411
394
|
}
|
|
412
|
-
|
|
413
|
-
|
|
395
|
+
layer = { x: 0, y: 0 };
|
|
396
|
+
get layerX() {
|
|
397
|
+
return this.layer.x;
|
|
414
398
|
}
|
|
415
|
-
get
|
|
416
|
-
return this.
|
|
399
|
+
get layerY() {
|
|
400
|
+
return this.layer.y;
|
|
417
401
|
}
|
|
418
402
|
movement = { x: 0, y: 0 };
|
|
419
403
|
get movementX() {
|
|
@@ -429,12 +413,12 @@ class MouseInputEvent extends InputEvent {
|
|
|
429
413
|
get offsetY() {
|
|
430
414
|
return this.offset.y;
|
|
431
415
|
}
|
|
432
|
-
|
|
433
|
-
get
|
|
434
|
-
return this.
|
|
416
|
+
page = { x: 0, y: 0 };
|
|
417
|
+
get pageX() {
|
|
418
|
+
return this.page.x;
|
|
435
419
|
}
|
|
436
|
-
get
|
|
437
|
-
return this.
|
|
420
|
+
get pageY() {
|
|
421
|
+
return this.page.y;
|
|
438
422
|
}
|
|
439
423
|
screen = { x: 0, y: 0 };
|
|
440
424
|
get screenX() {
|
|
@@ -443,24 +427,31 @@ class MouseInputEvent extends InputEvent {
|
|
|
443
427
|
get screenY() {
|
|
444
428
|
return this.screen.y;
|
|
445
429
|
}
|
|
430
|
+
get x() {
|
|
431
|
+
return this.clientX;
|
|
432
|
+
}
|
|
433
|
+
get y() {
|
|
434
|
+
return this.clientY;
|
|
435
|
+
}
|
|
446
436
|
getModifierState(key) {
|
|
447
437
|
return "getModifierState" in this.nativeEvent && this.nativeEvent.getModifierState(key);
|
|
448
438
|
}
|
|
449
439
|
initMouseEvent(..._args) {
|
|
450
440
|
throw new Error("Method not implemented.");
|
|
451
441
|
}
|
|
442
|
+
global = { x: 0, y: 0 };
|
|
443
|
+
get globalX() {
|
|
444
|
+
return this.global.x;
|
|
445
|
+
}
|
|
446
|
+
get globalY() {
|
|
447
|
+
return this.global.y;
|
|
448
|
+
}
|
|
452
449
|
}
|
|
453
450
|
|
|
454
451
|
class PointerInputEvent extends MouseInputEvent {
|
|
455
452
|
width = 0;
|
|
456
453
|
height = 0;
|
|
457
454
|
isPrimary = false;
|
|
458
|
-
pointerType;
|
|
459
|
-
pressure;
|
|
460
|
-
tangentialPressure;
|
|
461
|
-
tiltX;
|
|
462
|
-
tiltY;
|
|
463
|
-
twist;
|
|
464
455
|
getCoalescedEvents() {
|
|
465
456
|
if (this.type === "pointermove" || this.type === "mousemove" || this.type === "touchmove") {
|
|
466
457
|
return [this];
|
|
@@ -473,10 +464,6 @@ class PointerInputEvent extends MouseInputEvent {
|
|
|
473
464
|
}
|
|
474
465
|
|
|
475
466
|
class WheelInputEvent extends MouseInputEvent {
|
|
476
|
-
deltaMode;
|
|
477
|
-
deltaX;
|
|
478
|
-
deltaY;
|
|
479
|
-
deltaZ;
|
|
480
467
|
static DOM_DELTA_PIXEL = 0;
|
|
481
468
|
DOM_DELTA_PIXEL = 0;
|
|
482
469
|
static DOM_DELTA_LINE = 1;
|
|
@@ -493,6 +480,10 @@ const TOUCH_TO_POINTER = {
|
|
|
493
480
|
touchcancel: "pointercancel"
|
|
494
481
|
};
|
|
495
482
|
class Input extends EventEmitter {
|
|
483
|
+
/**
|
|
484
|
+
* Current event
|
|
485
|
+
*/
|
|
486
|
+
event;
|
|
496
487
|
target;
|
|
497
488
|
cursor = "default";
|
|
498
489
|
cursorStyles = {
|
|
@@ -500,10 +491,6 @@ class Input extends EventEmitter {
|
|
|
500
491
|
pointer: "pointer"
|
|
501
492
|
};
|
|
502
493
|
setuped = false;
|
|
503
|
-
/**
|
|
504
|
-
* Current event
|
|
505
|
-
*/
|
|
506
|
-
event;
|
|
507
494
|
enableMoveEvent = true;
|
|
508
495
|
enableWheelEvent = true;
|
|
509
496
|
enableClickEvent = true;
|
|
@@ -524,24 +511,27 @@ class Input extends EventEmitter {
|
|
|
524
511
|
style.touchAction = "";
|
|
525
512
|
}
|
|
526
513
|
if (SUPPORTS_POINTER_EVENTS) {
|
|
527
|
-
this.target.removeEventListener("pointerdown", this.
|
|
528
|
-
this.target.removeEventListener("pointerleave", this.
|
|
529
|
-
this.target.removeEventListener("pointerover", this.
|
|
530
|
-
this.target.removeEventListener("pointermove", this.
|
|
531
|
-
this.target.removeEventListener("pointerup", this.
|
|
514
|
+
this.target.removeEventListener("pointerdown", this._onPointerDown);
|
|
515
|
+
this.target.removeEventListener("pointerleave", this._onPointerOver);
|
|
516
|
+
this.target.removeEventListener("pointerover", this._onPointerOver);
|
|
517
|
+
this.target.removeEventListener("pointermove", this._onPointerMove);
|
|
518
|
+
this.target.removeEventListener("pointerup", this._onPointerUp);
|
|
532
519
|
} else {
|
|
533
|
-
this.target.removeEventListener("mousedown", this.
|
|
534
|
-
this.target.removeEventListener("mouseout", this.
|
|
535
|
-
this.target.removeEventListener("mouseover", this.
|
|
536
|
-
this.target.removeEventListener("mousemove", this.
|
|
537
|
-
this.target.removeEventListener("mouseup", this.
|
|
520
|
+
this.target.removeEventListener("mousedown", this._onPointerDown);
|
|
521
|
+
this.target.removeEventListener("mouseout", this._onPointerOver);
|
|
522
|
+
this.target.removeEventListener("mouseover", this._onPointerOver);
|
|
523
|
+
this.target.removeEventListener("mousemove", this._onPointerMove);
|
|
524
|
+
this.target.removeEventListener("mouseup", this._onPointerUp);
|
|
538
525
|
}
|
|
539
526
|
if (SUPPORTS_TOUCH_EVENTS) {
|
|
540
|
-
this.target.removeEventListener("touchstart", this.
|
|
541
|
-
this.target.removeEventListener("touchmove", this.
|
|
542
|
-
this.target.removeEventListener("touchend", this.
|
|
543
|
-
}
|
|
544
|
-
this.target.removeEventListener("wheel", this.
|
|
527
|
+
this.target.removeEventListener("touchstart", this._onPointerDown);
|
|
528
|
+
this.target.removeEventListener("touchmove", this._onPointerMove);
|
|
529
|
+
this.target.removeEventListener("touchend", this._onPointerUp);
|
|
530
|
+
}
|
|
531
|
+
this.target.removeEventListener("wheel", this._onWheel);
|
|
532
|
+
document.removeEventListener("keydown", this._onKeyDown);
|
|
533
|
+
document.removeEventListener("keypress", this._onKeyPress);
|
|
534
|
+
document.removeEventListener("keyup", this._onKeyUp);
|
|
545
535
|
this.target = void 0;
|
|
546
536
|
this.setuped = false;
|
|
547
537
|
}
|
|
@@ -559,24 +549,27 @@ class Input extends EventEmitter {
|
|
|
559
549
|
}
|
|
560
550
|
}
|
|
561
551
|
if (SUPPORTS_POINTER_EVENTS) {
|
|
562
|
-
this.target.addEventListener("pointerdown", this.
|
|
563
|
-
this.target.addEventListener("pointerleave", this.
|
|
564
|
-
this.target.addEventListener("pointerover", this.
|
|
565
|
-
this.target.addEventListener("pointermove", this.
|
|
566
|
-
this.target.addEventListener("pointerup", this.
|
|
552
|
+
this.target.addEventListener("pointerdown", this._onPointerDown);
|
|
553
|
+
this.target.addEventListener("pointerleave", this._onPointerOver);
|
|
554
|
+
this.target.addEventListener("pointerover", this._onPointerOver);
|
|
555
|
+
this.target.addEventListener("pointermove", this._onPointerMove);
|
|
556
|
+
this.target.addEventListener("pointerup", this._onPointerUp);
|
|
567
557
|
} else {
|
|
568
|
-
this.target.addEventListener("mousedown", this.
|
|
569
|
-
this.target.addEventListener("mouseout", this.
|
|
570
|
-
this.target.addEventListener("mouseover", this.
|
|
571
|
-
this.target.addEventListener("mousemove", this.
|
|
572
|
-
this.target.addEventListener("mouseup", this.
|
|
558
|
+
this.target.addEventListener("mousedown", this._onPointerDown);
|
|
559
|
+
this.target.addEventListener("mouseout", this._onPointerOver);
|
|
560
|
+
this.target.addEventListener("mouseover", this._onPointerOver);
|
|
561
|
+
this.target.addEventListener("mousemove", this._onPointerMove);
|
|
562
|
+
this.target.addEventListener("mouseup", this._onPointerUp);
|
|
573
563
|
}
|
|
574
564
|
if (SUPPORTS_TOUCH_EVENTS) {
|
|
575
|
-
this.target.addEventListener("touchstart", this.
|
|
576
|
-
this.target.addEventListener("touchmove", this.
|
|
577
|
-
this.target.addEventListener("touchend", this.
|
|
578
|
-
}
|
|
579
|
-
this.target.addEventListener("wheel", this.
|
|
565
|
+
this.target.addEventListener("touchstart", this._onPointerDown);
|
|
566
|
+
this.target.addEventListener("touchmove", this._onPointerMove);
|
|
567
|
+
this.target.addEventListener("touchend", this._onPointerUp);
|
|
568
|
+
}
|
|
569
|
+
this.target.addEventListener("wheel", this._onWheel);
|
|
570
|
+
document.addEventListener("keydown", this._onKeyDown);
|
|
571
|
+
document.addEventListener("keypress", this._onKeyPress);
|
|
572
|
+
document.addEventListener("keyup", this._onKeyUp);
|
|
580
573
|
this.setuped = true;
|
|
581
574
|
}
|
|
582
575
|
normalize(event) {
|
|
@@ -646,26 +639,8 @@ class Input extends EventEmitter {
|
|
|
646
639
|
}
|
|
647
640
|
return events;
|
|
648
641
|
}
|
|
649
|
-
|
|
650
|
-
const event = new WheelInputEvent();
|
|
651
|
-
this.copyMouseEvent(event, nativeEvent);
|
|
652
|
-
event.wheelDeltaY = nativeEvent.wheelDeltaY;
|
|
653
|
-
event.deltaX = nativeEvent.deltaX;
|
|
654
|
-
event.deltaY = nativeEvent.deltaY;
|
|
655
|
-
event.deltaZ = nativeEvent.deltaZ;
|
|
656
|
-
event.deltaMode = nativeEvent.deltaMode;
|
|
657
|
-
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
658
|
-
event.global.x = event.screen.x;
|
|
659
|
-
event.global.y = event.screen.y;
|
|
660
|
-
event.offset.x = event.screen.x;
|
|
661
|
-
event.offset.y = event.screen.y;
|
|
662
|
-
event.nativeEvent = nativeEvent;
|
|
663
|
-
event.type = nativeEvent.type;
|
|
664
|
-
return event;
|
|
665
|
-
}
|
|
666
|
-
clonePointerEvent(nativeEvent) {
|
|
642
|
+
_clonePointerEvent(nativeEvent) {
|
|
667
643
|
const event = new PointerInputEvent();
|
|
668
|
-
event.originalEvent = null;
|
|
669
644
|
event.nativeEvent = nativeEvent;
|
|
670
645
|
event.pointerId = nativeEvent.pointerId;
|
|
671
646
|
event.width = nativeEvent.width;
|
|
@@ -678,7 +653,7 @@ class Input extends EventEmitter {
|
|
|
678
653
|
event.tiltY = nativeEvent.tiltY;
|
|
679
654
|
event.twist = nativeEvent.twist;
|
|
680
655
|
event.isTrusted = nativeEvent.isTrusted;
|
|
681
|
-
this.
|
|
656
|
+
this._copyMouseEvent(event, nativeEvent);
|
|
682
657
|
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
683
658
|
event.global.x = event.screen.x;
|
|
684
659
|
event.global.y = event.screen.y;
|
|
@@ -693,12 +668,23 @@ class Input extends EventEmitter {
|
|
|
693
668
|
}
|
|
694
669
|
return event;
|
|
695
670
|
}
|
|
696
|
-
|
|
697
|
-
event.
|
|
698
|
-
event.
|
|
671
|
+
_copyInputEvent(event, nativeEvent) {
|
|
672
|
+
event.nativeEvent = nativeEvent;
|
|
673
|
+
event.bubbles = nativeEvent.bubbles;
|
|
674
|
+
event.cancelBubble = nativeEvent.cancelBubble;
|
|
675
|
+
event.cancelable = nativeEvent.cancelable;
|
|
676
|
+
event.composed = nativeEvent.composed;
|
|
677
|
+
event.currentTarget = nativeEvent.currentTarget;
|
|
678
|
+
event.defaultPrevented = nativeEvent.defaultPrevented;
|
|
679
|
+
event.eventPhase = nativeEvent.eventPhase;
|
|
699
680
|
event.isTrusted = nativeEvent.isTrusted;
|
|
700
|
-
event.
|
|
681
|
+
event.returnValue = nativeEvent.returnValue;
|
|
682
|
+
event.srcElement = nativeEvent.srcElement;
|
|
683
|
+
event.timeStamp = nativeEvent.timeStamp;
|
|
701
684
|
event.type = nativeEvent.type;
|
|
685
|
+
}
|
|
686
|
+
_copyMouseEvent(event, nativeEvent) {
|
|
687
|
+
this._copyInputEvent(event, nativeEvent);
|
|
702
688
|
event.altKey = nativeEvent.altKey;
|
|
703
689
|
event.button = nativeEvent.button;
|
|
704
690
|
event.buttons = nativeEvent.buttons;
|
|
@@ -713,10 +699,40 @@ class Input extends EventEmitter {
|
|
|
713
699
|
event.relatedTarget = null;
|
|
714
700
|
event.shiftKey = nativeEvent.shiftKey;
|
|
715
701
|
}
|
|
716
|
-
|
|
702
|
+
_cloneWheelEvent(nativeEvent) {
|
|
703
|
+
const event = new WheelInputEvent();
|
|
704
|
+
this._copyMouseEvent(event, nativeEvent);
|
|
705
|
+
event.wheelDeltaY = nativeEvent.wheelDeltaY;
|
|
706
|
+
event.deltaX = nativeEvent.deltaX;
|
|
707
|
+
event.deltaY = nativeEvent.deltaY;
|
|
708
|
+
event.deltaZ = nativeEvent.deltaZ;
|
|
709
|
+
event.deltaMode = nativeEvent.deltaMode;
|
|
710
|
+
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
711
|
+
event.global.x = event.screen.x;
|
|
712
|
+
event.global.y = event.screen.y;
|
|
713
|
+
event.offset.x = event.screen.x;
|
|
714
|
+
event.offset.y = event.screen.y;
|
|
715
|
+
return event;
|
|
716
|
+
}
|
|
717
|
+
_cloneKeyboardEvent(nativeEvent) {
|
|
718
|
+
const event = new KeyboardInputEvent();
|
|
719
|
+
this._copyInputEvent(event, nativeEvent);
|
|
720
|
+
event.altKey = nativeEvent.altKey;
|
|
721
|
+
event.charCode = nativeEvent.charCode;
|
|
722
|
+
event.code = nativeEvent.code;
|
|
723
|
+
event.ctrlKey = nativeEvent.ctrlKey;
|
|
724
|
+
event.isComposing = nativeEvent.isComposing;
|
|
725
|
+
event.key = nativeEvent.key;
|
|
726
|
+
event.keyCode = nativeEvent.keyCode;
|
|
727
|
+
event.location = nativeEvent.location;
|
|
728
|
+
event.metaKey = nativeEvent.metaKey;
|
|
729
|
+
event.repeat = nativeEvent.repeat;
|
|
730
|
+
event.shiftKey = nativeEvent.shiftKey;
|
|
731
|
+
return event;
|
|
732
|
+
}
|
|
733
|
+
setCursor(mode = "default") {
|
|
717
734
|
if (!this.target)
|
|
718
735
|
return;
|
|
719
|
-
mode = mode || "default";
|
|
720
736
|
if (this.cursor === mode) {
|
|
721
737
|
return;
|
|
722
738
|
}
|
|
@@ -755,36 +771,71 @@ class Input extends EventEmitter {
|
|
|
755
771
|
point.x = (x - rect.left) * (width / rect.width) * multiplier;
|
|
756
772
|
point.y = (y - rect.top) * (height / rect.height) * multiplier;
|
|
757
773
|
}
|
|
758
|
-
|
|
774
|
+
_onKeyDown = (nativeEvent) => {
|
|
775
|
+
const events = this.normalize(nativeEvent);
|
|
776
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
777
|
+
this.emit("keydown", this.event = this._cloneKeyboardEvent(events[i]));
|
|
778
|
+
}
|
|
779
|
+
if (this.event?.cursor) {
|
|
780
|
+
this.setCursor(this.event.cursor);
|
|
781
|
+
}
|
|
782
|
+
};
|
|
783
|
+
_onKeyPress = (nativeEvent) => {
|
|
784
|
+
const events = this.normalize(nativeEvent);
|
|
785
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
786
|
+
this.emit("keypress", this.event = this._cloneKeyboardEvent(events[i]));
|
|
787
|
+
}
|
|
788
|
+
if (this.event?.cursor) {
|
|
789
|
+
this.setCursor(this.event.cursor);
|
|
790
|
+
}
|
|
791
|
+
};
|
|
792
|
+
_onKeyUp = (nativeEvent) => {
|
|
793
|
+
const events = this.normalize(nativeEvent);
|
|
794
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
795
|
+
this.emit("keyup", this.event = this._cloneKeyboardEvent(events[i]));
|
|
796
|
+
}
|
|
797
|
+
if (this.event?.cursor) {
|
|
798
|
+
this.setCursor(this.event.cursor);
|
|
799
|
+
}
|
|
800
|
+
};
|
|
801
|
+
_onPointerDown = (nativeEvent) => {
|
|
759
802
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
760
803
|
return;
|
|
761
804
|
const events = this.normalize(nativeEvent);
|
|
762
805
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
763
|
-
this.emit("pointerdown", this.event = this.
|
|
806
|
+
this.emit("pointerdown", this.event = this._clonePointerEvent(events[i]));
|
|
807
|
+
}
|
|
808
|
+
if (this.event?.cursor) {
|
|
809
|
+
this.setCursor(this.event.cursor);
|
|
764
810
|
}
|
|
765
|
-
this.setCursor(this.cursor);
|
|
766
811
|
};
|
|
767
|
-
|
|
812
|
+
_onPointerOver = (nativeEvent) => {
|
|
768
813
|
if (!this.enableClickEvent)
|
|
769
814
|
return;
|
|
770
815
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
771
816
|
return;
|
|
772
817
|
const events = this.normalize(nativeEvent);
|
|
773
818
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
774
|
-
this.emit("pointerover", this.event = this.
|
|
819
|
+
this.emit("pointerover", this.event = this._clonePointerEvent(events[i]));
|
|
820
|
+
}
|
|
821
|
+
if (this.event?.cursor) {
|
|
822
|
+
this.setCursor(this.event.cursor);
|
|
775
823
|
}
|
|
776
824
|
};
|
|
777
|
-
|
|
825
|
+
_onPointerMove = (nativeEvent) => {
|
|
778
826
|
if (!this.enableMoveEvent)
|
|
779
827
|
return;
|
|
780
828
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
781
829
|
return;
|
|
782
830
|
const events = this.normalize(nativeEvent);
|
|
783
831
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
784
|
-
this.emit("pointermove", this.event = this.
|
|
832
|
+
this.emit("pointermove", this.event = this._clonePointerEvent(events[i]));
|
|
833
|
+
}
|
|
834
|
+
if (this.event?.cursor) {
|
|
835
|
+
this.setCursor(this.event.cursor);
|
|
785
836
|
}
|
|
786
837
|
};
|
|
787
|
-
|
|
838
|
+
_onPointerUp = (nativeEvent) => {
|
|
788
839
|
if (!this.enableClickEvent)
|
|
789
840
|
return;
|
|
790
841
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
@@ -796,17 +847,23 @@ class Input extends EventEmitter {
|
|
|
796
847
|
const outside = target !== this.target ? "outside" : "";
|
|
797
848
|
const events = this.normalize(nativeEvent);
|
|
798
849
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
799
|
-
const event = this.
|
|
850
|
+
const event = this._clonePointerEvent(events[i]);
|
|
800
851
|
event.type += outside;
|
|
801
852
|
this.emit("pointerup", this.event = event);
|
|
802
853
|
}
|
|
854
|
+
if (this.event?.cursor) {
|
|
855
|
+
this.setCursor(this.event.cursor);
|
|
856
|
+
}
|
|
803
857
|
};
|
|
804
|
-
|
|
858
|
+
_onWheel = (nativeEvent) => {
|
|
805
859
|
if (!this.enableWheelEvent)
|
|
806
860
|
return;
|
|
807
861
|
const events = this.normalize(nativeEvent);
|
|
808
862
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
809
|
-
this.emit("wheel", this.event = this.
|
|
863
|
+
this.emit("wheel", this.event = this._cloneWheelEvent(events[i]));
|
|
864
|
+
}
|
|
865
|
+
if (this.event?.cursor) {
|
|
866
|
+
this.setCursor(this.event.cursor);
|
|
810
867
|
}
|
|
811
868
|
};
|
|
812
869
|
}
|
|
@@ -2097,13 +2154,13 @@ class Vector3 extends Vector {
|
|
|
2097
2154
|
}
|
|
2098
2155
|
}
|
|
2099
2156
|
|
|
2100
|
-
var __defProp$
|
|
2157
|
+
var __defProp$Q = Object.defineProperty;
|
|
2101
2158
|
var __decorateClass$Z = (decorators, target, key, kind) => {
|
|
2102
2159
|
var result = void 0 ;
|
|
2103
2160
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2104
2161
|
if (decorator = decorators[i])
|
|
2105
2162
|
result = (decorator(target, key, result) ) || result;
|
|
2106
|
-
if (result) __defProp$
|
|
2163
|
+
if (result) __defProp$Q(target, key, result);
|
|
2107
2164
|
return result;
|
|
2108
2165
|
};
|
|
2109
2166
|
class MainLoop extends CoreObject {
|
|
@@ -4298,13 +4355,13 @@ class Geometry extends Resource {
|
|
|
4298
4355
|
}
|
|
4299
4356
|
}
|
|
4300
4357
|
|
|
4301
|
-
var __defProp$
|
|
4358
|
+
var __defProp$P = Object.defineProperty;
|
|
4302
4359
|
var __decorateClass$Y = (decorators, target, key, kind) => {
|
|
4303
4360
|
var result = void 0 ;
|
|
4304
4361
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4305
4362
|
if (decorator = decorators[i])
|
|
4306
4363
|
result = (decorator(target, key, result) ) || result;
|
|
4307
|
-
if (result) __defProp$
|
|
4364
|
+
if (result) __defProp$P(target, key, result);
|
|
4308
4365
|
return result;
|
|
4309
4366
|
};
|
|
4310
4367
|
class IndexBuffer extends Resource {
|
|
@@ -4355,13 +4412,13 @@ __decorateClass$Y([
|
|
|
4355
4412
|
property({ protected: true, fallback: false })
|
|
4356
4413
|
], IndexBuffer.prototype, "dynamic");
|
|
4357
4414
|
|
|
4358
|
-
var __defProp$
|
|
4415
|
+
var __defProp$O = Object.defineProperty;
|
|
4359
4416
|
var __decorateClass$X = (decorators, target, key, kind) => {
|
|
4360
4417
|
var result = void 0 ;
|
|
4361
4418
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4362
4419
|
if (decorator = decorators[i])
|
|
4363
4420
|
result = (decorator(target, key, result) ) || result;
|
|
4364
|
-
if (result) __defProp$
|
|
4421
|
+
if (result) __defProp$O(target, key, result);
|
|
4365
4422
|
return result;
|
|
4366
4423
|
};
|
|
4367
4424
|
class VertexBuffer extends Resource {
|
|
@@ -4412,13 +4469,13 @@ __decorateClass$X([
|
|
|
4412
4469
|
property({ protected: true, fallback: false })
|
|
4413
4470
|
], VertexBuffer.prototype, "dynamic");
|
|
4414
4471
|
|
|
4415
|
-
var __defProp$
|
|
4472
|
+
var __defProp$N = Object.defineProperty;
|
|
4416
4473
|
var __decorateClass$W = (decorators, target, key, kind) => {
|
|
4417
4474
|
var result = void 0 ;
|
|
4418
4475
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4419
4476
|
if (decorator = decorators[i])
|
|
4420
4477
|
result = (decorator(target, key, result) ) || result;
|
|
4421
|
-
if (result) __defProp$
|
|
4478
|
+
if (result) __defProp$N(target, key, result);
|
|
4422
4479
|
return result;
|
|
4423
4480
|
};
|
|
4424
4481
|
class VertexAttribute extends Resource {
|
|
@@ -4714,13 +4771,13 @@ class UvGeometry extends Geometry {
|
|
|
4714
4771
|
}
|
|
4715
4772
|
}
|
|
4716
4773
|
|
|
4717
|
-
var __defProp$
|
|
4774
|
+
var __defProp$M = Object.defineProperty;
|
|
4718
4775
|
var __decorateClass$V = (decorators, target, key, kind) => {
|
|
4719
4776
|
var result = void 0 ;
|
|
4720
4777
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4721
4778
|
if (decorator = decorators[i])
|
|
4722
4779
|
result = (decorator(target, key, result) ) || result;
|
|
4723
|
-
if (result) __defProp$
|
|
4780
|
+
if (result) __defProp$M(target, key, result);
|
|
4724
4781
|
return result;
|
|
4725
4782
|
};
|
|
4726
4783
|
class Texture2D extends Resource {
|
|
@@ -4891,13 +4948,13 @@ class AnimatedTexture extends Resource {
|
|
|
4891
4948
|
}
|
|
4892
4949
|
}
|
|
4893
4950
|
|
|
4894
|
-
var __defProp$
|
|
4951
|
+
var __defProp$L = Object.defineProperty;
|
|
4895
4952
|
var __decorateClass$U = (decorators, target, key, kind) => {
|
|
4896
4953
|
var result = void 0 ;
|
|
4897
4954
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4898
4955
|
if (decorator = decorators[i])
|
|
4899
4956
|
result = (decorator(target, key, result) ) || result;
|
|
4900
|
-
if (result) __defProp$
|
|
4957
|
+
if (result) __defProp$L(target, key, result);
|
|
4901
4958
|
return result;
|
|
4902
4959
|
};
|
|
4903
4960
|
class CanvasTexture extends Texture2D {
|
|
@@ -5136,13 +5193,13 @@ class PixelsTexture extends Texture2D {
|
|
|
5136
5193
|
}
|
|
5137
5194
|
}
|
|
5138
5195
|
|
|
5139
|
-
var __defProp$
|
|
5196
|
+
var __defProp$K = Object.defineProperty;
|
|
5140
5197
|
var __decorateClass$T = (decorators, target, key, kind) => {
|
|
5141
5198
|
var result = void 0 ;
|
|
5142
5199
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5143
5200
|
if (decorator = decorators[i])
|
|
5144
5201
|
result = (decorator(target, key, result) ) || result;
|
|
5145
|
-
if (result) __defProp$
|
|
5202
|
+
if (result) __defProp$K(target, key, result);
|
|
5146
5203
|
return result;
|
|
5147
5204
|
};
|
|
5148
5205
|
function resolveOptions(options) {
|
|
@@ -5625,14 +5682,14 @@ class Children extends Array {
|
|
|
5625
5682
|
}
|
|
5626
5683
|
}
|
|
5627
5684
|
|
|
5628
|
-
var __defProp$
|
|
5685
|
+
var __defProp$J = Object.defineProperty;
|
|
5629
5686
|
var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
|
|
5630
5687
|
var __decorateClass$S = (decorators, target, key, kind) => {
|
|
5631
5688
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
|
|
5632
5689
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5633
5690
|
if (decorator = decorators[i])
|
|
5634
5691
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5635
|
-
if (kind && result) __defProp$
|
|
5692
|
+
if (kind && result) __defProp$J(target, key, result);
|
|
5636
5693
|
return result;
|
|
5637
5694
|
};
|
|
5638
5695
|
const iidMap = {};
|
|
@@ -5906,10 +5963,16 @@ let Node = class extends CoreObject {
|
|
|
5906
5963
|
}
|
|
5907
5964
|
}
|
|
5908
5965
|
input(event, key) {
|
|
5966
|
+
if (event.propagationStopped) {
|
|
5967
|
+
return;
|
|
5968
|
+
}
|
|
5909
5969
|
const array = this._children.internal;
|
|
5910
5970
|
for (let i = array.length - 1; i >= 0; i--) {
|
|
5911
5971
|
array[i].input(event, key);
|
|
5912
5972
|
}
|
|
5973
|
+
if (event.propagationStopped) {
|
|
5974
|
+
return;
|
|
5975
|
+
}
|
|
5913
5976
|
this._input(event, key);
|
|
5914
5977
|
}
|
|
5915
5978
|
getIndex() {
|
|
@@ -6144,14 +6207,14 @@ Node = __decorateClass$S([
|
|
|
6144
6207
|
customNode("Node")
|
|
6145
6208
|
], Node);
|
|
6146
6209
|
|
|
6147
|
-
var __defProp$
|
|
6210
|
+
var __defProp$I = Object.defineProperty;
|
|
6148
6211
|
var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
|
|
6149
6212
|
var __decorateClass$R = (decorators, target, key, kind) => {
|
|
6150
6213
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
|
|
6151
6214
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6152
6215
|
if (decorator = decorators[i])
|
|
6153
6216
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6154
|
-
if (kind && result) __defProp$
|
|
6217
|
+
if (kind && result) __defProp$I(target, key, result);
|
|
6155
6218
|
return result;
|
|
6156
6219
|
};
|
|
6157
6220
|
let TimelineNode = class extends Node {
|
|
@@ -6227,14 +6290,14 @@ TimelineNode = __decorateClass$R([
|
|
|
6227
6290
|
customNode("TimelineNode")
|
|
6228
6291
|
], TimelineNode);
|
|
6229
6292
|
|
|
6230
|
-
var __defProp$
|
|
6293
|
+
var __defProp$H = Object.defineProperty;
|
|
6231
6294
|
var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
|
|
6232
6295
|
var __decorateClass$Q = (decorators, target, key, kind) => {
|
|
6233
6296
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
|
|
6234
6297
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6235
6298
|
if (decorator = decorators[i])
|
|
6236
6299
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6237
|
-
if (kind && result) __defProp$
|
|
6300
|
+
if (kind && result) __defProp$H(target, key, result);
|
|
6238
6301
|
return result;
|
|
6239
6302
|
};
|
|
6240
6303
|
let CanvasItem = class extends TimelineNode {
|
|
@@ -6402,14 +6465,14 @@ CanvasItem = __decorateClass$Q([
|
|
|
6402
6465
|
customNode("CanvasItem")
|
|
6403
6466
|
], CanvasItem);
|
|
6404
6467
|
|
|
6405
|
-
var __defProp$
|
|
6468
|
+
var __defProp$G = Object.defineProperty;
|
|
6406
6469
|
var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
|
|
6407
6470
|
var __decorateClass$P = (decorators, target, key, kind) => {
|
|
6408
6471
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
|
|
6409
6472
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6410
6473
|
if (decorator = decorators[i])
|
|
6411
6474
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6412
|
-
if (kind && result) __defProp$
|
|
6475
|
+
if (kind && result) __defProp$G(target, key, result);
|
|
6413
6476
|
return result;
|
|
6414
6477
|
};
|
|
6415
6478
|
let Viewport = class extends Node {
|
|
@@ -6566,14 +6629,14 @@ Viewport = __decorateClass$P([
|
|
|
6566
6629
|
customNode("Viewport")
|
|
6567
6630
|
], Viewport);
|
|
6568
6631
|
|
|
6569
|
-
var __defProp$
|
|
6632
|
+
var __defProp$F = Object.defineProperty;
|
|
6570
6633
|
var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
|
|
6571
6634
|
var __decorateClass$O = (decorators, target, key, kind) => {
|
|
6572
6635
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
|
|
6573
6636
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6574
6637
|
if (decorator = decorators[i])
|
|
6575
6638
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6576
|
-
if (kind && result) __defProp$
|
|
6639
|
+
if (kind && result) __defProp$F(target, key, result);
|
|
6577
6640
|
return result;
|
|
6578
6641
|
};
|
|
6579
6642
|
let Effect = class extends TimelineNode {
|
|
@@ -6857,14 +6920,14 @@ class RenderStack {
|
|
|
6857
6920
|
}
|
|
6858
6921
|
}
|
|
6859
6922
|
|
|
6860
|
-
var __defProp$
|
|
6923
|
+
var __defProp$E = Object.defineProperty;
|
|
6861
6924
|
var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
|
|
6862
6925
|
var __decorateClass$N = (decorators, target, key, kind) => {
|
|
6863
6926
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
|
|
6864
6927
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6865
6928
|
if (decorator = decorators[i])
|
|
6866
6929
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6867
|
-
if (kind && result) __defProp$
|
|
6930
|
+
if (kind && result) __defProp$E(target, key, result);
|
|
6868
6931
|
return result;
|
|
6869
6932
|
};
|
|
6870
6933
|
let Timeline = class extends Node {
|
|
@@ -6940,13 +7003,13 @@ Window = __decorateClass$M([
|
|
|
6940
7003
|
customNode("Window")
|
|
6941
7004
|
], Window);
|
|
6942
7005
|
|
|
6943
|
-
var __defProp$
|
|
7006
|
+
var __defProp$D = Object.defineProperty;
|
|
6944
7007
|
var __decorateClass$L = (decorators, target, key, kind) => {
|
|
6945
7008
|
var result = void 0 ;
|
|
6946
7009
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6947
7010
|
if (decorator = decorators[i])
|
|
6948
7011
|
result = (decorator(target, key, result) ) || result;
|
|
6949
|
-
if (result) __defProp$
|
|
7012
|
+
if (result) __defProp$D(target, key, result);
|
|
6950
7013
|
return result;
|
|
6951
7014
|
};
|
|
6952
7015
|
class SceneTree extends MainLoop {
|
|
@@ -7050,14 +7113,14 @@ Transition = __decorateClass$K([
|
|
|
7050
7113
|
})
|
|
7051
7114
|
], Transition);
|
|
7052
7115
|
|
|
7053
|
-
var __defProp$
|
|
7116
|
+
var __defProp$C = Object.defineProperty;
|
|
7054
7117
|
var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
|
|
7055
7118
|
var __decorateClass$J = (decorators, target, key, kind) => {
|
|
7056
7119
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
|
|
7057
7120
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7058
7121
|
if (decorator = decorators[i])
|
|
7059
7122
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7060
|
-
if (kind && result) __defProp$
|
|
7123
|
+
if (kind && result) __defProp$C(target, key, result);
|
|
7061
7124
|
return result;
|
|
7062
7125
|
};
|
|
7063
7126
|
let Node2D = class extends CanvasItem {
|
|
@@ -7170,18 +7233,21 @@ Node2D = __decorateClass$J([
|
|
|
7170
7233
|
customNode("Node2D")
|
|
7171
7234
|
], Node2D);
|
|
7172
7235
|
|
|
7236
|
+
var __defProp$B = Object.defineProperty;
|
|
7173
7237
|
var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
|
|
7174
7238
|
var __decorateClass$I = (decorators, target, key, kind) => {
|
|
7175
7239
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
|
|
7176
7240
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7177
7241
|
if (decorator = decorators[i])
|
|
7178
|
-
result = (decorator(result)) || result;
|
|
7242
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7243
|
+
if (kind && result) __defProp$B(target, key, result);
|
|
7179
7244
|
return result;
|
|
7180
7245
|
};
|
|
7181
7246
|
let Camera2D = class extends Node2D {
|
|
7182
7247
|
zoom = new Vector2(1, 1).on("update", () => this.updateCanvasTransform());
|
|
7183
7248
|
maxZoom = new Vector2(6, 6);
|
|
7184
7249
|
minZoom = new Vector2(0.1, 0.1);
|
|
7250
|
+
_screenOffset = { x: 0, y: 0 };
|
|
7185
7251
|
constructor(properties, nodes = []) {
|
|
7186
7252
|
super();
|
|
7187
7253
|
this.setProperties(properties).append(nodes);
|
|
@@ -7202,24 +7268,61 @@ let Camera2D = class extends Node2D {
|
|
|
7202
7268
|
}
|
|
7203
7269
|
_input(event, key) {
|
|
7204
7270
|
super._input(event, key);
|
|
7205
|
-
if (key === "
|
|
7271
|
+
if (key === "keydown") {
|
|
7206
7272
|
const e = event;
|
|
7207
|
-
if (e.
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7273
|
+
if (!this.spaceKey && e.code === "Space") {
|
|
7274
|
+
e.cursor = "grab";
|
|
7275
|
+
this.spaceKey = true;
|
|
7276
|
+
}
|
|
7277
|
+
} else if (key === "keyup") {
|
|
7278
|
+
const e = event;
|
|
7279
|
+
if (e.code === "Space") {
|
|
7280
|
+
e.cursor = "default";
|
|
7281
|
+
this.spaceKey = false;
|
|
7282
|
+
this.grabbing = false;
|
|
7283
|
+
}
|
|
7284
|
+
} else if (key === "pointerdown") {
|
|
7285
|
+
const e = event;
|
|
7286
|
+
if (!this.grabbing && this.spaceKey) {
|
|
7287
|
+
this.grabbing = true;
|
|
7288
|
+
e.cursor = "grabbing";
|
|
7289
|
+
this._screenOffset = { x: e.screenX, y: e.screenY };
|
|
7290
|
+
}
|
|
7291
|
+
} else if (key === "pointermove") {
|
|
7292
|
+
const e = event;
|
|
7293
|
+
if (this.grabbing) {
|
|
7294
|
+
this.position.add(
|
|
7295
|
+
-(this._screenOffset.x - e.screenX),
|
|
7296
|
+
-(this._screenOffset.y - e.screenY)
|
|
7297
|
+
);
|
|
7298
|
+
this._screenOffset = { x: e.screenX, y: e.screenY };
|
|
7299
|
+
}
|
|
7300
|
+
} else if (key === "pointerup") {
|
|
7301
|
+
const e = event;
|
|
7302
|
+
if (this.grabbing) {
|
|
7303
|
+
this.grabbing = false;
|
|
7304
|
+
e.cursor = "grab";
|
|
7305
|
+
}
|
|
7306
|
+
} else if (key === "wheel") {
|
|
7307
|
+
this._onWheel(event);
|
|
7308
|
+
}
|
|
7309
|
+
}
|
|
7310
|
+
_onWheel(e) {
|
|
7311
|
+
if (e.ctrlKey) {
|
|
7312
|
+
const isTouchPad = e.wheelDeltaY ? Math.abs(Math.abs(e.wheelDeltaY) - Math.abs(3 * e.deltaY)) < 3 : e.deltaMode === 0;
|
|
7313
|
+
if (!isTouchPad) {
|
|
7220
7314
|
e.preventDefault();
|
|
7221
|
-
this.
|
|
7315
|
+
const oldZoom = this.zoom.x;
|
|
7316
|
+
this.addZoom(e.deltaY * -0.015);
|
|
7317
|
+
const ratio = 1 - this.zoom.x / oldZoom;
|
|
7318
|
+
this.position.add(
|
|
7319
|
+
(e.screenX - this.position.x) * ratio,
|
|
7320
|
+
(e.screenY - this.position.y) * ratio
|
|
7321
|
+
);
|
|
7222
7322
|
}
|
|
7323
|
+
} else {
|
|
7324
|
+
e.preventDefault();
|
|
7325
|
+
this.position.add(-e.deltaX, -e.deltaY);
|
|
7223
7326
|
}
|
|
7224
7327
|
}
|
|
7225
7328
|
updateTransform() {
|
|
@@ -7234,6 +7337,12 @@ let Camera2D = class extends Node2D {
|
|
|
7234
7337
|
this.emit("updateCanvasTransform");
|
|
7235
7338
|
}
|
|
7236
7339
|
};
|
|
7340
|
+
__decorateClass$I([
|
|
7341
|
+
property({ protected: true, fallback: false })
|
|
7342
|
+
], Camera2D.prototype, "spaceKey", 2);
|
|
7343
|
+
__decorateClass$I([
|
|
7344
|
+
property({ protected: true, fallback: false })
|
|
7345
|
+
], Camera2D.prototype, "grabbing", 2);
|
|
7237
7346
|
Camera2D = __decorateClass$I([
|
|
7238
7347
|
customNode("Camera2D", {
|
|
7239
7348
|
processMode: "disabled",
|
|
@@ -9331,6 +9440,8 @@ class BaseElement2DOutline extends BaseElement2DFill {
|
|
|
9331
9440
|
switch (key) {
|
|
9332
9441
|
case "width":
|
|
9333
9442
|
case "style":
|
|
9443
|
+
case "lineCap":
|
|
9444
|
+
case "lineJoin":
|
|
9334
9445
|
case "enabled":
|
|
9335
9446
|
this.parent.requestRedraw();
|
|
9336
9447
|
break;
|
|
@@ -9347,7 +9458,8 @@ class BaseElement2DOutline extends BaseElement2DFill {
|
|
|
9347
9458
|
ctx.lineWidth = this.width || 1;
|
|
9348
9459
|
ctx.uvTransform = uvTransform;
|
|
9349
9460
|
ctx.strokeStyle = this._texture ?? this.color;
|
|
9350
|
-
ctx.
|
|
9461
|
+
ctx.lineCap = this.lineCap;
|
|
9462
|
+
ctx.lineJoin = this.lineJoin;
|
|
9351
9463
|
ctx.stroke({ disableWrapMode });
|
|
9352
9464
|
}
|
|
9353
9465
|
}
|
|
@@ -9360,6 +9472,12 @@ __decorateClass$p([
|
|
|
9360
9472
|
__decorateClass$p([
|
|
9361
9473
|
property({ fallback: "solid" })
|
|
9362
9474
|
], BaseElement2DOutline.prototype, "style");
|
|
9475
|
+
__decorateClass$p([
|
|
9476
|
+
property({ fallback: "butt" })
|
|
9477
|
+
], BaseElement2DOutline.prototype, "lineCap");
|
|
9478
|
+
__decorateClass$p([
|
|
9479
|
+
property({ fallback: "miter" })
|
|
9480
|
+
], BaseElement2DOutline.prototype, "lineJoin");
|
|
9363
9481
|
|
|
9364
9482
|
var __defProp$h = Object.defineProperty;
|
|
9365
9483
|
var __decorateClass$o = (decorators, target, key, kind) => {
|
|
@@ -13848,7 +13966,10 @@ class Engine extends SceneTree {
|
|
|
13848
13966
|
"pointerover",
|
|
13849
13967
|
"pointermove",
|
|
13850
13968
|
"pointerup",
|
|
13851
|
-
"wheel"
|
|
13969
|
+
"wheel",
|
|
13970
|
+
"keydown",
|
|
13971
|
+
"keypress",
|
|
13972
|
+
"keyup"
|
|
13852
13973
|
].forEach((key) => {
|
|
13853
13974
|
this.input.on(key, (event) => {
|
|
13854
13975
|
this.root.input(event, key);
|
|
@@ -13987,4 +14108,4 @@ async function render(options) {
|
|
|
13987
14108
|
});
|
|
13988
14109
|
}
|
|
13989
14110
|
|
|
13990
|
-
export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, Camera2D, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, SUPPORTS_AUDIO_CONTEXT, SUPPORTS_CLICK_EVENTS, SUPPORTS_CREATE_IMAGE_BITMAP, SUPPORTS_IMAGE_BITMAP, SUPPORTS_MOUSE_EVENTS, SUPPORTS_OFFLINE_AUDIO_CONTEXT, SUPPORTS_POINTER_EVENTS, SUPPORTS_RESIZE_OBSERVER, SUPPORTS_TOUCH_EVENTS, SUPPORTS_WEBGL2, SUPPORTS_WEBKIT_AUDIO_CONTEXT, SUPPORTS_WEBKIT_OFFLINE_AUDIO_CONTEXT, SUPPORTS_WEB_AUDIO, SUPPORTS_WHEEL_EVENTS, Scaler, SceneTree, ScrollBar, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, Window, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag$1 as frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
|
|
14111
|
+
export { AnimatedTexture, Animation, Assets, Audio, AudioPipeline, AudioProcessor, AudioSpectrum, AudioWaveform, BaseElement2D, BaseElement2DBackground, BaseElement2DFill, BaseElement2DForeground, BaseElement2DOutline, BaseElement2DShadow, BaseElement2DShape, BaseElement2DStyle, BaseElement2DText, Camera2D, CanvasContext, CanvasItem, CanvasItemEditor, CanvasTexture, Color, ColorAdjustEffect, ColorFilterEffect, ColorMatrix, ColorOverlayEffect, ColorRemoveEffect, ColorReplaceEffect, ColorTexture, Control, CoreObject, DEG_TO_RAD, DEVICE_PIXEL_RATIO, DropShadowEffect, Effect, EffectMaterial, Element2D, Element2DStyle, EmbossEffect, Engine, FlexElement2D, FlexElement2DStyle, FlexLayout, FontLoader, GIFLoader, GaussianBlurEffect, Geometry, GlitchEffect, GodrayEffect, GradientTexture, HTMLAudio, HTMLAudioContext, HTMLSound, IN_BROWSER, Image2D, ImageTexture, IndexBuffer, Input, InputEvent, JSONLoader, KawaseBlurEffect, KawaseTransition, KeyboardInputEvent, LeftEraseTransition, Loader, Lottie2D, LottieLoader, MainLoop, MaskEffect, Material, Matrix, Matrix2, Matrix3, Matrix4, MouseInputEvent, Node, Node2D, OutlineEffect, PI, PI_2, PixelateEffect, PixelsTexture, PointerInputEvent, Projection2D, QuadGeometry, QuadUvGeometry, RAD_TO_DEG, Range, RawWeakMap, Rect2, RefCounted, Renderer, Resource, Ruler, SUPPORTS_AUDIO_CONTEXT, SUPPORTS_CLICK_EVENTS, SUPPORTS_CREATE_IMAGE_BITMAP, SUPPORTS_IMAGE_BITMAP, SUPPORTS_MOUSE_EVENTS, SUPPORTS_OFFLINE_AUDIO_CONTEXT, SUPPORTS_POINTER_EVENTS, SUPPORTS_RESIZE_OBSERVER, SUPPORTS_TOUCH_EVENTS, SUPPORTS_WEBGL2, SUPPORTS_WEBKIT_AUDIO_CONTEXT, SUPPORTS_WEBKIT_OFFLINE_AUDIO_CONTEXT, SUPPORTS_WEB_AUDIO, SUPPORTS_WHEEL_EVENTS, Scaler, SceneTree, ScrollBar, TextLoader, Texture2D, TextureLoader, TextureRect2D, Ticker, TiltShiftTransition, Timeline, TimelineNode, Transform2D, TransformRect2D, Transition, TwistTransition, UvGeometry, UvMaterial, Vector, Vector2, Vector3, Vector4, VertexAttribute, VertexBuffer, Video2D, VideoLoader, VideoTexture, Viewport, ViewportTexture, WebAudio, WebAudioContext, WebGLBatch2DModule, WebGLBlendMode, WebGLBufferModule, WebGLFramebufferModule, WebGLMaskModule, WebGLModule, WebGLProgramModule, WebGLRenderer, WebGLScissorModule, WebGLState, WebGLStateModule, WebGLStencilModule, WebGLTextureModule, WebGLVertexArrayModule, WebGLViewportModule, WebSound, WheelInputEvent, Window, XScrollBar, YScrollBar, ZoomBlurEffect, assets, clamp, clampFrag, createHTMLCanvas, createNode, crossOrigin, cubicBezier, curves, customNode, customNodes, defaultOptions, determineCrossOrigin, ease, easeIn, easeInOut, easeOut, frag$1 as frag, getDefaultCssPropertyValue, isCanvasElement, isElementNode, isImageElement, isPow2, isVideoElement, isWebgl2, lerp, linear, log2, mapWebGLBlendModes, nextPow2, nextTick, parseCSSFilter, parseCSSTransform, parseCSSTransformOrigin, parseCssFunctions, parseCssProperty, render, timingFunctions, uid };
|