소스 검색

Added a new test to cover pointers

David Catuhe 6 년 전
부모
커밋
525bb11976

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 12522 - 12521
Playground/babylon.d.txt


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 12542 - 12541
dist/preview release/babylon.d.ts


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.js


+ 8 - 1
dist/preview release/babylon.max.js

@@ -26890,11 +26890,18 @@ var BABYLON;
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
+         * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)
          * @returns the current scene
          * @returns the current scene
          */
          */
-        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit) {
+        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit, doubleTap) {
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var clickInfo = new ClickInfo();
             var clickInfo = new ClickInfo();
+            if (doubleTap) {
+                clickInfo.doubleClick = true;
+            }
+            else {
+                clickInfo.singleClick = true;
+            }
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
                 return this;
                 return this;
             }
             }

+ 8 - 1
dist/preview release/babylon.no-module.max.js

@@ -26857,11 +26857,18 @@ var BABYLON;
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
+         * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)
          * @returns the current scene
          * @returns the current scene
          */
          */
-        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit) {
+        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit, doubleTap) {
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var clickInfo = new ClickInfo();
             var clickInfo = new ClickInfo();
+            if (doubleTap) {
+                clickInfo.doubleClick = true;
+            }
+            else {
+                clickInfo.singleClick = true;
+            }
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
                 return this;
                 return this;
             }
             }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/babylon.worker.js


+ 8 - 1
dist/preview release/es6.js

@@ -26857,11 +26857,18 @@ var BABYLON;
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
+         * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)
          * @returns the current scene
          * @returns the current scene
          */
          */
-        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit) {
+        Scene.prototype.simulatePointerUp = function (pickResult, pointerEventInit, doubleTap) {
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var evt = new PointerEvent("pointerup", pointerEventInit);
             var clickInfo = new ClickInfo();
             var clickInfo = new ClickInfo();
+            if (doubleTap) {
+                clickInfo.doubleClick = true;
+            }
+            else {
+                clickInfo.singleClick = true;
+            }
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
             if (this._checkPrePointerObservable(pickResult, evt, BABYLON.PointerEventTypes.POINTERUP)) {
                 return this;
                 return this;
             }
             }

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/viewer/babylon.viewer.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
dist/preview release/viewer/babylon.viewer.max.js


+ 8 - 1
src/babylon.scene.ts

@@ -1748,12 +1748,19 @@ module BABYLON {
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * The pickResult parameter can be obtained from a scene.pick or scene.pickWithRay
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pickResult pickingInfo of the object wished to simulate pointer event on
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
          * @param pointerEventInit pointer event state to be used when simulating the pointer event (eg. pointer id for multitouch)
+         * @param doubleTap indicates that the pointer up event should be considered as part of a double click (false by default)
          * @returns the current scene
          * @returns the current scene
          */
          */
-        public simulatePointerUp(pickResult: PickingInfo, pointerEventInit?: PointerEventInit): Scene {
+        public simulatePointerUp(pickResult: PickingInfo, pointerEventInit?: PointerEventInit, doubleTap?: boolean): Scene {
             let evt = new PointerEvent("pointerup", pointerEventInit);
             let evt = new PointerEvent("pointerup", pointerEventInit);
             let clickInfo = new ClickInfo();
             let clickInfo = new ClickInfo();
 
 
+            if (doubleTap) {
+                clickInfo.doubleClick = true;
+            } else {
+                clickInfo.singleClick = true;
+            }
+
             if (this._checkPrePointerObservable(pickResult, evt, PointerEventTypes.POINTERUP)) {
             if (this._checkPrePointerObservable(pickResult, evt, PointerEventTypes.POINTERUP)) {
                 return this;
                 return this;
             }
             }

BIN
tests/validation/ReferenceImages/pointers.png


+ 5 - 0
tests/validation/config.json

@@ -2,6 +2,11 @@
   "root": "https://rawgit.com/BabylonJS/Website/master",
   "root": "https://rawgit.com/BabylonJS/Website/master",
   "tests": [
   "tests": [
     {
     {
+      "title": "Pointers",
+      "playgroundId": "#1GLEJK#5",
+      "referenceImage": "pointers.png"
+    },
+    {
       "title": "LineEdgesRenderer",
       "title": "LineEdgesRenderer",
       "playgroundId": "#T90MQ4#1",
       "playgroundId": "#T90MQ4#1",
       "renderCount": 50,
       "renderCount": 50,