[ui][input] Add RelativeLocation struct in mouse_binding.

The new struct carries relative mouse movement in two fields:
- device-specific "counts" (status quo)
- "millimeters" (new)

This change also does the following:
- Update all existing uses of MouseLocation::Relative to use RelativeLocation::counts.
- Set all instances of RelativeLocation::millimeters() to zero -- making
  this field meaningful is covered by a separate bug (102566).
- Update unit tests to validate the new struct, but only the counts field.

Fixed: 102562
Test: fx test input_pipeline_lib_tests
Change-Id: I13dc8990a33dbe6ff3cd5a014c3a88f761147c15
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/692725
Commit-Queue: Caroline Liu <carolineliu@google.com>
Reviewed-by: Filip Filmar <fmil@google.com>
7 files changed
tree: 8e1cbfb8cc76e3ff301f1513f6e04aaa147bcfaa
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.