Source: gfx/interaction/InteractionData.js

const Vector = require('engine/Vector');

/**
 * Holds all information related to an Interaction event
 *
 * @class
 * @memberof interaction
 */
function InteractionData() {
    /**
     * This point stores the global coords of where the touch/mouse event happened
     *
     * @member {Point}
     */
  this.global = new Vector();

    /**
     * The target Sprite that was interacted with
     *
     * @member {Sprite}
     */
  this.target = null;

    /**
     * When passed to an event handler, this will be the original DOM Event that was captured
     *
     * @member {Event}
     */
  this.originalEvent = null;
}

InteractionData.prototype.constructor = InteractionData;
module.exports = InteractionData;

/**
 * This will return the local coordinates of the specified displayObject for this InteractionData
 *
 * @param displayObject {DisplayObject} The DisplayObject that you would like the local coords off
 * @param [point] {Point} A Point object in which to store the value, optional (otherwise will create a new point)
 * @param [globalPos] {Point} A Point object containing your custom global coords, optional (otherwise will use the current global coords)
 * @return {Point} A point containing the coordinates of the InteractionData position relative to the DisplayObject
 */
InteractionData.prototype.getLocalPosition = function(displayObject, point, globalPos) {
  return displayObject.worldTransform.applyInverse(globalPos || this.global, point);
};