[PointerEventsListener] Add pointer data resampling utility.

This introduces the PointerDataResampler class that contains
the core logic needed to resample Dart UI pointer data.

PointerEventsListener has been updated to use this class and
the scroll_flutter benchmark now demonstrates how this class
can be used to resample pointer data.

Tracing code previously used for debugging has been moved
from PointerEventsListener to the scroll_flutter benchmark.

Test: fx run-host-tests dart_widget_tests
Change-Id: Ic06e8e0eafd14a6923cceeebfdb49f4f93730d6c
Reviewed-on: https://fuchsia-review.googlesource.com/c/experiences/+/400417
Commit-Queue: David Reveman <reveman@google.com>
Reviewed-by: Sanjay Chouksey <sanjayc@google.com>
Testability-Review: Sanjay Chouksey <sanjayc@google.com>
8 files changed
tree: 81047c5a4143128b9e5c4283305625cdc87fc799
  1. base_shells/
  2. benchmarks/
  3. bin/
  4. examples/
  5. lib/
  6. session_shells/
  7. settings/
  8. tests/
  9. .gitignore
  10. analysis_options.yaml
  11. AUTHORS
  12. BUILD.gn
  13. CONTRIBUTING.md
  14. LICENSE
  15. OWNERS
  16. PATENTS
  17. README.md
README.md

Fuchsia Experiences Repository

This is a companion repository to Fuchsia and contains code that either implements or supports user facing code for the Fuchsia platform. The code provides a majority of the user interface for the Workstation product as well as a small set of examples, tests, and benchmarks.

Build & Run

This repository is a “source petal” included in the Fuchsia Platform Source Tree (FPST) checkout. Code in this repository must be built with Fuchsia in order to be functional, see (the guide)[https://fuchsia.dev/fuchsia-src/development/source_code] for instructions on getting the source.

Hardware

Hardware support should be considered experimental. However, NUC's and Pixelbooks are known to work best. For details on hardware setup see: (Install Fuchsia on a Device)[https://fuchsia.dev/fuchsia-src/development/hardware/paving]

Building

Once you have functional checkout you can (configure a build)[https://fuchsia.dev/fuchsia-src/development/build/fx#configure-a-build] targeting Workstation:

    fx set workstation.<board> # For options run: `fx list-boards`
    fx build

See Fuchsia's (build and pave instructions)[https://fuchsia.dev/fuchsia-src/development/build/build_and_pave_quickstart] for detailed instructions.

Running

Once built, standard Fuchsia workflows for paving, running code, and testing apply. See: (fx workflows)[https://fuchsia.dev/fuchsia-src/development/build/fx] for detailed instructions.