Details
The flow for the module is as follows:
For each touch event
If it is a new press
Send PointerEnter event (sent to every object up the hierarchy that can handle it)
Send PointerPress event
Cache the drag handler (first element in the hierarchy that can handle it)
Send BeginDrag event to the drag handler
Set the ‘Pressed’ object as Selected in the event system
If this is a continuing press
Process movment
Send DragEvent to the cached drag handler
Handle PointerEnter and PointerExit events if touch moves between objects
If this is a release
Send PointerUp event to the object that received the PointerPress
If the current hover object is the same as the PointerPress object send a PointerClick event
Send a Drop event if there was a drag handler cached
Send a EndDrag event to teh cached drag handler