initial commit

This commit is contained in:
2026-03-16 13:53:01 +02:00
parent 631dc7df36
commit 81e6e0a7a2
23381 changed files with 8224173 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
/**
* @description
* A wrapper around HammerJS to register gesture input events with the PIXI DOM Element.
* @class GestureManager
* @memberof jibo.face
*/
/**
* Pan gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PAN
* @readOnly
*/
/**
* Panstart gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANSTART
* @readOnly
*/
/**
* Panmove gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANMOVE
* @readOnly
*/
/**
* Panend gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANEND
* @readOnly
*/
/**
* Pancancel gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANCANCEL
* @readOnly
*/
/**
* Panleft gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANLEFT
* @readOnly
*/
/**
* Panright gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANRIGHT
* @readOnly
*/
/**
* Panup gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANUP
* @readOnly
*/
/**
* Pandown gesture event string.
* @type {string}
* @name jibo.face.GestureManager.PANDOWN
* @readOnly
*/
/**
* Swipe gesture event string.
* @type {string}
* @name jibo.face.GestureManager.SWIPE
* @readOnly
*/
/**
* Swipeleft gesture event string.
* @type {string}
* @name jibo.face.GestureManager.SWIPELEFT
* @readOnly
*/
/**
* Swiperight gesture event string.
* @type {string}
* @name jibo.face.GestureManager.SWIPERIGHT
* @readOnly
*/
/**
* Swipeup gesture event string.
* @type {string}
* @name jibo.face.GestureManager.SWIPEUP
* @readOnly
*/
/**
* Swipedown gesture event string.
* @type {string}
* @name jibo.face.GestureManager.SWIPEDOWN
* @readOnly
*/
/**
* Tap gesture event string.
* @type {string}
* @name jibo.face.GestureManager.TAP
* @readOnly
*/
/**
* Pixi gesture.
* Instance of HammerJS.Manager
* @type {*}
* @name jibo.face.GestureManager#_hammerManager
* @private
*/
/**
* Create the singleton instance of the GestureManager.
* @method jibo.face.GestureManager.init
* @return {jibo.face.GestureManager}
*/
/**
* Instantiate a HammerJS Manager object with the PIXI renderer.
* This should be called before a call to addStageGesture.
* @method jibo.face.GestureManager#init
* @param {PIXI.WebGLRenderer} renderer - The pixi renderer object.
*/
/**
* Get a reference to HammerJS,
* @method jibo.face.GestureManager#hammer
* @return {Object} The HammerJS object. See [hammer's documentation](http://hammerjs.github.io/getting-started/)
* for information on what objects are accessible through this module.
* @readOnly
*/
/**
* Stop all recognizers.
* @method jibo.face.GestureManager#stop
*/
/**
* Add a gesture recognized by the PIXI renderer stage DOM element.
* See [hammer's documentation](http://hammerjs.github.io/getting-started/) for specifics on gesture options and hammer api objects.
* @method jibo.face.GestureManager#addStageGesture
* @param {Object} hammerType - This can be retrieved from the jibo.face.gestures.hammer reference. This is the hammer object type to be instantiated to create the gesture.
* eg. ```jibo.face.gestures.hammer.Pan```
* @param {Object} gestureOptions - This varies between each gesture. This must include an event field (which is of type string, some of which are specified as constants in this class).
* eg. ```event { GestureManager.SWIPE }```
* @param {Function(Object)} gestureCallback - Upon successful gesture recognition against the supplied displayobject, this callback will be triggered.
* It will have the event parameter supplied from the HammerJS event callback.
* @return {Object | null} The hammer object which was successfully created, or null if it was not successfully created.
* An example in calling this would be:
* ```
* GestureManager.addStageGesture(pixiDisplayObject,
* jibo.face.gestures.hammer.Swipe,
* { event: blackboard.GestureManager.SWIPELEFT},
* function(gestureEvent){
* // Got event!
* });
* ```
*/
/**
* Removes a gesture for Hammer Manager.
* @method jibo.face.GestureManager#removeStateGesture
* @param {any} gestureRecognizer - The gesture to remove.
*/
/**
* Allows a gesture event to be 'spoofed', useful for testing.
* @method jibo.face.GestureManager#spoofGesture
* @param {String} [gestureEvent = tap] - Type of gesture event to spoof. Defaults to event for a tap.
* @param {Number} [xPos = 0] - The x position of input.
* @param {Number} [yPos = 0] - The y position of input.
*/
/**
* Allows a gesture event to be 'spoofed' with options provided.
* @method jibo.face.GestureManager#spoofGestureWithOptions
* @param {String} [gestureEvent = tap] - Type of gesture event to spoof. Defaults to event for a tap.
* @param {any} options - Options that HammerJs uses to fire correct event.
*/
/**
* Spoofs left/right pan gesture on the screen that will trigger list page swiping
* @method jibo.face.GestureManager#spoofFullPanGesture
* @param {Boolean} [panLeft = true] - Type of pan event to spoof. Defaults to left pan.
*/