/**
* Default property values of interactive objects
* Used by {@link PIXI.interaction.InteractionManager} to automatically give all DisplayObjects these properties
*
* @mixin
* @name interactiveTarget
* @memberof PIXI.interaction
* @example
* function MyObject() {}
*
* Object.assign(
* core.DisplayObject.prototype,
* PIXI.interaction.interactiveTarget
* );
*/
export default {
/**
* Determines if the displayObject be clicked/touched
*
* @inner {boolean}
*/
interactive: false,
/**
* Determines if the children to the displayObject can be clicked/touched
* Setting this to false allows pixi to bypass a recursive hitTest function
*
* @inner {boolean}
*/
interactiveChildren: true,
/**
* Interaction shape. Children will be hit first, then this shape will be checked.
* Setting this will cause this shape to be checked in hit tests rather than the displayObject's bounds.
*
* @inner {PIXI.Rectangle|PIXI.Circle|PIXI.Ellipse|PIXI.Polygon|PIXI.RoundedRectangle}
*/
hitArea: null,
/**
* If enabled, the mouse cursor will change when hovered over the displayObject if it is interactive
*
* @inner {boolean}
*/
buttonMode: false,
/**
* If buttonMode is enabled, this defines what CSS cursor property is used when the mouse cursor
* is hovered over the displayObject
*
* @see https://developer.mozilla.org/en/docs/Web/CSS/cursor
*
* @inner {string}
*/
defaultCursor: 'pointer',
/**
* Internal set of all active pointers, by identifier
*
* @returns {Map<number, InteractionTrackingData>} Map of all tracked pointers, by identifier
* @private
*/
getTrackedPointers: function getTrackedPointers()
{
if (this._trackedPointers === undefined) this._trackedPointers = {};
return this._trackedPointers;
},
};