processPointerOverOut(interactionEvent, displayObject, hit)
    {
        const e = interactionEvent.data.originalEvent;

        const id = interactionEvent.data.identifier;

        const isMouse = (e.type === 'mouseover' || e.type === 'mouseout' || e.pointerType === 'mouse');

        let trackingData = displayObject.trackedPointers[id];

        // if we just moused over the display object, then we need to track that state
        if (hit && !trackingData)
        {
            trackingData = displayObject.trackedPointers[id] = new InteractionTrackingData(id);
        }

        if (trackingData === undefined) return;

        if (hit && this.mouseOverRenderer)
        {
            if (!trackingData.over)
            {
                trackingData.over = true;
                this.dispatchEvent(displayObject, 'pointerover', interactionEvent);
                if (isMouse)
                {
                    this.dispatchEvent(displayObject, 'mouseover', interactionEvent);
                }
            }

            // only change the cursor if it has not already been changed (by something deeper in the
            // display tree)
            if (isMouse && this.cursor === null)
            {
                this.cursor = displayObject.cursor;
            }
        }
        else if (trackingData.over)
        {
            trackingData.over = false;
            this.dispatchEvent(displayObject, 'pointerout', this.eventData);
            if (isMouse)
            {
                this.dispatchEvent(displayObject, 'mouseout', interactionEvent);
            }
            // if there is no mouse down information for the pointer, then it is safe to delete
            if (trackingData.none)
            {
                delete displayObject.trackedPointers[id];
            }
        }
    }
/**
     * Processes the result of the pointer over/out check and dispatches the event if need be
     *
     * @private
     * @param {InteractionEvent} interactionEvent - The interaction event wrapping the DOM event
     * @param {PIXI.Container|PIXI.Sprite|PIXI.extras.TilingSprite} displayObject - The display object that was tested
     * @param {boolean} hit - the result of the hit test on the display object
     */
Processes the result of the pointer over/out check and dispatches the event if need be
@private
@param {InteractionEvent} interactionEvent - The interaction event wrapping the DOM event
@param {PIXI.Container|PIXI.Sprite|PIXI.extras.TilingSprite} displayObject - The display object that was tested
@param {boolean} hit - the result of the hit test on the display object
Processes the result of the pointer over / out check and dispatches the event if need be @private @param { InteractionEvent } interactionEvent - The interaction event wrapping the DOM event @param { PIXI . Container|PIXI . Sprite|PIXI . extras . TilingSprite } displayObject - The display object that was tested @param { boolean } hit - the result of the hit test on the display object
processPointerOverOut(interactionEvent, displayObject, hit)
    {
        const e = interactionEvent.data.originalEvent;
        const id = interactionEvent.data.identifier;
        const isMouse = (e.type === 'mouseover' || e.type === 'mouseout' || e.pointerType === 'mouse');
        let trackingData = displayObject.trackedPointers[id];
        if (hit && !trackingData)
        {
            trackingData = displayObject.trackedPointers[id] = new InteractionTrackingData(id);
        }
        if (trackingData === undefined) return;
        if (hit && this.mouseOverRenderer)
        {
            if (!trackingData.over)
            {
                trackingData.over = true;
                this.dispatchEvent(displayObject, 'pointerover', interactionEvent);
                if (isMouse)
                {
                    this.dispatchEvent(displayObject, 'mouseover', interactionEvent);
                }
            }
            if (isMouse && this.cursor === null)
            {
                this.cursor = displayObject.cursor;
            }
        }
        else if (trackingData.over)
        {
            trackingData.over = false;
            this.dispatchEvent(displayObject, 'pointerout', this.eventData);
            if (isMouse)
            {
                this.dispatchEvent(displayObject, 'mouseout', interactionEvent);
            }
            if (trackingData.none)
            {
                delete displayObject.trackedPointers[id];
            }
        }
    }
processPointerOverOut ( interactionEvent , displayObject , hit ) { const e = interactionEvent . data . originalEvent ; const id = interactionEvent . data . identifier ; const isMouse = ( e . type === 'mouseover' || e . type === 'mouseout' || e . pointerType === 'mouse' ) ; let trackingData = displayObject . trackedPointers [ id ] ; if ( hit && ! trackingData ) { trackingData = displayObject . trackedPointers [ id ] = new InteractionTrackingData ( id ) ; } if ( trackingData === undefined ) return ; if ( hit && this . mouseOverRenderer ) { if ( ! trackingData . over ) { trackingData . over = true ; this . dispatchEvent ( displayObject , 'pointerover' , interactionEvent ) ; if ( isMouse ) { this . dispatchEvent ( displayObject , 'mouseover' , interactionEvent ) ; } } if ( isMouse && this . cursor === null ) { this . cursor = displayObject . cursor ; } } else if ( trackingData . over ) { trackingData . over = false ; this . dispatchEvent ( displayObject , 'pointerout' , this . eventData ) ; if ( isMouse ) { this . dispatchEvent ( displayObject , 'mouseout' , interactionEvent ) ; } if ( trackingData . none ) { delete displayObject . trackedPointers [ id ] ; } } }
Processes the result of the pointer over/out check and dispatches the event if need be
 @private
 @param {InteractionEvent} interactionEvent - The interaction event wrapping the DOM event
 @param {PIXI.Container|PIXI.Sprite|PIXI.extras.TilingSprite} displayObject - The display object that was tested
 @param {boolean} hit - the result of the hit test on the display object
Processes the result of the pointer over / out check and dispatches the event if need be @private @param { InteractionEvent } interactionEvent - The interaction event wrapping the DOM event @param { PIXI . Container|PIXI . Sprite|PIXI . extras . TilingSprite } displayObject - The display object that was tested @param { boolean } hit - the result of the hit test on the display object
// if we just moused over the display object, then we need to track that state // only change the cursor if it has not already been changed (by something deeper in the // display tree) // if there is no mouse down information for the pointer, then it is safe to delete