Handle different scale and offset for pointers in InputTarget.
This change allows an InputTarget to have multiple pointers in different scale and offsets. This was done by using an array to store each pointerId to PointerInfo. PointerInfo contains the information that's unique to each pointer, scale and offset. Once the dispatcher is ready to queue the event, the dispatcher will request the InputTarget to gather all it's pointer information and normalize them to a single offset and scale. It will generate a new DispatcherEntry with a new MotionEvent that has all the coordinates in a single offset and scale. It will also set that offset and scale in the MotionEvent so it can be handled properly when sent to the client. Test: InputDispatcherMultiWindowSameTokenTests Test: manually with magnification Bug: 140756730 Change-Id: I449741a4b4b6fd7abc498d0a4b113da56fd42687
Loading
Please register or sign in to comment