babylonjs-gui 5.20.0 → 5.21.0

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/babylon.gui.d.ts CHANGED
@@ -107,6 +107,8 @@ declare module BABYLON.GUI {
107
107
  private _cursorChanged;
108
108
  private _defaultMousePointerId;
109
109
  /** @hidden */
110
+ _capturedPointerIds: Set<number>;
111
+ /** @hidden */
110
112
  _numLayoutCalls: number;
111
113
  /** Gets the number of layout calls made the last time the ADT has been rendered */
112
114
  get numLayoutCalls(): number;
package/babylon.gui.js CHANGED
@@ -522,6 +522,8 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
522
522
  _this._cursorChanged = false;
523
523
  _this._defaultMousePointerId = 0;
524
524
  /** @hidden */
525
+ _this._capturedPointerIds = new Set();
526
+ /** @hidden */
525
527
  _this._numLayoutCalls = 0;
526
528
  /** @hidden */
527
529
  _this._numRenderCalls = 0;
@@ -1379,6 +1381,11 @@ var AdvancedDynamicTexture = /** @class */ (function (_super) {
1379
1381
  }
1380
1382
  var tempViewport = new core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.Viewport(0, 0, 0, 0);
1381
1383
  this._prePointerObserver = scene.onPrePointerObservable.add(function (pi) {
1384
+ if (scene.isPointerCaptured(pi.event.pointerId) &&
1385
+ pi.type === core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.PointerEventTypes.POINTERUP &&
1386
+ !_this._capturedPointerIds.has(pi.event.pointerId)) {
1387
+ return;
1388
+ }
1382
1389
  if (pi.type !== core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.PointerEventTypes.POINTERMOVE &&
1383
1390
  pi.type !== core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.PointerEventTypes.POINTERUP &&
1384
1391
  pi.type !== core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.PointerEventTypes.POINTERDOWN &&
@@ -6394,6 +6401,9 @@ var Control = /** @class */ (function () {
6394
6401
  if (canNotify && this.parent != null && !this.isPointerBlocker) {
6395
6402
  this.parent._onPointerDown(target, coordinates, pointerId, buttonIndex, pi);
6396
6403
  }
6404
+ if (pi && this.uniqueId !== this._host.rootContainer.uniqueId) {
6405
+ this._host._capturedPointerIds.add(pi.event.pointerId);
6406
+ }
6397
6407
  return true;
6398
6408
  };
6399
6409
  /**
@@ -6419,6 +6429,9 @@ var Control = /** @class */ (function () {
6419
6429
  if (canNotify && this.parent != null && !this.isPointerBlocker) {
6420
6430
  this.parent._onPointerUp(target, coordinates, pointerId, buttonIndex, canNotifyClick, pi);
6421
6431
  }
6432
+ if (pi && this.uniqueId !== this._host.rootContainer.uniqueId) {
6433
+ this._host._capturedPointerIds.delete(pi.event.pointerId);
6434
+ }
6422
6435
  };
6423
6436
  /**
6424
6437
  * @param pointerId