• Prabir Pradhan's avatar
    Exo: Support multiple touch surfaces · 89d20c2e
    Prabir Pradhan authored
    Exo previously dispatched all touch events to one focused surface: the
    surface where the first touch point landed. For ARC++, this does not work
    for supporting multiple displays because the display for the touch is
    determined from the surface of the touch event. Therefore each touch
    down event needs to be sent to the correct surface that it was directed
    to.
    
    This CL adds two unordered_maps to track the touch pointers and their
    target surfaces: one mapping the touch pointer id to its surface, and
    mapping the surface to the number of pointers on the surface. The latter
    is needed to know when to stop tracking the surface's lifecycle.
    
    Bug: b/145027838
    Change-Id: I4121dac9c39bd9fb569df94330107ed382fe7234
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1931584
    Commit-Queue: Prabir Pradhan <prabirmsp@chromium.org>
    Auto-Submit: Prabir Pradhan <prabirmsp@chromium.org>
    Reviewed-by: default avatarMitsuru Oshima <oshima@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#732700}
    89d20c2e
touch.cc 7 KB