Browse Source

Added scene.preventDefaultOnPointerDown to prevent unwanted system double clicks

David Catuhe 7 năm trước cách đây
mục cha
commit
8256dd0ae4

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1898 - 1893
dist/preview release/babylon.d.ts


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 14 - 14
dist/preview release/babylon.js


+ 9 - 0
dist/preview release/babylon.max.js

@@ -16711,6 +16711,11 @@ var BABYLON;
             this.constantlyUpdateMeshUnderPointer = false;
             this.hoverCursor = "pointer";
             this.defaultCursor = "";
+            /**
+             * This is used to call preventDefault() on pointer down
+             * in order to block unwanted artifacts like system double clicks
+             */
+            this.preventDefaultOnPointerDown = true;
             // Metadata
             this.metadata = null;
             /**
@@ -17865,6 +17870,10 @@ var BABYLON;
                 _this._pickedDownMesh = null;
                 _this._meshPickProceed = false;
                 _this._updatePointerPosition(evt);
+                if (_this.preventDefaultOnPointerDown) {
+                    evt.preventDefault();
+                    canvas.focus();
+                }
                 // PreObservable support
                 if (_this.onPrePointerObservable.hasObservers()) {
                     var type = BABYLON.PointerEventTypes.POINTERDOWN;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1898 - 1893
dist/preview release/babylon.module.d.ts


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 14 - 14
dist/preview release/babylon.worker.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1707 - 1702
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 14 - 14
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


+ 9 - 0
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -16711,6 +16711,11 @@ var BABYLON;
             this.constantlyUpdateMeshUnderPointer = false;
             this.hoverCursor = "pointer";
             this.defaultCursor = "";
+            /**
+             * This is used to call preventDefault() on pointer down
+             * in order to block unwanted artifacts like system double clicks
+             */
+            this.preventDefaultOnPointerDown = true;
             // Metadata
             this.metadata = null;
             /**
@@ -17865,6 +17870,10 @@ var BABYLON;
                 _this._pickedDownMesh = null;
                 _this._meshPickProceed = false;
                 _this._updatePointerPosition(evt);
+                if (_this.preventDefaultOnPointerDown) {
+                    evt.preventDefault();
+                    canvas.focus();
+                }
                 // PreObservable support
                 if (_this.onPrePointerObservable.hasObservers()) {
                     var type = BABYLON.PointerEventTypes.POINTERDOWN;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1707 - 1702
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts


+ 11 - 1
src/babylon.scene.ts

@@ -181,6 +181,11 @@
 
         public hoverCursor = "pointer";
         public defaultCursor: string = "";
+        /**
+         * This is used to call preventDefault() on pointer down
+         * in order to block unwanted artifacts like system double clicks
+         */
+        public preventDefaultOnPointerDown = true;
 
         // Metadata
         public metadata: any = null;
@@ -1429,6 +1434,11 @@
 
                 this._updatePointerPosition(evt);
 
+                if (this.preventDefaultOnPointerDown) {
+                    evt.preventDefault();
+                    canvas.focus();
+                }
+
                 // PreObservable support
                 if (this.onPrePointerObservable.hasObservers()) {
                     let type = PointerEventTypes.POINTERDOWN;
@@ -1495,7 +1505,7 @@
                 this._pickedUpMesh = null;
                 this._meshPickProceed = false;
 
-                this._updatePointerPosition(evt);
+                this._updatePointerPosition(evt);      
 
                 this._initClickEvent(this.onPrePointerObservable, this.onPointerObservable, evt, (clickInfo: ClickInfo, pickResult: PickingInfo) => {
                     // PreObservable support