canvu-react 0.3.22 → 0.3.24
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 +18 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +18 -9
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +73 -52
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +73 -52
- package/dist/react.js.map +1 -1
- package/dist/realtime.cjs +1 -6
- package/dist/realtime.cjs.map +1 -1
- package/dist/realtime.js +1 -6
- package/dist/realtime.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -561,16 +561,23 @@ function distanceBetween(a, b) {
|
|
|
561
561
|
function midpoint(a, b) {
|
|
562
562
|
return { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 };
|
|
563
563
|
}
|
|
564
|
-
function
|
|
565
|
-
switch (
|
|
564
|
+
function wheelDeltaPixels(delta, deltaMode) {
|
|
565
|
+
switch (deltaMode) {
|
|
566
566
|
case WheelEvent.DOM_DELTA_LINE:
|
|
567
|
-
return
|
|
567
|
+
return delta * 16;
|
|
568
568
|
case WheelEvent.DOM_DELTA_PAGE:
|
|
569
|
-
return
|
|
569
|
+
return delta * 400;
|
|
570
570
|
default:
|
|
571
|
-
return
|
|
571
|
+
return delta;
|
|
572
572
|
}
|
|
573
573
|
}
|
|
574
|
+
var TRACKPAD_MAX_DELTA = 20;
|
|
575
|
+
var MOUSE_WHEEL_DAMPING = 0.4;
|
|
576
|
+
function softenWheelDelta(d) {
|
|
577
|
+
const a = Math.abs(d);
|
|
578
|
+
if (a <= TRACKPAD_MAX_DELTA) return d;
|
|
579
|
+
return Math.sign(d) * (TRACKPAD_MAX_DELTA + (a - TRACKPAD_MAX_DELTA) * MOUSE_WHEEL_DAMPING);
|
|
580
|
+
}
|
|
574
581
|
function attachViewportInput(options) {
|
|
575
582
|
const {
|
|
576
583
|
element,
|
|
@@ -593,8 +600,8 @@ function attachViewportInput(options) {
|
|
|
593
600
|
const onWheel = (e) => {
|
|
594
601
|
if (e.ctrlKey || e.metaKey) {
|
|
595
602
|
e.preventDefault();
|
|
596
|
-
const dy =
|
|
597
|
-
const normDy = Math.abs(dy) <
|
|
603
|
+
const dy = wheelDeltaPixels(e.deltaY, e.deltaMode);
|
|
604
|
+
const normDy = Math.abs(dy) < TRACKPAD_MAX_DELTA ? dy * 12 : dy;
|
|
598
605
|
const factor = Math.exp(-normDy * wheelZoomSensitivity);
|
|
599
606
|
const rect = element.getBoundingClientRect();
|
|
600
607
|
camera.setZoom(camera.zoom * factor, {
|
|
@@ -605,8 +612,10 @@ function attachViewportInput(options) {
|
|
|
605
612
|
return;
|
|
606
613
|
}
|
|
607
614
|
e.preventDefault();
|
|
608
|
-
|
|
609
|
-
|
|
615
|
+
const panDx = softenWheelDelta(wheelDeltaPixels(e.deltaX, e.deltaMode));
|
|
616
|
+
const panDy = softenWheelDelta(wheelDeltaPixels(e.deltaY, e.deltaMode));
|
|
617
|
+
camera.x -= panDx * wheelPanSensitivity / camera.zoom;
|
|
618
|
+
camera.y -= panDy * wheelPanSensitivity / camera.zoom;
|
|
610
619
|
onUpdate();
|
|
611
620
|
};
|
|
612
621
|
const onPointerDown = (e) => {
|