modern-canvas 0.7.10 → 0.7.12
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 +307 -181
- 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 +307 -182
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -338,76 +338,59 @@ class RawWeakMap {
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
class InputEvent {
|
|
341
|
-
|
|
341
|
+
cursor;
|
|
342
|
+
// Event
|
|
343
|
+
bubbles = false;
|
|
344
|
+
cancelBubble = false;
|
|
342
345
|
cancelable = false;
|
|
343
|
-
which;
|
|
344
|
-
cancelBubble = true;
|
|
345
|
-
returnValue;
|
|
346
|
-
srcElement;
|
|
347
346
|
composed = false;
|
|
348
|
-
currentTarget;
|
|
349
347
|
defaultPrevented = false;
|
|
350
348
|
eventPhase = InputEvent.prototype.NONE;
|
|
351
|
-
isTrusted;
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
originalEvent;
|
|
357
|
-
propagationStopped = false;
|
|
358
|
-
propagationImmediatelyStopped = false;
|
|
359
|
-
path;
|
|
360
|
-
detail;
|
|
361
|
-
view;
|
|
362
|
-
layer = { x: 0, y: 0 };
|
|
363
|
-
get layerX() {
|
|
364
|
-
return this.layer.x;
|
|
365
|
-
}
|
|
366
|
-
get layerY() {
|
|
367
|
-
return this.layer.y;
|
|
368
|
-
}
|
|
369
|
-
page = { x: 0, y: 0 };
|
|
370
|
-
get pageX() {
|
|
371
|
-
return this.page.x;
|
|
372
|
-
}
|
|
373
|
-
get pageY() {
|
|
374
|
-
return this.page.y;
|
|
349
|
+
isTrusted = false;
|
|
350
|
+
timeStamp = 0;
|
|
351
|
+
type = "";
|
|
352
|
+
composedPath() {
|
|
353
|
+
return this.path;
|
|
375
354
|
}
|
|
376
355
|
initEvent(..._args) {
|
|
377
356
|
throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
378
357
|
}
|
|
379
|
-
initUIEvent(..._args) {
|
|
380
|
-
throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
381
|
-
}
|
|
382
|
-
composedPath() {
|
|
383
|
-
return this.path;
|
|
384
|
-
}
|
|
385
358
|
preventDefault() {
|
|
386
|
-
if (this.nativeEvent
|
|
359
|
+
if ("preventDefault" in this.nativeEvent && this.nativeEvent.cancelable) {
|
|
387
360
|
this.nativeEvent.preventDefault();
|
|
388
361
|
}
|
|
389
362
|
this.defaultPrevented = true;
|
|
390
363
|
}
|
|
364
|
+
propagationImmediatelyStopped = false;
|
|
391
365
|
stopImmediatePropagation() {
|
|
392
366
|
this.propagationImmediatelyStopped = true;
|
|
393
367
|
}
|
|
368
|
+
propagationStopped = false;
|
|
394
369
|
stopPropagation() {
|
|
370
|
+
if ("stopPropagation" in this.nativeEvent) {
|
|
371
|
+
this.nativeEvent.stopPropagation();
|
|
372
|
+
}
|
|
395
373
|
this.propagationStopped = true;
|
|
396
374
|
}
|
|
397
375
|
NONE = 0;
|
|
398
376
|
CAPTURING_PHASE = 1;
|
|
399
377
|
AT_TARGET = 2;
|
|
400
378
|
BUBBLING_PHASE = 3;
|
|
379
|
+
initUIEvent(..._args) {
|
|
380
|
+
throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
class KeyboardInputEvent extends InputEvent {
|
|
385
|
+
getModifierState(..._args) {
|
|
386
|
+
throw new Error("getModifierState() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
387
|
+
}
|
|
388
|
+
initKeyboardEvent(..._args) {
|
|
389
|
+
throw new Error("initKeyboardEvent() is a legacy DOM API. It is not implemented in the Federated Events API.");
|
|
390
|
+
}
|
|
401
391
|
}
|
|
402
392
|
|
|
403
393
|
class MouseInputEvent extends InputEvent {
|
|
404
|
-
altKey;
|
|
405
|
-
button;
|
|
406
|
-
buttons;
|
|
407
|
-
ctrlKey;
|
|
408
|
-
metaKey;
|
|
409
|
-
relatedTarget;
|
|
410
|
-
shiftKey;
|
|
411
394
|
client = { x: 0, y: 0 };
|
|
412
395
|
get clientX() {
|
|
413
396
|
return this.client.x;
|
|
@@ -415,11 +398,12 @@ class MouseInputEvent extends InputEvent {
|
|
|
415
398
|
get clientY() {
|
|
416
399
|
return this.client.y;
|
|
417
400
|
}
|
|
418
|
-
|
|
419
|
-
|
|
401
|
+
layer = { x: 0, y: 0 };
|
|
402
|
+
get layerX() {
|
|
403
|
+
return this.layer.x;
|
|
420
404
|
}
|
|
421
|
-
get
|
|
422
|
-
return this.
|
|
405
|
+
get layerY() {
|
|
406
|
+
return this.layer.y;
|
|
423
407
|
}
|
|
424
408
|
movement = { x: 0, y: 0 };
|
|
425
409
|
get movementX() {
|
|
@@ -435,12 +419,12 @@ class MouseInputEvent extends InputEvent {
|
|
|
435
419
|
get offsetY() {
|
|
436
420
|
return this.offset.y;
|
|
437
421
|
}
|
|
438
|
-
|
|
439
|
-
get
|
|
440
|
-
return this.
|
|
422
|
+
page = { x: 0, y: 0 };
|
|
423
|
+
get pageX() {
|
|
424
|
+
return this.page.x;
|
|
441
425
|
}
|
|
442
|
-
get
|
|
443
|
-
return this.
|
|
426
|
+
get pageY() {
|
|
427
|
+
return this.page.y;
|
|
444
428
|
}
|
|
445
429
|
screen = { x: 0, y: 0 };
|
|
446
430
|
get screenX() {
|
|
@@ -449,24 +433,31 @@ class MouseInputEvent extends InputEvent {
|
|
|
449
433
|
get screenY() {
|
|
450
434
|
return this.screen.y;
|
|
451
435
|
}
|
|
436
|
+
get x() {
|
|
437
|
+
return this.clientX;
|
|
438
|
+
}
|
|
439
|
+
get y() {
|
|
440
|
+
return this.clientY;
|
|
441
|
+
}
|
|
452
442
|
getModifierState(key) {
|
|
453
443
|
return "getModifierState" in this.nativeEvent && this.nativeEvent.getModifierState(key);
|
|
454
444
|
}
|
|
455
445
|
initMouseEvent(..._args) {
|
|
456
446
|
throw new Error("Method not implemented.");
|
|
457
447
|
}
|
|
448
|
+
global = { x: 0, y: 0 };
|
|
449
|
+
get globalX() {
|
|
450
|
+
return this.global.x;
|
|
451
|
+
}
|
|
452
|
+
get globalY() {
|
|
453
|
+
return this.global.y;
|
|
454
|
+
}
|
|
458
455
|
}
|
|
459
456
|
|
|
460
457
|
class PointerInputEvent extends MouseInputEvent {
|
|
461
458
|
width = 0;
|
|
462
459
|
height = 0;
|
|
463
460
|
isPrimary = false;
|
|
464
|
-
pointerType;
|
|
465
|
-
pressure;
|
|
466
|
-
tangentialPressure;
|
|
467
|
-
tiltX;
|
|
468
|
-
tiltY;
|
|
469
|
-
twist;
|
|
470
461
|
getCoalescedEvents() {
|
|
471
462
|
if (this.type === "pointermove" || this.type === "mousemove" || this.type === "touchmove") {
|
|
472
463
|
return [this];
|
|
@@ -479,10 +470,6 @@ class PointerInputEvent extends MouseInputEvent {
|
|
|
479
470
|
}
|
|
480
471
|
|
|
481
472
|
class WheelInputEvent extends MouseInputEvent {
|
|
482
|
-
deltaMode;
|
|
483
|
-
deltaX;
|
|
484
|
-
deltaY;
|
|
485
|
-
deltaZ;
|
|
486
473
|
static DOM_DELTA_PIXEL = 0;
|
|
487
474
|
DOM_DELTA_PIXEL = 0;
|
|
488
475
|
static DOM_DELTA_LINE = 1;
|
|
@@ -499,6 +486,10 @@ const TOUCH_TO_POINTER = {
|
|
|
499
486
|
touchcancel: "pointercancel"
|
|
500
487
|
};
|
|
501
488
|
class Input extends modernIdoc.EventEmitter {
|
|
489
|
+
/**
|
|
490
|
+
* Current event
|
|
491
|
+
*/
|
|
492
|
+
event;
|
|
502
493
|
target;
|
|
503
494
|
cursor = "default";
|
|
504
495
|
cursorStyles = {
|
|
@@ -506,10 +497,6 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
506
497
|
pointer: "pointer"
|
|
507
498
|
};
|
|
508
499
|
setuped = false;
|
|
509
|
-
/**
|
|
510
|
-
* Current event
|
|
511
|
-
*/
|
|
512
|
-
event;
|
|
513
500
|
enableMoveEvent = true;
|
|
514
501
|
enableWheelEvent = true;
|
|
515
502
|
enableClickEvent = true;
|
|
@@ -530,24 +517,27 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
530
517
|
style.touchAction = "";
|
|
531
518
|
}
|
|
532
519
|
if (SUPPORTS_POINTER_EVENTS) {
|
|
533
|
-
this.target.removeEventListener("pointerdown", this.
|
|
534
|
-
this.target.removeEventListener("pointerleave", this.
|
|
535
|
-
this.target.removeEventListener("pointerover", this.
|
|
536
|
-
this.target.removeEventListener("pointermove", this.
|
|
537
|
-
this.target.removeEventListener("pointerup", this.
|
|
520
|
+
this.target.removeEventListener("pointerdown", this._onPointerDown);
|
|
521
|
+
this.target.removeEventListener("pointerleave", this._onPointerOver);
|
|
522
|
+
this.target.removeEventListener("pointerover", this._onPointerOver);
|
|
523
|
+
this.target.removeEventListener("pointermove", this._onPointerMove);
|
|
524
|
+
this.target.removeEventListener("pointerup", this._onPointerUp);
|
|
538
525
|
} else {
|
|
539
|
-
this.target.removeEventListener("mousedown", this.
|
|
540
|
-
this.target.removeEventListener("mouseout", this.
|
|
541
|
-
this.target.removeEventListener("mouseover", this.
|
|
542
|
-
this.target.removeEventListener("mousemove", this.
|
|
543
|
-
this.target.removeEventListener("mouseup", this.
|
|
526
|
+
this.target.removeEventListener("mousedown", this._onPointerDown);
|
|
527
|
+
this.target.removeEventListener("mouseout", this._onPointerOver);
|
|
528
|
+
this.target.removeEventListener("mouseover", this._onPointerOver);
|
|
529
|
+
this.target.removeEventListener("mousemove", this._onPointerMove);
|
|
530
|
+
this.target.removeEventListener("mouseup", this._onPointerUp);
|
|
544
531
|
}
|
|
545
532
|
if (SUPPORTS_TOUCH_EVENTS) {
|
|
546
|
-
this.target.removeEventListener("touchstart", this.
|
|
547
|
-
this.target.removeEventListener("touchmove", this.
|
|
548
|
-
this.target.removeEventListener("touchend", this.
|
|
549
|
-
}
|
|
550
|
-
this.target.removeEventListener("wheel", this.
|
|
533
|
+
this.target.removeEventListener("touchstart", this._onPointerDown);
|
|
534
|
+
this.target.removeEventListener("touchmove", this._onPointerMove);
|
|
535
|
+
this.target.removeEventListener("touchend", this._onPointerUp);
|
|
536
|
+
}
|
|
537
|
+
this.target.removeEventListener("wheel", this._onWheel);
|
|
538
|
+
document.removeEventListener("keydown", this._onKeyDown);
|
|
539
|
+
document.removeEventListener("keypress", this._onKeyPress);
|
|
540
|
+
document.removeEventListener("keyup", this._onKeyUp);
|
|
551
541
|
this.target = void 0;
|
|
552
542
|
this.setuped = false;
|
|
553
543
|
}
|
|
@@ -565,24 +555,27 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
565
555
|
}
|
|
566
556
|
}
|
|
567
557
|
if (SUPPORTS_POINTER_EVENTS) {
|
|
568
|
-
this.target.addEventListener("pointerdown", this.
|
|
569
|
-
this.target.addEventListener("pointerleave", this.
|
|
570
|
-
this.target.addEventListener("pointerover", this.
|
|
571
|
-
this.target.addEventListener("pointermove", this.
|
|
572
|
-
this.target.addEventListener("pointerup", this.
|
|
558
|
+
this.target.addEventListener("pointerdown", this._onPointerDown);
|
|
559
|
+
this.target.addEventListener("pointerleave", this._onPointerOver);
|
|
560
|
+
this.target.addEventListener("pointerover", this._onPointerOver);
|
|
561
|
+
this.target.addEventListener("pointermove", this._onPointerMove);
|
|
562
|
+
this.target.addEventListener("pointerup", this._onPointerUp);
|
|
573
563
|
} else {
|
|
574
|
-
this.target.addEventListener("mousedown", this.
|
|
575
|
-
this.target.addEventListener("mouseout", this.
|
|
576
|
-
this.target.addEventListener("mouseover", this.
|
|
577
|
-
this.target.addEventListener("mousemove", this.
|
|
578
|
-
this.target.addEventListener("mouseup", this.
|
|
564
|
+
this.target.addEventListener("mousedown", this._onPointerDown);
|
|
565
|
+
this.target.addEventListener("mouseout", this._onPointerOver);
|
|
566
|
+
this.target.addEventListener("mouseover", this._onPointerOver);
|
|
567
|
+
this.target.addEventListener("mousemove", this._onPointerMove);
|
|
568
|
+
this.target.addEventListener("mouseup", this._onPointerUp);
|
|
579
569
|
}
|
|
580
570
|
if (SUPPORTS_TOUCH_EVENTS) {
|
|
581
|
-
this.target.addEventListener("touchstart", this.
|
|
582
|
-
this.target.addEventListener("touchmove", this.
|
|
583
|
-
this.target.addEventListener("touchend", this.
|
|
584
|
-
}
|
|
585
|
-
this.target.addEventListener("wheel", this.
|
|
571
|
+
this.target.addEventListener("touchstart", this._onPointerDown);
|
|
572
|
+
this.target.addEventListener("touchmove", this._onPointerMove);
|
|
573
|
+
this.target.addEventListener("touchend", this._onPointerUp);
|
|
574
|
+
}
|
|
575
|
+
this.target.addEventListener("wheel", this._onWheel);
|
|
576
|
+
document.addEventListener("keydown", this._onKeyDown);
|
|
577
|
+
document.addEventListener("keypress", this._onKeyPress);
|
|
578
|
+
document.addEventListener("keyup", this._onKeyUp);
|
|
586
579
|
this.setuped = true;
|
|
587
580
|
}
|
|
588
581
|
normalize(event) {
|
|
@@ -652,26 +645,8 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
652
645
|
}
|
|
653
646
|
return events;
|
|
654
647
|
}
|
|
655
|
-
|
|
656
|
-
const event = new WheelInputEvent();
|
|
657
|
-
this.copyMouseEvent(event, nativeEvent);
|
|
658
|
-
event.wheelDeltaY = nativeEvent.wheelDeltaY;
|
|
659
|
-
event.deltaX = nativeEvent.deltaX;
|
|
660
|
-
event.deltaY = nativeEvent.deltaY;
|
|
661
|
-
event.deltaZ = nativeEvent.deltaZ;
|
|
662
|
-
event.deltaMode = nativeEvent.deltaMode;
|
|
663
|
-
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
664
|
-
event.global.x = event.screen.x;
|
|
665
|
-
event.global.y = event.screen.y;
|
|
666
|
-
event.offset.x = event.screen.x;
|
|
667
|
-
event.offset.y = event.screen.y;
|
|
668
|
-
event.nativeEvent = nativeEvent;
|
|
669
|
-
event.type = nativeEvent.type;
|
|
670
|
-
return event;
|
|
671
|
-
}
|
|
672
|
-
clonePointerEvent(nativeEvent) {
|
|
648
|
+
_clonePointerEvent(nativeEvent) {
|
|
673
649
|
const event = new PointerInputEvent();
|
|
674
|
-
event.originalEvent = null;
|
|
675
650
|
event.nativeEvent = nativeEvent;
|
|
676
651
|
event.pointerId = nativeEvent.pointerId;
|
|
677
652
|
event.width = nativeEvent.width;
|
|
@@ -684,7 +659,7 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
684
659
|
event.tiltY = nativeEvent.tiltY;
|
|
685
660
|
event.twist = nativeEvent.twist;
|
|
686
661
|
event.isTrusted = nativeEvent.isTrusted;
|
|
687
|
-
this.
|
|
662
|
+
this._copyMouseEvent(event, nativeEvent);
|
|
688
663
|
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
689
664
|
event.global.x = event.screen.x;
|
|
690
665
|
event.global.y = event.screen.y;
|
|
@@ -699,12 +674,23 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
699
674
|
}
|
|
700
675
|
return event;
|
|
701
676
|
}
|
|
702
|
-
|
|
703
|
-
event.
|
|
704
|
-
event.
|
|
677
|
+
_copyInputEvent(event, nativeEvent) {
|
|
678
|
+
event.nativeEvent = nativeEvent;
|
|
679
|
+
event.bubbles = nativeEvent.bubbles;
|
|
680
|
+
event.cancelBubble = nativeEvent.cancelBubble;
|
|
681
|
+
event.cancelable = nativeEvent.cancelable;
|
|
682
|
+
event.composed = nativeEvent.composed;
|
|
683
|
+
event.currentTarget = nativeEvent.currentTarget;
|
|
684
|
+
event.defaultPrevented = nativeEvent.defaultPrevented;
|
|
685
|
+
event.eventPhase = nativeEvent.eventPhase;
|
|
705
686
|
event.isTrusted = nativeEvent.isTrusted;
|
|
706
|
-
event.
|
|
687
|
+
event.returnValue = nativeEvent.returnValue;
|
|
688
|
+
event.srcElement = nativeEvent.srcElement;
|
|
689
|
+
event.timeStamp = nativeEvent.timeStamp;
|
|
707
690
|
event.type = nativeEvent.type;
|
|
691
|
+
}
|
|
692
|
+
_copyMouseEvent(event, nativeEvent) {
|
|
693
|
+
this._copyInputEvent(event, nativeEvent);
|
|
708
694
|
event.altKey = nativeEvent.altKey;
|
|
709
695
|
event.button = nativeEvent.button;
|
|
710
696
|
event.buttons = nativeEvent.buttons;
|
|
@@ -719,10 +705,40 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
719
705
|
event.relatedTarget = null;
|
|
720
706
|
event.shiftKey = nativeEvent.shiftKey;
|
|
721
707
|
}
|
|
722
|
-
|
|
708
|
+
_cloneWheelEvent(nativeEvent) {
|
|
709
|
+
const event = new WheelInputEvent();
|
|
710
|
+
this._copyMouseEvent(event, nativeEvent);
|
|
711
|
+
event.wheelDeltaY = nativeEvent.wheelDeltaY;
|
|
712
|
+
event.deltaX = nativeEvent.deltaX;
|
|
713
|
+
event.deltaY = nativeEvent.deltaY;
|
|
714
|
+
event.deltaZ = nativeEvent.deltaZ;
|
|
715
|
+
event.deltaMode = nativeEvent.deltaMode;
|
|
716
|
+
this.mapPositionToPoint(event.screen, nativeEvent.clientX, nativeEvent.clientY);
|
|
717
|
+
event.global.x = event.screen.x;
|
|
718
|
+
event.global.y = event.screen.y;
|
|
719
|
+
event.offset.x = event.screen.x;
|
|
720
|
+
event.offset.y = event.screen.y;
|
|
721
|
+
return event;
|
|
722
|
+
}
|
|
723
|
+
_cloneKeyboardEvent(nativeEvent) {
|
|
724
|
+
const event = new KeyboardInputEvent();
|
|
725
|
+
this._copyInputEvent(event, nativeEvent);
|
|
726
|
+
event.altKey = nativeEvent.altKey;
|
|
727
|
+
event.charCode = nativeEvent.charCode;
|
|
728
|
+
event.code = nativeEvent.code;
|
|
729
|
+
event.ctrlKey = nativeEvent.ctrlKey;
|
|
730
|
+
event.isComposing = nativeEvent.isComposing;
|
|
731
|
+
event.key = nativeEvent.key;
|
|
732
|
+
event.keyCode = nativeEvent.keyCode;
|
|
733
|
+
event.location = nativeEvent.location;
|
|
734
|
+
event.metaKey = nativeEvent.metaKey;
|
|
735
|
+
event.repeat = nativeEvent.repeat;
|
|
736
|
+
event.shiftKey = nativeEvent.shiftKey;
|
|
737
|
+
return event;
|
|
738
|
+
}
|
|
739
|
+
setCursor(mode = "default") {
|
|
723
740
|
if (!this.target)
|
|
724
741
|
return;
|
|
725
|
-
mode = mode || "default";
|
|
726
742
|
if (this.cursor === mode) {
|
|
727
743
|
return;
|
|
728
744
|
}
|
|
@@ -761,36 +777,71 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
761
777
|
point.x = (x - rect.left) * (width / rect.width) * multiplier;
|
|
762
778
|
point.y = (y - rect.top) * (height / rect.height) * multiplier;
|
|
763
779
|
}
|
|
764
|
-
|
|
780
|
+
_onKeyDown = (nativeEvent) => {
|
|
781
|
+
const events = this.normalize(nativeEvent);
|
|
782
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
783
|
+
this.emit("keydown", this.event = this._cloneKeyboardEvent(events[i]));
|
|
784
|
+
}
|
|
785
|
+
if (this.event?.cursor) {
|
|
786
|
+
this.setCursor(this.event.cursor);
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
_onKeyPress = (nativeEvent) => {
|
|
790
|
+
const events = this.normalize(nativeEvent);
|
|
791
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
792
|
+
this.emit("keypress", this.event = this._cloneKeyboardEvent(events[i]));
|
|
793
|
+
}
|
|
794
|
+
if (this.event?.cursor) {
|
|
795
|
+
this.setCursor(this.event.cursor);
|
|
796
|
+
}
|
|
797
|
+
};
|
|
798
|
+
_onKeyUp = (nativeEvent) => {
|
|
799
|
+
const events = this.normalize(nativeEvent);
|
|
800
|
+
for (let i = 0, len = events.length; i < len; i++) {
|
|
801
|
+
this.emit("keyup", this.event = this._cloneKeyboardEvent(events[i]));
|
|
802
|
+
}
|
|
803
|
+
if (this.event?.cursor) {
|
|
804
|
+
this.setCursor(this.event.cursor);
|
|
805
|
+
}
|
|
806
|
+
};
|
|
807
|
+
_onPointerDown = (nativeEvent) => {
|
|
765
808
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
766
809
|
return;
|
|
767
810
|
const events = this.normalize(nativeEvent);
|
|
768
811
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
769
|
-
this.emit("pointerdown", this.event = this.
|
|
812
|
+
this.emit("pointerdown", this.event = this._clonePointerEvent(events[i]));
|
|
813
|
+
}
|
|
814
|
+
if (this.event?.cursor) {
|
|
815
|
+
this.setCursor(this.event.cursor);
|
|
770
816
|
}
|
|
771
|
-
this.setCursor(this.cursor);
|
|
772
817
|
};
|
|
773
|
-
|
|
818
|
+
_onPointerOver = (nativeEvent) => {
|
|
774
819
|
if (!this.enableClickEvent)
|
|
775
820
|
return;
|
|
776
821
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
777
822
|
return;
|
|
778
823
|
const events = this.normalize(nativeEvent);
|
|
779
824
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
780
|
-
this.emit("pointerover", this.event = this.
|
|
825
|
+
this.emit("pointerover", this.event = this._clonePointerEvent(events[i]));
|
|
826
|
+
}
|
|
827
|
+
if (this.event?.cursor) {
|
|
828
|
+
this.setCursor(this.event.cursor);
|
|
781
829
|
}
|
|
782
830
|
};
|
|
783
|
-
|
|
831
|
+
_onPointerMove = (nativeEvent) => {
|
|
784
832
|
if (!this.enableMoveEvent)
|
|
785
833
|
return;
|
|
786
834
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
787
835
|
return;
|
|
788
836
|
const events = this.normalize(nativeEvent);
|
|
789
837
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
790
|
-
this.emit("pointermove", this.event = this.
|
|
838
|
+
this.emit("pointermove", this.event = this._clonePointerEvent(events[i]));
|
|
839
|
+
}
|
|
840
|
+
if (this.event?.cursor) {
|
|
841
|
+
this.setCursor(this.event.cursor);
|
|
791
842
|
}
|
|
792
843
|
};
|
|
793
|
-
|
|
844
|
+
_onPointerUp = (nativeEvent) => {
|
|
794
845
|
if (!this.enableClickEvent)
|
|
795
846
|
return;
|
|
796
847
|
if (SUPPORTS_TOUCH_EVENTS && nativeEvent.pointerType === "touch")
|
|
@@ -802,17 +853,23 @@ class Input extends modernIdoc.EventEmitter {
|
|
|
802
853
|
const outside = target !== this.target ? "outside" : "";
|
|
803
854
|
const events = this.normalize(nativeEvent);
|
|
804
855
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
805
|
-
const event = this.
|
|
856
|
+
const event = this._clonePointerEvent(events[i]);
|
|
806
857
|
event.type += outside;
|
|
807
858
|
this.emit("pointerup", this.event = event);
|
|
808
859
|
}
|
|
860
|
+
if (this.event?.cursor) {
|
|
861
|
+
this.setCursor(this.event.cursor);
|
|
862
|
+
}
|
|
809
863
|
};
|
|
810
|
-
|
|
864
|
+
_onWheel = (nativeEvent) => {
|
|
811
865
|
if (!this.enableWheelEvent)
|
|
812
866
|
return;
|
|
813
867
|
const events = this.normalize(nativeEvent);
|
|
814
868
|
for (let i = 0, len = events.length; i < len; i++) {
|
|
815
|
-
this.emit("wheel", this.event = this.
|
|
869
|
+
this.emit("wheel", this.event = this._cloneWheelEvent(events[i]));
|
|
870
|
+
}
|
|
871
|
+
if (this.event?.cursor) {
|
|
872
|
+
this.setCursor(this.event.cursor);
|
|
816
873
|
}
|
|
817
874
|
};
|
|
818
875
|
}
|
|
@@ -2103,13 +2160,13 @@ class Vector3 extends Vector {
|
|
|
2103
2160
|
}
|
|
2104
2161
|
}
|
|
2105
2162
|
|
|
2106
|
-
var __defProp$
|
|
2163
|
+
var __defProp$Q = Object.defineProperty;
|
|
2107
2164
|
var __decorateClass$Z = (decorators, target, key, kind) => {
|
|
2108
2165
|
var result = void 0 ;
|
|
2109
2166
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
2110
2167
|
if (decorator = decorators[i])
|
|
2111
2168
|
result = (decorator(target, key, result) ) || result;
|
|
2112
|
-
if (result) __defProp$
|
|
2169
|
+
if (result) __defProp$Q(target, key, result);
|
|
2113
2170
|
return result;
|
|
2114
2171
|
};
|
|
2115
2172
|
class MainLoop extends CoreObject {
|
|
@@ -4304,13 +4361,13 @@ class Geometry extends Resource {
|
|
|
4304
4361
|
}
|
|
4305
4362
|
}
|
|
4306
4363
|
|
|
4307
|
-
var __defProp$
|
|
4364
|
+
var __defProp$P = Object.defineProperty;
|
|
4308
4365
|
var __decorateClass$Y = (decorators, target, key, kind) => {
|
|
4309
4366
|
var result = void 0 ;
|
|
4310
4367
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4311
4368
|
if (decorator = decorators[i])
|
|
4312
4369
|
result = (decorator(target, key, result) ) || result;
|
|
4313
|
-
if (result) __defProp$
|
|
4370
|
+
if (result) __defProp$P(target, key, result);
|
|
4314
4371
|
return result;
|
|
4315
4372
|
};
|
|
4316
4373
|
class IndexBuffer extends Resource {
|
|
@@ -4361,13 +4418,13 @@ __decorateClass$Y([
|
|
|
4361
4418
|
modernIdoc.property({ protected: true, fallback: false })
|
|
4362
4419
|
], IndexBuffer.prototype, "dynamic");
|
|
4363
4420
|
|
|
4364
|
-
var __defProp$
|
|
4421
|
+
var __defProp$O = Object.defineProperty;
|
|
4365
4422
|
var __decorateClass$X = (decorators, target, key, kind) => {
|
|
4366
4423
|
var result = void 0 ;
|
|
4367
4424
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4368
4425
|
if (decorator = decorators[i])
|
|
4369
4426
|
result = (decorator(target, key, result) ) || result;
|
|
4370
|
-
if (result) __defProp$
|
|
4427
|
+
if (result) __defProp$O(target, key, result);
|
|
4371
4428
|
return result;
|
|
4372
4429
|
};
|
|
4373
4430
|
class VertexBuffer extends Resource {
|
|
@@ -4418,13 +4475,13 @@ __decorateClass$X([
|
|
|
4418
4475
|
modernIdoc.property({ protected: true, fallback: false })
|
|
4419
4476
|
], VertexBuffer.prototype, "dynamic");
|
|
4420
4477
|
|
|
4421
|
-
var __defProp$
|
|
4478
|
+
var __defProp$N = Object.defineProperty;
|
|
4422
4479
|
var __decorateClass$W = (decorators, target, key, kind) => {
|
|
4423
4480
|
var result = void 0 ;
|
|
4424
4481
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4425
4482
|
if (decorator = decorators[i])
|
|
4426
4483
|
result = (decorator(target, key, result) ) || result;
|
|
4427
|
-
if (result) __defProp$
|
|
4484
|
+
if (result) __defProp$N(target, key, result);
|
|
4428
4485
|
return result;
|
|
4429
4486
|
};
|
|
4430
4487
|
class VertexAttribute extends Resource {
|
|
@@ -4720,13 +4777,13 @@ class UvGeometry extends Geometry {
|
|
|
4720
4777
|
}
|
|
4721
4778
|
}
|
|
4722
4779
|
|
|
4723
|
-
var __defProp$
|
|
4780
|
+
var __defProp$M = Object.defineProperty;
|
|
4724
4781
|
var __decorateClass$V = (decorators, target, key, kind) => {
|
|
4725
4782
|
var result = void 0 ;
|
|
4726
4783
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4727
4784
|
if (decorator = decorators[i])
|
|
4728
4785
|
result = (decorator(target, key, result) ) || result;
|
|
4729
|
-
if (result) __defProp$
|
|
4786
|
+
if (result) __defProp$M(target, key, result);
|
|
4730
4787
|
return result;
|
|
4731
4788
|
};
|
|
4732
4789
|
class Texture2D extends Resource {
|
|
@@ -4897,13 +4954,13 @@ class AnimatedTexture extends Resource {
|
|
|
4897
4954
|
}
|
|
4898
4955
|
}
|
|
4899
4956
|
|
|
4900
|
-
var __defProp$
|
|
4957
|
+
var __defProp$L = Object.defineProperty;
|
|
4901
4958
|
var __decorateClass$U = (decorators, target, key, kind) => {
|
|
4902
4959
|
var result = void 0 ;
|
|
4903
4960
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
4904
4961
|
if (decorator = decorators[i])
|
|
4905
4962
|
result = (decorator(target, key, result) ) || result;
|
|
4906
|
-
if (result) __defProp$
|
|
4963
|
+
if (result) __defProp$L(target, key, result);
|
|
4907
4964
|
return result;
|
|
4908
4965
|
};
|
|
4909
4966
|
class CanvasTexture extends Texture2D {
|
|
@@ -5142,13 +5199,13 @@ class PixelsTexture extends Texture2D {
|
|
|
5142
5199
|
}
|
|
5143
5200
|
}
|
|
5144
5201
|
|
|
5145
|
-
var __defProp$
|
|
5202
|
+
var __defProp$K = Object.defineProperty;
|
|
5146
5203
|
var __decorateClass$T = (decorators, target, key, kind) => {
|
|
5147
5204
|
var result = void 0 ;
|
|
5148
5205
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5149
5206
|
if (decorator = decorators[i])
|
|
5150
5207
|
result = (decorator(target, key, result) ) || result;
|
|
5151
|
-
if (result) __defProp$
|
|
5208
|
+
if (result) __defProp$K(target, key, result);
|
|
5152
5209
|
return result;
|
|
5153
5210
|
};
|
|
5154
5211
|
function resolveOptions(options) {
|
|
@@ -5631,14 +5688,14 @@ class Children extends Array {
|
|
|
5631
5688
|
}
|
|
5632
5689
|
}
|
|
5633
5690
|
|
|
5634
|
-
var __defProp$
|
|
5691
|
+
var __defProp$J = Object.defineProperty;
|
|
5635
5692
|
var __getOwnPropDesc$J = Object.getOwnPropertyDescriptor;
|
|
5636
5693
|
var __decorateClass$S = (decorators, target, key, kind) => {
|
|
5637
5694
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$J(target, key) : target;
|
|
5638
5695
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
5639
5696
|
if (decorator = decorators[i])
|
|
5640
5697
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
5641
|
-
if (kind && result) __defProp$
|
|
5698
|
+
if (kind && result) __defProp$J(target, key, result);
|
|
5642
5699
|
return result;
|
|
5643
5700
|
};
|
|
5644
5701
|
const iidMap = {};
|
|
@@ -5912,10 +5969,16 @@ exports.Node = class Node extends CoreObject {
|
|
|
5912
5969
|
}
|
|
5913
5970
|
}
|
|
5914
5971
|
input(event, key) {
|
|
5972
|
+
if (event.propagationStopped) {
|
|
5973
|
+
return;
|
|
5974
|
+
}
|
|
5915
5975
|
const array = this._children.internal;
|
|
5916
5976
|
for (let i = array.length - 1; i >= 0; i--) {
|
|
5917
5977
|
array[i].input(event, key);
|
|
5918
5978
|
}
|
|
5979
|
+
if (event.propagationStopped) {
|
|
5980
|
+
return;
|
|
5981
|
+
}
|
|
5919
5982
|
this._input(event, key);
|
|
5920
5983
|
}
|
|
5921
5984
|
getIndex() {
|
|
@@ -6150,14 +6213,14 @@ exports.Node = __decorateClass$S([
|
|
|
6150
6213
|
customNode("Node")
|
|
6151
6214
|
], exports.Node);
|
|
6152
6215
|
|
|
6153
|
-
var __defProp$
|
|
6216
|
+
var __defProp$I = Object.defineProperty;
|
|
6154
6217
|
var __getOwnPropDesc$I = Object.getOwnPropertyDescriptor;
|
|
6155
6218
|
var __decorateClass$R = (decorators, target, key, kind) => {
|
|
6156
6219
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$I(target, key) : target;
|
|
6157
6220
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6158
6221
|
if (decorator = decorators[i])
|
|
6159
6222
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6160
|
-
if (kind && result) __defProp$
|
|
6223
|
+
if (kind && result) __defProp$I(target, key, result);
|
|
6161
6224
|
return result;
|
|
6162
6225
|
};
|
|
6163
6226
|
exports.TimelineNode = class TimelineNode extends exports.Node {
|
|
@@ -6233,14 +6296,14 @@ exports.TimelineNode = __decorateClass$R([
|
|
|
6233
6296
|
customNode("TimelineNode")
|
|
6234
6297
|
], exports.TimelineNode);
|
|
6235
6298
|
|
|
6236
|
-
var __defProp$
|
|
6299
|
+
var __defProp$H = Object.defineProperty;
|
|
6237
6300
|
var __getOwnPropDesc$H = Object.getOwnPropertyDescriptor;
|
|
6238
6301
|
var __decorateClass$Q = (decorators, target, key, kind) => {
|
|
6239
6302
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$H(target, key) : target;
|
|
6240
6303
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6241
6304
|
if (decorator = decorators[i])
|
|
6242
6305
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6243
|
-
if (kind && result) __defProp$
|
|
6306
|
+
if (kind && result) __defProp$H(target, key, result);
|
|
6244
6307
|
return result;
|
|
6245
6308
|
};
|
|
6246
6309
|
exports.CanvasItem = class CanvasItem extends exports.TimelineNode {
|
|
@@ -6408,14 +6471,14 @@ exports.CanvasItem = __decorateClass$Q([
|
|
|
6408
6471
|
customNode("CanvasItem")
|
|
6409
6472
|
], exports.CanvasItem);
|
|
6410
6473
|
|
|
6411
|
-
var __defProp$
|
|
6474
|
+
var __defProp$G = Object.defineProperty;
|
|
6412
6475
|
var __getOwnPropDesc$G = Object.getOwnPropertyDescriptor;
|
|
6413
6476
|
var __decorateClass$P = (decorators, target, key, kind) => {
|
|
6414
6477
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$G(target, key) : target;
|
|
6415
6478
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6416
6479
|
if (decorator = decorators[i])
|
|
6417
6480
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6418
|
-
if (kind && result) __defProp$
|
|
6481
|
+
if (kind && result) __defProp$G(target, key, result);
|
|
6419
6482
|
return result;
|
|
6420
6483
|
};
|
|
6421
6484
|
exports.Viewport = class Viewport extends exports.Node {
|
|
@@ -6572,14 +6635,14 @@ exports.Viewport = __decorateClass$P([
|
|
|
6572
6635
|
customNode("Viewport")
|
|
6573
6636
|
], exports.Viewport);
|
|
6574
6637
|
|
|
6575
|
-
var __defProp$
|
|
6638
|
+
var __defProp$F = Object.defineProperty;
|
|
6576
6639
|
var __getOwnPropDesc$F = Object.getOwnPropertyDescriptor;
|
|
6577
6640
|
var __decorateClass$O = (decorators, target, key, kind) => {
|
|
6578
6641
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$F(target, key) : target;
|
|
6579
6642
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6580
6643
|
if (decorator = decorators[i])
|
|
6581
6644
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6582
|
-
if (kind && result) __defProp$
|
|
6645
|
+
if (kind && result) __defProp$F(target, key, result);
|
|
6583
6646
|
return result;
|
|
6584
6647
|
};
|
|
6585
6648
|
exports.Effect = class Effect extends exports.TimelineNode {
|
|
@@ -6863,14 +6926,14 @@ class RenderStack {
|
|
|
6863
6926
|
}
|
|
6864
6927
|
}
|
|
6865
6928
|
|
|
6866
|
-
var __defProp$
|
|
6929
|
+
var __defProp$E = Object.defineProperty;
|
|
6867
6930
|
var __getOwnPropDesc$E = Object.getOwnPropertyDescriptor;
|
|
6868
6931
|
var __decorateClass$N = (decorators, target, key, kind) => {
|
|
6869
6932
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$E(target, key) : target;
|
|
6870
6933
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6871
6934
|
if (decorator = decorators[i])
|
|
6872
6935
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
6873
|
-
if (kind && result) __defProp$
|
|
6936
|
+
if (kind && result) __defProp$E(target, key, result);
|
|
6874
6937
|
return result;
|
|
6875
6938
|
};
|
|
6876
6939
|
exports.Timeline = class Timeline extends exports.Node {
|
|
@@ -6946,13 +7009,13 @@ exports.Window = __decorateClass$M([
|
|
|
6946
7009
|
customNode("Window")
|
|
6947
7010
|
], exports.Window);
|
|
6948
7011
|
|
|
6949
|
-
var __defProp$
|
|
7012
|
+
var __defProp$D = Object.defineProperty;
|
|
6950
7013
|
var __decorateClass$L = (decorators, target, key, kind) => {
|
|
6951
7014
|
var result = void 0 ;
|
|
6952
7015
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
6953
7016
|
if (decorator = decorators[i])
|
|
6954
7017
|
result = (decorator(target, key, result) ) || result;
|
|
6955
|
-
if (result) __defProp$
|
|
7018
|
+
if (result) __defProp$D(target, key, result);
|
|
6956
7019
|
return result;
|
|
6957
7020
|
};
|
|
6958
7021
|
class SceneTree extends MainLoop {
|
|
@@ -7056,14 +7119,14 @@ exports.Transition = __decorateClass$K([
|
|
|
7056
7119
|
})
|
|
7057
7120
|
], exports.Transition);
|
|
7058
7121
|
|
|
7059
|
-
var __defProp$
|
|
7122
|
+
var __defProp$C = Object.defineProperty;
|
|
7060
7123
|
var __getOwnPropDesc$B = Object.getOwnPropertyDescriptor;
|
|
7061
7124
|
var __decorateClass$J = (decorators, target, key, kind) => {
|
|
7062
7125
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$B(target, key) : target;
|
|
7063
7126
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7064
7127
|
if (decorator = decorators[i])
|
|
7065
7128
|
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7066
|
-
if (kind && result) __defProp$
|
|
7129
|
+
if (kind && result) __defProp$C(target, key, result);
|
|
7067
7130
|
return result;
|
|
7068
7131
|
};
|
|
7069
7132
|
exports.Node2D = class Node2D extends exports.CanvasItem {
|
|
@@ -7176,18 +7239,21 @@ exports.Node2D = __decorateClass$J([
|
|
|
7176
7239
|
customNode("Node2D")
|
|
7177
7240
|
], exports.Node2D);
|
|
7178
7241
|
|
|
7242
|
+
var __defProp$B = Object.defineProperty;
|
|
7179
7243
|
var __getOwnPropDesc$A = Object.getOwnPropertyDescriptor;
|
|
7180
7244
|
var __decorateClass$I = (decorators, target, key, kind) => {
|
|
7181
7245
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$A(target, key) : target;
|
|
7182
7246
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
7183
7247
|
if (decorator = decorators[i])
|
|
7184
|
-
result = (decorator(result)) || result;
|
|
7248
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
7249
|
+
if (kind && result) __defProp$B(target, key, result);
|
|
7185
7250
|
return result;
|
|
7186
7251
|
};
|
|
7187
7252
|
exports.Camera2D = class Camera2D extends exports.Node2D {
|
|
7188
7253
|
zoom = new Vector2(1, 1).on("update", () => this.updateCanvasTransform());
|
|
7189
7254
|
maxZoom = new Vector2(6, 6);
|
|
7190
7255
|
minZoom = new Vector2(0.1, 0.1);
|
|
7256
|
+
_screenOffset = { x: 0, y: 0 };
|
|
7191
7257
|
constructor(properties, nodes = []) {
|
|
7192
7258
|
super();
|
|
7193
7259
|
this.setProperties(properties).append(nodes);
|
|
@@ -7208,24 +7274,65 @@ exports.Camera2D = class Camera2D extends exports.Node2D {
|
|
|
7208
7274
|
}
|
|
7209
7275
|
_input(event, key) {
|
|
7210
7276
|
super._input(event, key);
|
|
7211
|
-
if (key === "
|
|
7277
|
+
if (key === "keydown") {
|
|
7212
7278
|
const e = event;
|
|
7213
|
-
if (e.
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7279
|
+
if (!this.spaceKey && e.code === "Space") {
|
|
7280
|
+
e.cursor = "grab";
|
|
7281
|
+
this.spaceKey = true;
|
|
7282
|
+
}
|
|
7283
|
+
} else if (key === "keyup") {
|
|
7284
|
+
const e = event;
|
|
7285
|
+
if (e.code === "Space") {
|
|
7286
|
+
e.cursor = "default";
|
|
7287
|
+
this.spaceKey = false;
|
|
7288
|
+
this.grabbing = false;
|
|
7289
|
+
}
|
|
7290
|
+
} else if (key === "pointerdown") {
|
|
7291
|
+
const e = event;
|
|
7292
|
+
if (!this.grabbing && (this.spaceKey || e.button === 1)) {
|
|
7293
|
+
this.grabbing = true;
|
|
7294
|
+
e.cursor = "grabbing";
|
|
7295
|
+
this._screenOffset = { x: e.screenX, y: e.screenY };
|
|
7296
|
+
}
|
|
7297
|
+
} else if (key === "pointermove") {
|
|
7298
|
+
const e = event;
|
|
7299
|
+
if (this.grabbing) {
|
|
7300
|
+
this.position.add(
|
|
7301
|
+
-(this._screenOffset.x - e.screenX),
|
|
7302
|
+
-(this._screenOffset.y - e.screenY)
|
|
7303
|
+
);
|
|
7304
|
+
this._screenOffset = { x: e.screenX, y: e.screenY };
|
|
7305
|
+
}
|
|
7306
|
+
} else if (key === "pointerup") {
|
|
7307
|
+
const e = event;
|
|
7308
|
+
if (this.grabbing) {
|
|
7309
|
+
this.grabbing = false;
|
|
7310
|
+
if (this.spaceKey) {
|
|
7311
|
+
e.cursor = "grab";
|
|
7312
|
+
} else {
|
|
7313
|
+
e.cursor = "default";
|
|
7224
7314
|
}
|
|
7225
|
-
}
|
|
7315
|
+
}
|
|
7316
|
+
} else if (key === "wheel") {
|
|
7317
|
+
this._onWheel(event);
|
|
7318
|
+
}
|
|
7319
|
+
}
|
|
7320
|
+
_onWheel(e) {
|
|
7321
|
+
if (e.ctrlKey) {
|
|
7322
|
+
const isTouchPad = e.wheelDeltaY ? Math.abs(Math.abs(e.wheelDeltaY) - Math.abs(3 * e.deltaY)) < 3 : e.deltaMode === 0;
|
|
7323
|
+
if (!isTouchPad) {
|
|
7226
7324
|
e.preventDefault();
|
|
7227
|
-
this.
|
|
7325
|
+
const oldZoom = this.zoom.x;
|
|
7326
|
+
this.addZoom(e.deltaY * -0.015);
|
|
7327
|
+
const ratio = 1 - this.zoom.x / oldZoom;
|
|
7328
|
+
this.position.add(
|
|
7329
|
+
(e.screenX - this.position.x) * ratio,
|
|
7330
|
+
(e.screenY - this.position.y) * ratio
|
|
7331
|
+
);
|
|
7228
7332
|
}
|
|
7333
|
+
} else {
|
|
7334
|
+
e.preventDefault();
|
|
7335
|
+
this.position.add(-e.deltaX, -e.deltaY);
|
|
7229
7336
|
}
|
|
7230
7337
|
}
|
|
7231
7338
|
updateTransform() {
|
|
@@ -7240,6 +7347,12 @@ exports.Camera2D = class Camera2D extends exports.Node2D {
|
|
|
7240
7347
|
this.emit("updateCanvasTransform");
|
|
7241
7348
|
}
|
|
7242
7349
|
};
|
|
7350
|
+
__decorateClass$I([
|
|
7351
|
+
modernIdoc.property({ protected: true, fallback: false })
|
|
7352
|
+
], exports.Camera2D.prototype, "spaceKey", 2);
|
|
7353
|
+
__decorateClass$I([
|
|
7354
|
+
modernIdoc.property({ protected: true, fallback: false })
|
|
7355
|
+
], exports.Camera2D.prototype, "grabbing", 2);
|
|
7243
7356
|
exports.Camera2D = __decorateClass$I([
|
|
7244
7357
|
customNode("Camera2D", {
|
|
7245
7358
|
processMode: "disabled",
|
|
@@ -9337,6 +9450,8 @@ class BaseElement2DOutline extends BaseElement2DFill {
|
|
|
9337
9450
|
switch (key) {
|
|
9338
9451
|
case "width":
|
|
9339
9452
|
case "style":
|
|
9453
|
+
case "lineCap":
|
|
9454
|
+
case "lineJoin":
|
|
9340
9455
|
case "enabled":
|
|
9341
9456
|
this.parent.requestRedraw();
|
|
9342
9457
|
break;
|
|
@@ -9353,7 +9468,8 @@ class BaseElement2DOutline extends BaseElement2DFill {
|
|
|
9353
9468
|
ctx.lineWidth = this.width || 1;
|
|
9354
9469
|
ctx.uvTransform = uvTransform;
|
|
9355
9470
|
ctx.strokeStyle = this._texture ?? this.color;
|
|
9356
|
-
ctx.
|
|
9471
|
+
ctx.lineCap = this.lineCap;
|
|
9472
|
+
ctx.lineJoin = this.lineJoin;
|
|
9357
9473
|
ctx.stroke({ disableWrapMode });
|
|
9358
9474
|
}
|
|
9359
9475
|
}
|
|
@@ -9366,6 +9482,12 @@ __decorateClass$p([
|
|
|
9366
9482
|
__decorateClass$p([
|
|
9367
9483
|
modernIdoc.property({ fallback: "solid" })
|
|
9368
9484
|
], BaseElement2DOutline.prototype, "style");
|
|
9485
|
+
__decorateClass$p([
|
|
9486
|
+
modernIdoc.property({ fallback: "butt" })
|
|
9487
|
+
], BaseElement2DOutline.prototype, "lineCap");
|
|
9488
|
+
__decorateClass$p([
|
|
9489
|
+
modernIdoc.property({ fallback: "miter" })
|
|
9490
|
+
], BaseElement2DOutline.prototype, "lineJoin");
|
|
9369
9491
|
|
|
9370
9492
|
var __defProp$h = Object.defineProperty;
|
|
9371
9493
|
var __decorateClass$o = (decorators, target, key, kind) => {
|
|
@@ -13854,7 +13976,10 @@ class Engine extends SceneTree {
|
|
|
13854
13976
|
"pointerover",
|
|
13855
13977
|
"pointermove",
|
|
13856
13978
|
"pointerup",
|
|
13857
|
-
"wheel"
|
|
13979
|
+
"wheel",
|
|
13980
|
+
"keydown",
|
|
13981
|
+
"keypress",
|
|
13982
|
+
"keyup"
|
|
13858
13983
|
].forEach((key) => {
|
|
13859
13984
|
this.input.on(key, (event) => {
|
|
13860
13985
|
this.root.input(event, key);
|
|
@@ -14032,6 +14157,7 @@ exports.IndexBuffer = IndexBuffer;
|
|
|
14032
14157
|
exports.Input = Input;
|
|
14033
14158
|
exports.InputEvent = InputEvent;
|
|
14034
14159
|
exports.JSONLoader = JSONLoader;
|
|
14160
|
+
exports.KeyboardInputEvent = KeyboardInputEvent;
|
|
14035
14161
|
exports.Loader = Loader;
|
|
14036
14162
|
exports.LottieLoader = LottieLoader;
|
|
14037
14163
|
exports.MainLoop = MainLoop;
|