mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
/**
|
|
* @author Mat Groves http://matgroves.com/ @Doormat23
|
|
*/
|
|
|
|
/**
|
|
* Holds all information related to an Interaction event
|
|
*
|
|
* @class InteractionData
|
|
* @constructor
|
|
*/
|
|
PIXI.InteractionData = function()
|
|
{
|
|
/**
|
|
* This point stores the global coords of where the touch/mouse event happened
|
|
*
|
|
* @property global
|
|
* @type Point
|
|
*/
|
|
this.global = new PIXI.Point();
|
|
|
|
/**
|
|
* The target Sprite that was interacted with
|
|
*
|
|
* @property target
|
|
* @type Sprite
|
|
*/
|
|
this.target = null;
|
|
|
|
/**
|
|
* When passed to an event handler, this will be the original DOM Event that was captured
|
|
*
|
|
* @property originalEvent
|
|
* @type Event
|
|
*/
|
|
this.originalEvent = null;
|
|
};
|
|
|
|
/**
|
|
* This will return the local coordinates of the specified displayObject for this InteractionData
|
|
*
|
|
* @method getLocalPosition
|
|
* @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)
|
|
* @return {Point} A point containing the coordinates of the InteractionData position relative to the DisplayObject
|
|
*/
|
|
PIXI.InteractionData.prototype.getLocalPosition = function(displayObject, point)
|
|
{
|
|
var worldTransform = displayObject.worldTransform;
|
|
var global = this.global;
|
|
|
|
// do a cheeky transform to get the mouse coords;
|
|
var a00 = worldTransform.a, a01 = worldTransform.c, a02 = worldTransform.tx,
|
|
a10 = worldTransform.b, a11 = worldTransform.d, a12 = worldTransform.ty,
|
|
id = 1 / (a00 * a11 + a01 * -a10);
|
|
|
|
point = point || new PIXI.Point();
|
|
|
|
point.x = a11 * id * global.x + -a01 * id * global.y + (a12 * a01 - a02 * a11) * id;
|
|
point.y = a00 * id * global.y + -a10 * id * global.x + (-a12 * a00 + a02 * a10) * id;
|
|
|
|
// set the mouse coords...
|
|
return point;
|
|
};
|
|
|
|
// constructor
|
|
PIXI.InteractionData.prototype.constructor = PIXI.InteractionData;
|