Move Point to Offset (#9277)

* Manually fix every use of Point.x and Point.y

Some of these were moved to dx/dy, but not all.

* Manually convert uses of the old gradient API

* Remove old reference to Point.

* Mechanical changes

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'

* Mechanical changes - dartdocs

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'

* Further improvements and a test

* Fix minor errors from rebasing...

* Roll engine
diff --git a/bin/internal/engine.version b/bin/internal/engine.version
index 97656f8..16408a2 100644
--- a/bin/internal/engine.version
+++ b/bin/internal/engine.version
@@ -1 +1 @@
-059ab3a47165d98cb1d7ac5e2a2e4b50abf39832
+bcc8779cb88c0474f94277efa0ab7c83f14a0a9b
diff --git a/dev/benchmarks/microbenchmarks/lib/gestures/data/velocity_tracker_data.dart b/dev/benchmarks/microbenchmarks/lib/gestures/data/velocity_tracker_data.dart
index b31ee55..f7240d9 100644
--- a/dev/benchmarks/microbenchmarks/lib/gestures/data/velocity_tracker_data.dart
+++ b/dev/benchmarks/microbenchmarks/lib/gestures/data/velocity_tracker_data.dart
@@ -9,1531 +9,1531 @@
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216690896),
     pointer: 1,
-    position: const Point(270.0, 538.2857055664062)
+    position: const Offset(270.0, 538.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690906),
     pointer: 1,
-    position: const Point(270.0, 538.2857055664062)
+    position: const Offset(270.0, 538.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690951),
     pointer: 1,
-    position: const Point(270.0, 530.8571166992188)
+    position: const Offset(270.0, 530.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690959),
     pointer: 1,
-    position: const Point(270.0, 526.8571166992188)
+    position: const Offset(270.0, 526.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690967),
     pointer: 1,
-    position: const Point(270.0, 521.4285888671875)
+    position: const Offset(270.0, 521.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690975),
     pointer: 1,
-    position: const Point(270.0, 515.4285888671875)
+    position: const Offset(270.0, 515.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690983),
     pointer: 1,
-    position: const Point(270.0, 506.8571472167969)
+    position: const Offset(270.0, 506.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690991),
     pointer: 1,
-    position: const Point(268.8571472167969, 496.0)
+    position: const Offset(268.8571472167969, 496.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690998),
     pointer: 1,
-    position: const Point(267.4285583496094, 483.1428527832031)
+    position: const Offset(267.4285583496094, 483.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691006),
     pointer: 1,
-    position: const Point(266.28570556640625, 469.71429443359375)
+    position: const Offset(266.28570556640625, 469.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691014),
     pointer: 1,
-    position: const Point(265.4285583496094, 456.8571472167969)
+    position: const Offset(265.4285583496094, 456.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691021),
     pointer: 1,
-    position: const Point(264.28570556640625, 443.71429443359375)
+    position: const Offset(264.28570556640625, 443.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691029),
     pointer: 1,
-    position: const Point(264.0, 431.71429443359375)
+    position: const Offset(264.0, 431.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691036),
     pointer: 1,
-    position: const Point(263.4285583496094, 421.1428527832031)
+    position: const Offset(263.4285583496094, 421.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691044),
     pointer: 1,
-    position: const Point(263.4285583496094, 412.5714416503906)
+    position: const Offset(263.4285583496094, 412.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691052),
     pointer: 1,
-    position: const Point(263.4285583496094, 404.5714416503906)
+    position: const Offset(263.4285583496094, 404.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691060),
     pointer: 1,
-    position: const Point(263.4285583496094, 396.5714416503906)
+    position: const Offset(263.4285583496094, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691068),
     pointer: 1,
-    position: const Point(264.5714416503906, 390.0)
+    position: const Offset(264.5714416503906, 390.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691075),
     pointer: 1,
-    position: const Point(265.1428527832031, 384.8571472167969)
+    position: const Offset(265.1428527832031, 384.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691083),
     pointer: 1,
-    position: const Point(266.0, 380.28570556640625)
+    position: const Offset(266.0, 380.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691091),
     pointer: 1,
-    position: const Point(266.5714416503906, 376.28570556640625)
+    position: const Offset(266.5714416503906, 376.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691098),
     pointer: 1,
-    position: const Point(267.1428527832031, 373.1428527832031)
+    position: const Offset(267.1428527832031, 373.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691106),
     pointer: 1,
-    position: const Point(267.71429443359375, 370.28570556640625)
+    position: const Offset(267.71429443359375, 370.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691114),
     pointer: 1,
-    position: const Point(268.28570556640625, 367.71429443359375)
+    position: const Offset(268.28570556640625, 367.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691121),
     pointer: 1,
-    position: const Point(268.5714416503906, 366.0)
+    position: const Offset(268.5714416503906, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691130),
     pointer: 1,
-    position: const Point(268.8571472167969, 364.5714416503906)
+    position: const Offset(268.8571472167969, 364.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691137),
     pointer: 1,
-    position: const Point(269.1428527832031, 363.71429443359375)
+    position: const Offset(269.1428527832031, 363.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691145),
     pointer: 1,
-    position: const Point(269.1428527832031, 362.8571472167969)
+    position: const Offset(269.1428527832031, 362.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691153),
     pointer: 1,
-    position: const Point(269.4285583496094, 362.8571472167969)
+    position: const Offset(269.4285583496094, 362.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691168),
     pointer: 1,
-    position: const Point(268.5714416503906, 365.4285583496094)
+    position: const Offset(268.5714416503906, 365.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691176),
     pointer: 1,
-    position: const Point(267.1428527832031, 370.28570556640625)
+    position: const Offset(267.1428527832031, 370.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691183),
     pointer: 1,
-    position: const Point(265.4285583496094, 376.8571472167969)
+    position: const Offset(265.4285583496094, 376.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691191),
     pointer: 1,
-    position: const Point(263.1428527832031, 385.71429443359375)
+    position: const Offset(263.1428527832031, 385.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691199),
     pointer: 1,
-    position: const Point(261.4285583496094, 396.5714416503906)
+    position: const Offset(261.4285583496094, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691207),
     pointer: 1,
-    position: const Point(259.71429443359375, 408.5714416503906)
+    position: const Offset(259.71429443359375, 408.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691215),
     pointer: 1,
-    position: const Point(258.28570556640625, 419.4285583496094)
+    position: const Offset(258.28570556640625, 419.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691222),
     pointer: 1,
-    position: const Point(257.4285583496094, 428.5714416503906)
+    position: const Offset(257.4285583496094, 428.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691230),
     pointer: 1,
-    position: const Point(256.28570556640625, 436.0)
+    position: const Offset(256.28570556640625, 436.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691238),
     pointer: 1,
-    position: const Point(255.7142791748047, 442.0)
+    position: const Offset(255.7142791748047, 442.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691245),
     pointer: 1,
-    position: const Point(255.14285278320312, 447.71429443359375)
+    position: const Offset(255.14285278320312, 447.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691253),
     pointer: 1,
-    position: const Point(254.85714721679688, 453.1428527832031)
+    position: const Offset(254.85714721679688, 453.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691261),
     pointer: 1,
-    position: const Point(254.57142639160156, 458.5714416503906)
+    position: const Offset(254.57142639160156, 458.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691268),
     pointer: 1,
-    position: const Point(254.2857208251953, 463.71429443359375)
+    position: const Offset(254.2857208251953, 463.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691276),
     pointer: 1,
-    position: const Point(254.2857208251953, 470.28570556640625)
+    position: const Offset(254.2857208251953, 470.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691284),
     pointer: 1,
-    position: const Point(254.2857208251953, 477.71429443359375)
+    position: const Offset(254.2857208251953, 477.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691292),
     pointer: 1,
-    position: const Point(255.7142791748047, 487.1428527832031)
+    position: const Offset(255.7142791748047, 487.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691300),
     pointer: 1,
-    position: const Point(256.8571472167969, 498.5714416503906)
+    position: const Offset(256.8571472167969, 498.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691307),
     pointer: 1,
-    position: const Point(258.28570556640625, 507.71429443359375)
+    position: const Offset(258.28570556640625, 507.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691315),
     pointer: 1,
-    position: const Point(259.4285583496094, 516.0)
+    position: const Offset(259.4285583496094, 516.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691323),
     pointer: 1,
-    position: const Point(260.28570556640625, 521.7142944335938)
+    position: const Offset(260.28570556640625, 521.7142944335938)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216691338),
     pointer: 1,
-    position: const Point(260.28570556640625, 521.7142944335938)
+    position: const Offset(260.28570556640625, 521.7142944335938)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216691573),
     pointer: 2,
-    position: const Point(266.0, 327.4285583496094)
+    position: const Offset(266.0, 327.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691588),
     pointer: 2,
-    position: const Point(266.0, 327.4285583496094)
+    position: const Offset(266.0, 327.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691626),
     pointer: 2,
-    position: const Point(261.1428527832031, 337.1428527832031)
+    position: const Offset(261.1428527832031, 337.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691634),
     pointer: 2,
-    position: const Point(258.28570556640625, 343.1428527832031)
+    position: const Offset(258.28570556640625, 343.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691642),
     pointer: 2,
-    position: const Point(254.57142639160156, 354.0)
+    position: const Offset(254.57142639160156, 354.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691650),
     pointer: 2,
-    position: const Point(250.2857208251953, 368.28570556640625)
+    position: const Offset(250.2857208251953, 368.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691657),
     pointer: 2,
-    position: const Point(247.42857360839844, 382.8571472167969)
+    position: const Offset(247.42857360839844, 382.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691665),
     pointer: 2,
-    position: const Point(245.14285278320312, 397.4285583496094)
+    position: const Offset(245.14285278320312, 397.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691673),
     pointer: 2,
-    position: const Point(243.14285278320312, 411.71429443359375)
+    position: const Offset(243.14285278320312, 411.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691680),
     pointer: 2,
-    position: const Point(242.2857208251953, 426.28570556640625)
+    position: const Offset(242.2857208251953, 426.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691688),
     pointer: 2,
-    position: const Point(241.7142791748047, 440.5714416503906)
+    position: const Offset(241.7142791748047, 440.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691696),
     pointer: 2,
-    position: const Point(241.7142791748047, 454.5714416503906)
+    position: const Offset(241.7142791748047, 454.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691703),
     pointer: 2,
-    position: const Point(242.57142639160156, 467.71429443359375)
+    position: const Offset(242.57142639160156, 467.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691712),
     pointer: 2,
-    position: const Point(243.42857360839844, 477.4285583496094)
+    position: const Offset(243.42857360839844, 477.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691720),
     pointer: 2,
-    position: const Point(244.85714721679688, 485.71429443359375)
+    position: const Offset(244.85714721679688, 485.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691727),
     pointer: 2,
-    position: const Point(246.2857208251953, 493.1428527832031)
+    position: const Offset(246.2857208251953, 493.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691735),
     pointer: 2,
-    position: const Point(248.0, 499.71429443359375)
+    position: const Offset(248.0, 499.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216691750),
     pointer: 2,
-    position: const Point(248.0, 499.71429443359375)
+    position: const Offset(248.0, 499.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216692255),
     pointer: 3,
-    position: const Point(249.42857360839844, 351.4285583496094)
+    position: const Offset(249.42857360839844, 351.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692270),
     pointer: 3,
-    position: const Point(249.42857360839844, 351.4285583496094)
+    position: const Offset(249.42857360839844, 351.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692309),
     pointer: 3,
-    position: const Point(246.2857208251953, 361.71429443359375)
+    position: const Offset(246.2857208251953, 361.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692317),
     pointer: 3,
-    position: const Point(244.0, 368.5714416503906)
+    position: const Offset(244.0, 368.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692325),
     pointer: 3,
-    position: const Point(241.42857360839844, 377.71429443359375)
+    position: const Offset(241.42857360839844, 377.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692333),
     pointer: 3,
-    position: const Point(237.7142791748047, 391.71429443359375)
+    position: const Offset(237.7142791748047, 391.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692340),
     pointer: 3,
-    position: const Point(235.14285278320312, 406.5714416503906)
+    position: const Offset(235.14285278320312, 406.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692348),
     pointer: 3,
-    position: const Point(232.57142639160156, 421.4285583496094)
+    position: const Offset(232.57142639160156, 421.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692356),
     pointer: 3,
-    position: const Point(230.2857208251953, 436.5714416503906)
+    position: const Offset(230.2857208251953, 436.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692363),
     pointer: 3,
-    position: const Point(228.2857208251953, 451.71429443359375)
+    position: const Offset(228.2857208251953, 451.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692371),
     pointer: 3,
-    position: const Point(227.42857360839844, 466.0)
+    position: const Offset(227.42857360839844, 466.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692378),
     pointer: 3,
-    position: const Point(226.2857208251953, 479.71429443359375)
+    position: const Offset(226.2857208251953, 479.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692387),
     pointer: 3,
-    position: const Point(225.7142791748047, 491.71429443359375)
+    position: const Offset(225.7142791748047, 491.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692395),
     pointer: 3,
-    position: const Point(225.14285278320312, 501.71429443359375)
+    position: const Offset(225.14285278320312, 501.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692402),
     pointer: 3,
-    position: const Point(224.85714721679688, 509.1428527832031)
+    position: const Offset(224.85714721679688, 509.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692410),
     pointer: 3,
-    position: const Point(224.57142639160156, 514.8571166992188)
+    position: const Offset(224.57142639160156, 514.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692418),
     pointer: 3,
-    position: const Point(224.2857208251953, 519.4285888671875)
+    position: const Offset(224.2857208251953, 519.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692425),
     pointer: 3,
-    position: const Point(224.0, 523.4285888671875)
+    position: const Offset(224.0, 523.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692433),
     pointer: 3,
-    position: const Point(224.0, 527.1428833007812)
+    position: const Offset(224.0, 527.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692441),
     pointer: 3,
-    position: const Point(224.0, 530.5714111328125)
+    position: const Offset(224.0, 530.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692448),
     pointer: 3,
-    position: const Point(224.0, 533.1428833007812)
+    position: const Offset(224.0, 533.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692456),
     pointer: 3,
-    position: const Point(224.0, 535.4285888671875)
+    position: const Offset(224.0, 535.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692464),
     pointer: 3,
-    position: const Point(223.7142791748047, 536.8571166992188)
+    position: const Offset(223.7142791748047, 536.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692472),
     pointer: 3,
-    position: const Point(223.7142791748047, 538.2857055664062)
+    position: const Offset(223.7142791748047, 538.2857055664062)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216692487),
     pointer: 3,
-    position: const Point(223.7142791748047, 538.2857055664062)
+    position: const Offset(223.7142791748047, 538.2857055664062)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216692678),
     pointer: 4,
-    position: const Point(221.42857360839844, 526.2857055664062)
+    position: const Offset(221.42857360839844, 526.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692701),
     pointer: 4,
-    position: const Point(220.57142639160156, 514.8571166992188)
+    position: const Offset(220.57142639160156, 514.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692708),
     pointer: 4,
-    position: const Point(220.2857208251953, 508.0)
+    position: const Offset(220.2857208251953, 508.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692716),
     pointer: 4,
-    position: const Point(220.2857208251953, 498.0)
+    position: const Offset(220.2857208251953, 498.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692724),
     pointer: 4,
-    position: const Point(221.14285278320312, 484.28570556640625)
+    position: const Offset(221.14285278320312, 484.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692732),
     pointer: 4,
-    position: const Point(221.7142791748047, 469.4285583496094)
+    position: const Offset(221.7142791748047, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692740),
     pointer: 4,
-    position: const Point(223.42857360839844, 453.1428527832031)
+    position: const Offset(223.42857360839844, 453.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692748),
     pointer: 4,
-    position: const Point(225.7142791748047, 436.28570556640625)
+    position: const Offset(225.7142791748047, 436.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692755),
     pointer: 4,
-    position: const Point(229.14285278320312, 418.28570556640625)
+    position: const Offset(229.14285278320312, 418.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692763),
     pointer: 4,
-    position: const Point(232.85714721679688, 400.28570556640625)
+    position: const Offset(232.85714721679688, 400.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692770),
     pointer: 4,
-    position: const Point(236.85714721679688, 382.5714416503906)
+    position: const Offset(236.85714721679688, 382.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692778),
     pointer: 4,
-    position: const Point(241.14285278320312, 366.0)
+    position: const Offset(241.14285278320312, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692786),
     pointer: 4,
-    position: const Point(244.85714721679688, 350.28570556640625)
+    position: const Offset(244.85714721679688, 350.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692793),
     pointer: 4,
-    position: const Point(249.14285278320312, 335.4285583496094)
+    position: const Offset(249.14285278320312, 335.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216692809),
     pointer: 4,
-    position: const Point(249.14285278320312, 335.4285583496094)
+    position: const Offset(249.14285278320312, 335.4285583496094)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216693222),
     pointer: 5,
-    position: const Point(224.0, 545.4285888671875)
+    position: const Offset(224.0, 545.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693245),
     pointer: 5,
-    position: const Point(224.0, 545.4285888671875)
+    position: const Offset(224.0, 545.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693275),
     pointer: 5,
-    position: const Point(222.85714721679688, 535.1428833007812)
+    position: const Offset(222.85714721679688, 535.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693284),
     pointer: 5,
-    position: const Point(222.85714721679688, 528.8571166992188)
+    position: const Offset(222.85714721679688, 528.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693291),
     pointer: 5,
-    position: const Point(222.2857208251953, 518.5714111328125)
+    position: const Offset(222.2857208251953, 518.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693299),
     pointer: 5,
-    position: const Point(222.0, 503.4285583496094)
+    position: const Offset(222.0, 503.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693307),
     pointer: 5,
-    position: const Point(222.0, 485.4285583496094)
+    position: const Offset(222.0, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693314),
     pointer: 5,
-    position: const Point(221.7142791748047, 464.0)
+    position: const Offset(221.7142791748047, 464.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693322),
     pointer: 5,
-    position: const Point(222.2857208251953, 440.28570556640625)
+    position: const Offset(222.2857208251953, 440.28570556640625)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216693337),
     pointer: 5,
-    position: const Point(222.2857208251953, 440.28570556640625)
+    position: const Offset(222.2857208251953, 440.28570556640625)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216693985),
     pointer: 6,
-    position: const Point(208.0, 544.0)
+    position: const Offset(208.0, 544.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694047),
     pointer: 6,
-    position: const Point(208.57142639160156, 532.2857055664062)
+    position: const Offset(208.57142639160156, 532.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694054),
     pointer: 6,
-    position: const Point(208.85714721679688, 525.7142944335938)
+    position: const Offset(208.85714721679688, 525.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694062),
     pointer: 6,
-    position: const Point(208.85714721679688, 515.1428833007812)
+    position: const Offset(208.85714721679688, 515.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694070),
     pointer: 6,
-    position: const Point(208.0, 501.4285583496094)
+    position: const Offset(208.0, 501.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694077),
     pointer: 6,
-    position: const Point(207.42857360839844, 487.1428527832031)
+    position: const Offset(207.42857360839844, 487.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694085),
     pointer: 6,
-    position: const Point(206.57142639160156, 472.8571472167969)
+    position: const Offset(206.57142639160156, 472.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694092),
     pointer: 6,
-    position: const Point(206.57142639160156, 458.8571472167969)
+    position: const Offset(206.57142639160156, 458.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694100),
     pointer: 6,
-    position: const Point(206.57142639160156, 446.0)
+    position: const Offset(206.57142639160156, 446.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694108),
     pointer: 6,
-    position: const Point(206.57142639160156, 434.28570556640625)
+    position: const Offset(206.57142639160156, 434.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694116),
     pointer: 6,
-    position: const Point(207.14285278320312, 423.71429443359375)
+    position: const Offset(207.14285278320312, 423.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694124),
     pointer: 6,
-    position: const Point(208.57142639160156, 412.8571472167969)
+    position: const Offset(208.57142639160156, 412.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694131),
     pointer: 6,
-    position: const Point(209.7142791748047, 402.28570556640625)
+    position: const Offset(209.7142791748047, 402.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694139),
     pointer: 6,
-    position: const Point(211.7142791748047, 393.1428527832031)
+    position: const Offset(211.7142791748047, 393.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694147),
     pointer: 6,
-    position: const Point(213.42857360839844, 385.1428527832031)
+    position: const Offset(213.42857360839844, 385.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694154),
     pointer: 6,
-    position: const Point(215.42857360839844, 378.28570556640625)
+    position: const Offset(215.42857360839844, 378.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694162),
     pointer: 6,
-    position: const Point(217.42857360839844, 371.71429443359375)
+    position: const Offset(217.42857360839844, 371.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694169),
     pointer: 6,
-    position: const Point(219.42857360839844, 366.0)
+    position: const Offset(219.42857360839844, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694177),
     pointer: 6,
-    position: const Point(221.42857360839844, 360.8571472167969)
+    position: const Offset(221.42857360839844, 360.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694185),
     pointer: 6,
-    position: const Point(223.42857360839844, 356.5714416503906)
+    position: const Offset(223.42857360839844, 356.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694193),
     pointer: 6,
-    position: const Point(225.14285278320312, 352.28570556640625)
+    position: const Offset(225.14285278320312, 352.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694201),
     pointer: 6,
-    position: const Point(226.85714721679688, 348.5714416503906)
+    position: const Offset(226.85714721679688, 348.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694209),
     pointer: 6,
-    position: const Point(228.2857208251953, 346.0)
+    position: const Offset(228.2857208251953, 346.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694216),
     pointer: 6,
-    position: const Point(229.14285278320312, 343.71429443359375)
+    position: const Offset(229.14285278320312, 343.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694224),
     pointer: 6,
-    position: const Point(230.0, 342.0)
+    position: const Offset(230.0, 342.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694232),
     pointer: 6,
-    position: const Point(230.57142639160156, 340.5714416503906)
+    position: const Offset(230.57142639160156, 340.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694239),
     pointer: 6,
-    position: const Point(230.85714721679688, 339.71429443359375)
+    position: const Offset(230.85714721679688, 339.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694247),
     pointer: 6,
-    position: const Point(230.85714721679688, 339.4285583496094)
+    position: const Offset(230.85714721679688, 339.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694262),
     pointer: 6,
-    position: const Point(230.2857208251953, 342.0)
+    position: const Offset(230.2857208251953, 342.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694270),
     pointer: 6,
-    position: const Point(228.85714721679688, 346.28570556640625)
+    position: const Offset(228.85714721679688, 346.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694278),
     pointer: 6,
-    position: const Point(227.14285278320312, 352.5714416503906)
+    position: const Offset(227.14285278320312, 352.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694286),
     pointer: 6,
-    position: const Point(225.42857360839844, 359.4285583496094)
+    position: const Offset(225.42857360839844, 359.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694294),
     pointer: 6,
-    position: const Point(223.7142791748047, 367.71429443359375)
+    position: const Offset(223.7142791748047, 367.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694301),
     pointer: 6,
-    position: const Point(222.57142639160156, 376.0)
+    position: const Offset(222.57142639160156, 376.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694309),
     pointer: 6,
-    position: const Point(221.42857360839844, 384.28570556640625)
+    position: const Offset(221.42857360839844, 384.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694317),
     pointer: 6,
-    position: const Point(220.85714721679688, 392.28570556640625)
+    position: const Offset(220.85714721679688, 392.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694324),
     pointer: 6,
-    position: const Point(220.0, 400.5714416503906)
+    position: const Offset(220.0, 400.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694332),
     pointer: 6,
-    position: const Point(219.14285278320312, 409.71429443359375)
+    position: const Offset(219.14285278320312, 409.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694339),
     pointer: 6,
-    position: const Point(218.85714721679688, 419.1428527832031)
+    position: const Offset(218.85714721679688, 419.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694348),
     pointer: 6,
-    position: const Point(218.2857208251953, 428.8571472167969)
+    position: const Offset(218.2857208251953, 428.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694356),
     pointer: 6,
-    position: const Point(218.2857208251953, 438.8571472167969)
+    position: const Offset(218.2857208251953, 438.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694363),
     pointer: 6,
-    position: const Point(218.2857208251953, 447.71429443359375)
+    position: const Offset(218.2857208251953, 447.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694371),
     pointer: 6,
-    position: const Point(218.2857208251953, 455.71429443359375)
+    position: const Offset(218.2857208251953, 455.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694379),
     pointer: 6,
-    position: const Point(219.14285278320312, 462.8571472167969)
+    position: const Offset(219.14285278320312, 462.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694386),
     pointer: 6,
-    position: const Point(220.0, 469.4285583496094)
+    position: const Offset(220.0, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694394),
     pointer: 6,
-    position: const Point(221.14285278320312, 475.4285583496094)
+    position: const Offset(221.14285278320312, 475.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694401),
     pointer: 6,
-    position: const Point(222.0, 480.5714416503906)
+    position: const Offset(222.0, 480.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694409),
     pointer: 6,
-    position: const Point(222.85714721679688, 485.4285583496094)
+    position: const Offset(222.85714721679688, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694417),
     pointer: 6,
-    position: const Point(224.0, 489.71429443359375)
+    position: const Offset(224.0, 489.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694425),
     pointer: 6,
-    position: const Point(224.85714721679688, 492.8571472167969)
+    position: const Offset(224.85714721679688, 492.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694433),
     pointer: 6,
-    position: const Point(225.42857360839844, 495.4285583496094)
+    position: const Offset(225.42857360839844, 495.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694440),
     pointer: 6,
-    position: const Point(226.0, 497.1428527832031)
+    position: const Offset(226.0, 497.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694448),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.28570556640625)
+    position: const Offset(226.2857208251953, 498.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694456),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.8571472167969)
+    position: const Offset(226.2857208251953, 498.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694471),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.28570556640625)
+    position: const Offset(226.2857208251953, 498.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694479),
     pointer: 6,
-    position: const Point(226.2857208251953, 496.5714416503906)
+    position: const Offset(226.2857208251953, 496.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694486),
     pointer: 6,
-    position: const Point(226.2857208251953, 493.71429443359375)
+    position: const Offset(226.2857208251953, 493.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694494),
     pointer: 6,
-    position: const Point(226.2857208251953, 490.0)
+    position: const Offset(226.2857208251953, 490.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694502),
     pointer: 6,
-    position: const Point(226.2857208251953, 486.0)
+    position: const Offset(226.2857208251953, 486.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694510),
     pointer: 6,
-    position: const Point(226.2857208251953, 480.5714416503906)
+    position: const Offset(226.2857208251953, 480.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694518),
     pointer: 6,
-    position: const Point(226.2857208251953, 475.71429443359375)
+    position: const Offset(226.2857208251953, 475.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694525),
     pointer: 6,
-    position: const Point(226.2857208251953, 468.8571472167969)
+    position: const Offset(226.2857208251953, 468.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694533),
     pointer: 6,
-    position: const Point(226.2857208251953, 461.4285583496094)
+    position: const Offset(226.2857208251953, 461.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694541),
     pointer: 6,
-    position: const Point(226.2857208251953, 452.5714416503906)
+    position: const Offset(226.2857208251953, 452.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694548),
     pointer: 6,
-    position: const Point(226.57142639160156, 442.28570556640625)
+    position: const Offset(226.57142639160156, 442.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694556),
     pointer: 6,
-    position: const Point(226.57142639160156, 432.28570556640625)
+    position: const Offset(226.57142639160156, 432.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694564),
     pointer: 6,
-    position: const Point(226.85714721679688, 423.4285583496094)
+    position: const Offset(226.85714721679688, 423.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694571),
     pointer: 6,
-    position: const Point(227.42857360839844, 416.0)
+    position: const Offset(227.42857360839844, 416.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694580),
     pointer: 6,
-    position: const Point(227.7142791748047, 410.0)
+    position: const Offset(227.7142791748047, 410.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694587),
     pointer: 6,
-    position: const Point(228.2857208251953, 404.28570556640625)
+    position: const Offset(228.2857208251953, 404.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694595),
     pointer: 6,
-    position: const Point(228.85714721679688, 399.71429443359375)
+    position: const Offset(228.85714721679688, 399.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694603),
     pointer: 6,
-    position: const Point(229.14285278320312, 395.4285583496094)
+    position: const Offset(229.14285278320312, 395.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694610),
     pointer: 6,
-    position: const Point(229.42857360839844, 392.28570556640625)
+    position: const Offset(229.42857360839844, 392.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694618),
     pointer: 6,
-    position: const Point(229.7142791748047, 390.0)
+    position: const Offset(229.7142791748047, 390.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694625),
     pointer: 6,
-    position: const Point(229.7142791748047, 388.0)
+    position: const Offset(229.7142791748047, 388.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694633),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.8571472167969)
+    position: const Offset(229.7142791748047, 386.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694641),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.28570556640625)
+    position: const Offset(229.7142791748047, 386.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694648),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.0)
+    position: const Offset(229.7142791748047, 386.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694657),
     pointer: 6,
-    position: const Point(228.85714721679688, 386.0)
+    position: const Offset(228.85714721679688, 386.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694665),
     pointer: 6,
-    position: const Point(228.0, 388.0)
+    position: const Offset(228.0, 388.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694672),
     pointer: 6,
-    position: const Point(226.0, 392.5714416503906)
+    position: const Offset(226.0, 392.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694680),
     pointer: 6,
-    position: const Point(224.0, 397.71429443359375)
+    position: const Offset(224.0, 397.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694688),
     pointer: 6,
-    position: const Point(222.0, 404.28570556640625)
+    position: const Offset(222.0, 404.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694695),
     pointer: 6,
-    position: const Point(219.7142791748047, 411.1428527832031)
+    position: const Offset(219.7142791748047, 411.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694703),
     pointer: 6,
-    position: const Point(218.2857208251953, 418.0)
+    position: const Offset(218.2857208251953, 418.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694710),
     pointer: 6,
-    position: const Point(217.14285278320312, 425.4285583496094)
+    position: const Offset(217.14285278320312, 425.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694718),
     pointer: 6,
-    position: const Point(215.7142791748047, 433.4285583496094)
+    position: const Offset(215.7142791748047, 433.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694726),
     pointer: 6,
-    position: const Point(214.85714721679688, 442.28570556640625)
+    position: const Offset(214.85714721679688, 442.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694734),
     pointer: 6,
-    position: const Point(214.0, 454.0)
+    position: const Offset(214.0, 454.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694742),
     pointer: 6,
-    position: const Point(214.0, 469.4285583496094)
+    position: const Offset(214.0, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694749),
     pointer: 6,
-    position: const Point(215.42857360839844, 485.4285583496094)
+    position: const Offset(215.42857360839844, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694757),
     pointer: 6,
-    position: const Point(217.7142791748047, 502.8571472167969)
+    position: const Offset(217.7142791748047, 502.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694765),
     pointer: 6,
-    position: const Point(221.14285278320312, 521.4285888671875)
+    position: const Offset(221.14285278320312, 521.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694772),
     pointer: 6,
-    position: const Point(224.57142639160156, 541.1428833007812)
+    position: const Offset(224.57142639160156, 541.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694780),
     pointer: 6,
-    position: const Point(229.14285278320312, 561.1428833007812)
+    position: const Offset(229.14285278320312, 561.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694788),
     pointer: 6,
-    position: const Point(233.42857360839844, 578.8571166992188)
+    position: const Offset(233.42857360839844, 578.8571166992188)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216694802),
     pointer: 6,
-    position: const Point(233.42857360839844, 578.8571166992188)
+    position: const Offset(233.42857360839844, 578.8571166992188)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216695344),
     pointer: 7,
-    position: const Point(253.42857360839844, 310.5714416503906)
+    position: const Offset(253.42857360839844, 310.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695352),
     pointer: 7,
-    position: const Point(253.42857360839844, 310.5714416503906)
+    position: const Offset(253.42857360839844, 310.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695359),
     pointer: 7,
-    position: const Point(252.85714721679688, 318.0)
+    position: const Offset(252.85714721679688, 318.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695367),
     pointer: 7,
-    position: const Point(251.14285278320312, 322.0)
+    position: const Offset(251.14285278320312, 322.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695375),
     pointer: 7,
-    position: const Point(248.85714721679688, 327.1428527832031)
+    position: const Offset(248.85714721679688, 327.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695382),
     pointer: 7,
-    position: const Point(246.0, 334.8571472167969)
+    position: const Offset(246.0, 334.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695390),
     pointer: 7,
-    position: const Point(242.57142639160156, 344.5714416503906)
+    position: const Offset(242.57142639160156, 344.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695397),
     pointer: 7,
-    position: const Point(238.85714721679688, 357.4285583496094)
+    position: const Offset(238.85714721679688, 357.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695406),
     pointer: 7,
-    position: const Point(235.7142791748047, 371.71429443359375)
+    position: const Offset(235.7142791748047, 371.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695414),
     pointer: 7,
-    position: const Point(232.2857208251953, 386.8571472167969)
+    position: const Offset(232.2857208251953, 386.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695421),
     pointer: 7,
-    position: const Point(229.42857360839844, 402.0)
+    position: const Offset(229.42857360839844, 402.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695429),
     pointer: 7,
-    position: const Point(227.42857360839844, 416.8571472167969)
+    position: const Offset(227.42857360839844, 416.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695437),
     pointer: 7,
-    position: const Point(226.2857208251953, 431.4285583496094)
+    position: const Offset(226.2857208251953, 431.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695444),
     pointer: 7,
-    position: const Point(226.2857208251953, 446.0)
+    position: const Offset(226.2857208251953, 446.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695452),
     pointer: 7,
-    position: const Point(227.7142791748047, 460.28570556640625)
+    position: const Offset(227.7142791748047, 460.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695459),
     pointer: 7,
-    position: const Point(230.0, 475.1428527832031)
+    position: const Offset(230.0, 475.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695467),
     pointer: 7,
-    position: const Point(232.2857208251953, 489.71429443359375)
+    position: const Offset(232.2857208251953, 489.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695475),
     pointer: 7,
-    position: const Point(235.7142791748047, 504.0)
+    position: const Offset(235.7142791748047, 504.0)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216695490),
     pointer: 7,
-    position: const Point(235.7142791748047, 504.0)
+    position: const Offset(235.7142791748047, 504.0)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216695885),
     pointer: 8,
-    position: const Point(238.85714721679688, 524.0)
+    position: const Offset(238.85714721679688, 524.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695908),
     pointer: 8,
-    position: const Point(236.2857208251953, 515.7142944335938)
+    position: const Offset(236.2857208251953, 515.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695916),
     pointer: 8,
-    position: const Point(234.85714721679688, 509.1428527832031)
+    position: const Offset(234.85714721679688, 509.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695924),
     pointer: 8,
-    position: const Point(232.57142639160156, 498.5714416503906)
+    position: const Offset(232.57142639160156, 498.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695931),
     pointer: 8,
-    position: const Point(230.57142639160156, 483.71429443359375)
+    position: const Offset(230.57142639160156, 483.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695939),
     pointer: 8,
-    position: const Point(229.14285278320312, 466.5714416503906)
+    position: const Offset(229.14285278320312, 466.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695947),
     pointer: 8,
-    position: const Point(229.14285278320312, 446.5714416503906)
+    position: const Offset(229.14285278320312, 446.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695955),
     pointer: 8,
-    position: const Point(230.57142639160156, 424.8571472167969)
+    position: const Offset(230.57142639160156, 424.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695963),
     pointer: 8,
-    position: const Point(232.57142639160156, 402.28570556640625)
+    position: const Offset(232.57142639160156, 402.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695970),
     pointer: 8,
-    position: const Point(235.14285278320312, 380.0)
+    position: const Offset(235.14285278320312, 380.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695978),
     pointer: 8,
-    position: const Point(238.57142639160156, 359.4285583496094)
+    position: const Offset(238.57142639160156, 359.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216695993),
     pointer: 8,
-    position: const Point(238.57142639160156, 359.4285583496094)
+    position: const Offset(238.57142639160156, 359.4285583496094)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216696429),
     pointer: 9,
-    position: const Point(238.2857208251953, 568.5714111328125)
+    position: const Offset(238.2857208251953, 568.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696459),
     pointer: 9,
-    position: const Point(234.0, 560.0)
+    position: const Offset(234.0, 560.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696467),
     pointer: 9,
-    position: const Point(231.42857360839844, 553.1428833007812)
+    position: const Offset(231.42857360839844, 553.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696475),
     pointer: 9,
-    position: const Point(228.2857208251953, 543.1428833007812)
+    position: const Offset(228.2857208251953, 543.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696483),
     pointer: 9,
-    position: const Point(225.42857360839844, 528.8571166992188)
+    position: const Offset(225.42857360839844, 528.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696491),
     pointer: 9,
-    position: const Point(223.14285278320312, 512.2857055664062)
+    position: const Offset(223.14285278320312, 512.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696498),
     pointer: 9,
-    position: const Point(222.0, 495.4285583496094)
+    position: const Offset(222.0, 495.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696506),
     pointer: 9,
-    position: const Point(221.7142791748047, 477.4285583496094)
+    position: const Offset(221.7142791748047, 477.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696514),
     pointer: 9,
-    position: const Point(221.7142791748047, 458.28570556640625)
+    position: const Offset(221.7142791748047, 458.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696521),
     pointer: 9,
-    position: const Point(223.14285278320312, 438.0)
+    position: const Offset(223.14285278320312, 438.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696529),
     pointer: 9,
-    position: const Point(224.2857208251953, 416.28570556640625)
+    position: const Offset(224.2857208251953, 416.28570556640625)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216696544),
     pointer: 9,
-    position: const Point(224.2857208251953, 416.28570556640625)
+    position: const Offset(224.2857208251953, 416.28570556640625)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216696974),
     pointer: 10,
-    position: const Point(218.57142639160156, 530.5714111328125)
+    position: const Offset(218.57142639160156, 530.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697012),
     pointer: 10,
-    position: const Point(220.2857208251953, 522.0)
+    position: const Offset(220.2857208251953, 522.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697020),
     pointer: 10,
-    position: const Point(221.14285278320312, 517.7142944335938)
+    position: const Offset(221.14285278320312, 517.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697028),
     pointer: 10,
-    position: const Point(222.2857208251953, 511.71429443359375)
+    position: const Offset(222.2857208251953, 511.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697036),
     pointer: 10,
-    position: const Point(224.0, 504.28570556640625)
+    position: const Offset(224.0, 504.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697044),
     pointer: 10,
-    position: const Point(227.14285278320312, 490.5714416503906)
+    position: const Offset(227.14285278320312, 490.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697052),
     pointer: 10,
-    position: const Point(229.42857360839844, 474.0)
+    position: const Offset(229.42857360839844, 474.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697059),
     pointer: 10,
-    position: const Point(231.42857360839844, 454.5714416503906)
+    position: const Offset(231.42857360839844, 454.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697067),
     pointer: 10,
-    position: const Point(233.7142791748047, 431.1428527832031)
+    position: const Offset(233.7142791748047, 431.1428527832031)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697082),
     pointer: 10,
-    position: const Point(233.7142791748047, 431.1428527832031)
+    position: const Offset(233.7142791748047, 431.1428527832031)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216697435),
     pointer: 11,
-    position: const Point(257.1428527832031, 285.1428527832031)
+    position: const Offset(257.1428527832031, 285.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697465),
     pointer: 11,
-    position: const Point(251.7142791748047, 296.8571472167969)
+    position: const Offset(251.7142791748047, 296.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697473),
     pointer: 11,
-    position: const Point(248.2857208251953, 304.0)
+    position: const Offset(248.2857208251953, 304.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697481),
     pointer: 11,
-    position: const Point(244.57142639160156, 314.8571472167969)
+    position: const Offset(244.57142639160156, 314.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697489),
     pointer: 11,
-    position: const Point(240.2857208251953, 329.1428527832031)
+    position: const Offset(240.2857208251953, 329.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697497),
     pointer: 11,
-    position: const Point(236.85714721679688, 345.1428527832031)
+    position: const Offset(236.85714721679688, 345.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697505),
     pointer: 11,
-    position: const Point(233.7142791748047, 361.4285583496094)
+    position: const Offset(233.7142791748047, 361.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697512),
     pointer: 11,
-    position: const Point(231.14285278320312, 378.28570556640625)
+    position: const Offset(231.14285278320312, 378.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697520),
     pointer: 11,
-    position: const Point(229.42857360839844, 395.4285583496094)
+    position: const Offset(229.42857360839844, 395.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697528),
     pointer: 11,
-    position: const Point(229.42857360839844, 412.8571472167969)
+    position: const Offset(229.42857360839844, 412.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697535),
     pointer: 11,
-    position: const Point(230.85714721679688, 430.8571472167969)
+    position: const Offset(230.85714721679688, 430.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697543),
     pointer: 11,
-    position: const Point(233.42857360839844, 449.71429443359375)
+    position: const Offset(233.42857360839844, 449.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697558),
     pointer: 11,
-    position: const Point(233.42857360839844, 449.71429443359375)
+    position: const Offset(233.42857360839844, 449.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216697749),
     pointer: 12,
-    position: const Point(246.0, 311.4285583496094)
+    position: const Offset(246.0, 311.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697780),
     pointer: 12,
-    position: const Point(244.57142639160156, 318.28570556640625)
+    position: const Offset(244.57142639160156, 318.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697787),
     pointer: 12,
-    position: const Point(243.14285278320312, 325.4285583496094)
+    position: const Offset(243.14285278320312, 325.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697795),
     pointer: 12,
-    position: const Point(241.42857360839844, 336.0)
+    position: const Offset(241.42857360839844, 336.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697803),
     pointer: 12,
-    position: const Point(239.7142791748047, 351.1428527832031)
+    position: const Offset(239.7142791748047, 351.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697811),
     pointer: 12,
-    position: const Point(238.2857208251953, 368.5714416503906)
+    position: const Offset(238.2857208251953, 368.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697819),
     pointer: 12,
-    position: const Point(238.0, 389.4285583496094)
+    position: const Offset(238.0, 389.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697826),
     pointer: 12,
-    position: const Point(239.14285278320312, 412.0)
+    position: const Offset(239.14285278320312, 412.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697834),
     pointer: 12,
-    position: const Point(242.2857208251953, 438.0)
+    position: const Offset(242.2857208251953, 438.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697842),
     pointer: 12,
-    position: const Point(247.42857360839844, 466.8571472167969)
+    position: const Offset(247.42857360839844, 466.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697849),
     pointer: 12,
-    position: const Point(254.2857208251953, 497.71429443359375)
+    position: const Offset(254.2857208251953, 497.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697864),
     pointer: 12,
-    position: const Point(254.2857208251953, 497.71429443359375)
+    position: const Offset(254.2857208251953, 497.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216698321),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698328),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698344),
     pointer: 13,
-    position: const Point(249.14285278320312, 314.0)
+    position: const Offset(249.14285278320312, 314.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698351),
     pointer: 13,
-    position: const Point(247.42857360839844, 319.4285583496094)
+    position: const Offset(247.42857360839844, 319.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698359),
     pointer: 13,
-    position: const Point(245.14285278320312, 326.8571472167969)
+    position: const Offset(245.14285278320312, 326.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698366),
     pointer: 13,
-    position: const Point(241.7142791748047, 339.4285583496094)
+    position: const Offset(241.7142791748047, 339.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698374),
     pointer: 13,
-    position: const Point(238.57142639160156, 355.71429443359375)
+    position: const Offset(238.57142639160156, 355.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698382),
     pointer: 13,
-    position: const Point(236.2857208251953, 374.28570556640625)
+    position: const Offset(236.2857208251953, 374.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698390),
     pointer: 13,
-    position: const Point(235.14285278320312, 396.5714416503906)
+    position: const Offset(235.14285278320312, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698398),
     pointer: 13,
-    position: const Point(236.57142639160156, 421.4285583496094)
+    position: const Offset(236.57142639160156, 421.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698406),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216698421),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
 ];
diff --git a/dev/benchmarks/microbenchmarks/lib/stocks/animation_bench.dart b/dev/benchmarks/microbenchmarks/lib/stocks/animation_bench.dart
index 7918fa9..7d7f314 100644
--- a/dev/benchmarks/microbenchmarks/lib/stocks/animation_bench.dart
+++ b/dev/benchmarks/microbenchmarks/lib/stocks/animation_bench.dart
@@ -53,12 +53,12 @@
     while (wallClockWatch.elapsed < kBenchmarkTime) {
       cpuWatch.reset();
       if (drawerIsOpen) {
-        await tester.tapAt(const Point(780.0, 250.0)); // Close drawer
+        await tester.tapAt(const Offset(780.0, 250.0)); // Close drawer
         await tester.pump();
         totalCloseIterationCount += 1;
         totalCloseFrameElapsedMicroseconds += cpuWatch.elapsedMicroseconds;
       } else {
-        await tester.tapAt(const Point(20.0, 50.0)); // Open drawer
+        await tester.tapAt(const Offset(20.0, 50.0)); // Open drawer
         await tester.pump();
         totalOpenIterationCount += 1;
         totalOpenFrameElapsedMicroseconds += cpuWatch.elapsedMicroseconds;
diff --git a/dev/benchmarks/microbenchmarks/lib/stocks/build_bench.dart b/dev/benchmarks/microbenchmarks/lib/stocks/build_bench.dart
index ed81233..3b9a782 100644
--- a/dev/benchmarks/microbenchmarks/lib/stocks/build_bench.dart
+++ b/dev/benchmarks/microbenchmarks/lib/stocks/build_bench.dart
@@ -31,7 +31,7 @@
     stocks.main();
     await tester.pump(); // Start startup animation
     await tester.pump(const Duration(seconds: 1)); // Complete startup animation
-    await tester.tapAt(const Point(20.0, 40.0)); // Open drawer
+    await tester.tapAt(const Offset(20.0, 40.0)); // Open drawer
     await tester.pump(); // Start drawer animation
     await tester.pump(const Duration(seconds: 1)); // Complete drawer animation
 
diff --git a/dev/benchmarks/microbenchmarks/lib/stocks/layout_bench.dart b/dev/benchmarks/microbenchmarks/lib/stocks/layout_bench.dart
index 663adc8..f402e40 100644
--- a/dev/benchmarks/microbenchmarks/lib/stocks/layout_bench.dart
+++ b/dev/benchmarks/microbenchmarks/lib/stocks/layout_bench.dart
@@ -30,7 +30,7 @@
     stocks.main();
     await tester.pump(); // Start startup animation
     await tester.pump(const Duration(seconds: 1)); // Complete startup animation
-    await tester.tapAt(const Point(20.0, 40.0)); // Open drawer
+    await tester.tapAt(const Offset(20.0, 40.0)); // Open drawer
     await tester.pump(); // Start drawer animation
     await tester.pump(const Duration(seconds: 1)); // Complete drawer animation
 
diff --git a/dev/manual_tests/drag_and_drop.dart b/dev/manual_tests/drag_and_drop.dart
index 496e5f4..8bb9950 100644
--- a/dev/manual_tests/drag_and_drop.dart
+++ b/dev/manual_tests/drag_and_drop.dart
@@ -163,7 +163,7 @@
       ..style = PaintingStyle.stroke
       ..strokeWidth = radius / 10.0;
     final Path path = new Path();
-    final Rect box = Point.origin & size;
+    final Rect box = Offset.zero & size;
     for (double theta = 0.0; theta < math.PI * 2.0; theta += deltaTheta)
       path.addArc(box, theta + startOffset, segmentArc);
     canvas.drawPath(path, paint);
diff --git a/dev/manual_tests/material_arc.dart b/dev/manual_tests/material_arc.dart
index 9e815b5..65d915a 100644
--- a/dev/manual_tests/material_arc.dart
+++ b/dev/manual_tests/material_arc.dart
@@ -54,7 +54,7 @@
   final MaterialPointArcTween arc;
   Animation<double> _repaint;
 
-  void drawPoint(Canvas canvas, Point point, Color color) {
+  void drawPoint(Canvas canvas, Offset point, Color color) {
     final Paint paint = new Paint()
       ..color = color.withOpacity(0.25)
       ..style = PaintingStyle.fill;
@@ -93,7 +93,7 @@
   }
 
   @override
-  bool hitTest(Point position) {
+  bool hitTest(Offset position) {
     return (arc.begin - position).distanceSquared < _kTargetSlop
         || (arc.end - position).distanceSquared < _kTargetSlop;
   }
@@ -117,8 +117,8 @@
   CurvedAnimation _animation;
   _DragTarget _dragTarget;
   Size _screenSize;
-  Point _begin;
-  Point _end;
+  Offset _begin;
+  Offset _end;
 
   @override
   void initState() {
@@ -132,7 +132,7 @@
     super.dispose();
   }
 
-  Drag _handleOnStart(Point position) {
+  Drag _handleOnStart(Offset position) {
     // TODO(hansmuller): allow the user to drag both points at the same time.
     if (_dragTarget != null)
       return new _IgnoreDrag();
@@ -181,8 +181,8 @@
     final Size screenSize = MediaQuery.of(context).size;
     if (_screenSize == null || _screenSize != screenSize) {
       _screenSize = screenSize;
-      _begin = new Point(screenSize.width * 0.5, screenSize.height * 0.2);
-      _end = new Point(screenSize.width * 0.1, screenSize.height * 0.4);
+      _begin = new Offset(screenSize.width * 0.5, screenSize.height * 0.2);
+      _end = new Offset(screenSize.width * 0.1, screenSize.height * 0.4);
     }
 
     final MaterialPointArcTween arc = new MaterialPointArcTween(begin: _begin, end: _end);
@@ -229,7 +229,7 @@
   final MaterialRectArcTween arc;
   Animation<double> _repaint;
 
-  void drawPoint(Canvas canvas, Point p, Color color) {
+  void drawPoint(Canvas canvas, Offset p, Color color) {
     final Paint paint = new Paint()
       ..color = color.withOpacity(0.25)
       ..style = PaintingStyle.fill;
@@ -258,7 +258,7 @@
   }
 
   @override
-  bool hitTest(Point position) {
+  bool hitTest(Offset position) {
     return (arc.begin.center - position).distanceSquared < _kTargetSlop
         || (arc.end.center - position).distanceSquared < _kTargetSlop;
   }
@@ -297,7 +297,7 @@
     super.dispose();
   }
 
-  Drag _handleOnStart(Point position) {
+  Drag _handleOnStart(Offset position) {
     // TODO(hansmuller): allow the user to drag both points at the same time.
     if (_dragTarget != null)
       return new _IgnoreDrag();
diff --git a/dev/manual_tests/overlay_geometry.dart b/dev/manual_tests/overlay_geometry.dart
index 2b9b194..174a92b 100644
--- a/dev/manual_tests/overlay_geometry.dart
+++ b/dev/manual_tests/overlay_geometry.dart
@@ -33,19 +33,19 @@
   void paint(Canvas canvas, _) {
     final Paint paint = new Paint()..color = const Color(0x8000FF00);
     final double r = size / 2.0;
-    canvas.drawCircle(new Point(r, r), r, paint);
+    canvas.drawCircle(new Offset(r, r), r, paint);
 
     paint
       ..color = const Color(0xFFFFFFFF)
       ..style = PaintingStyle.stroke
       ..strokeWidth = 1.0;
     if (type == MarkerType.topLeft) {
-      canvas.drawLine(new Point(r, r), new Point(r + r - 1.0, r), paint);
-      canvas.drawLine(new Point(r, r), new Point(r, r + r - 1.0), paint);
+      canvas.drawLine(new Offset(r, r), new Offset(r + r - 1.0, r), paint);
+      canvas.drawLine(new Offset(r, r), new Offset(r, r + r - 1.0), paint);
     }
     if (type == MarkerType.bottomRight) {
-      canvas.drawLine(new Point(r, r), new Point(1.0, r), paint);
-      canvas.drawLine(new Point(r, r), new Point(r, 1.0), paint);
+      canvas.drawLine(new Offset(r, r), new Offset(1.0, r), paint);
+      canvas.drawLine(new Offset(r, r), new Offset(r, 1.0), paint);
     }
   }
 
@@ -64,15 +64,15 @@
     this.size: 40.0,
   }) : super(key: key);
 
-  final Point position;
+  final Offset position;
   final double size;
   final MarkerType type;
 
   @override
   Widget build(BuildContext context) {
     return new Positioned(
-      left: position.x - size / 2.0,
-      top: position.y - size / 2.0,
+      left: position.dx - size / 2.0,
+      top: position.dy - size / 2.0,
       width: size,
       height: size,
       child: new IgnorePointer(
@@ -92,7 +92,7 @@
   OverlayGeometryAppState createState() => new OverlayGeometryAppState();
 }
 
-typedef void CardTapCallback(GlobalKey targetKey, Point globalPosition);
+typedef void CardTapCallback(GlobalKey targetKey, Offset globalPosition);
 
 class CardBuilder extends SliverChildDelegate {
   CardBuilder({ this.cardModels, this.onTapUp });
@@ -134,7 +134,7 @@
 
 class OverlayGeometryAppState extends State<OverlayGeometryApp> {
   List<CardModel> cardModels;
-  Map<MarkerType, Point> markers = <MarkerType, Point>{};
+  Map<MarkerType, Offset> markers = <MarkerType, Offset>{};
   double markersScrollOffset = 0.0;
 
   @override
@@ -157,21 +157,21 @@
         final double dy = markersScrollOffset - notification.metrics.extentBefore;
         markersScrollOffset = notification.metrics.extentBefore;
         for (MarkerType type in markers.keys) {
-          final Point oldPosition = markers[type];
-          markers[type] = new Point(oldPosition.x, oldPosition.y + dy);
+          final Offset oldPosition = markers[type];
+          markers[type] = oldPosition.translate(0.0, dy);
         }
       });
     }
     return false;
   }
 
-  void handleTapUp(GlobalKey target, Point globalPosition) {
+  void handleTapUp(GlobalKey target, Offset globalPosition) {
     setState(() {
       markers[MarkerType.touch] = globalPosition;
       final RenderBox box = target.currentContext.findRenderObject();
-      markers[MarkerType.topLeft] = box.localToGlobal(const Point(0.0, 0.0));
+      markers[MarkerType.topLeft] = box.localToGlobal(const Offset(0.0, 0.0));
       final Size size = box.size;
-      markers[MarkerType.bottomRight] = box.localToGlobal(new Point(size.width, size.height));
+      markers[MarkerType.bottomRight] = box.localToGlobal(new Offset(size.width, size.height));
       final ScrollableState scrollable = Scrollable.of(target.currentContext);
       markersScrollOffset = scrollable.position.pixels;
     });
diff --git a/examples/flutter_gallery/lib/demo/animation/home.dart b/examples/flutter_gallery/lib/demo/animation/home.dart
index 577b800..305a242 100644
--- a/examples/flutter_gallery/lib/demo/animation/home.dart
+++ b/examples/flutter_gallery/lib/demo/animation/home.dart
@@ -178,8 +178,8 @@
     return Rect.lerp(begin, end, tColumnToRow);
   }
 
-  Point _interpolatePoint(Point begin, Point end) {
-    return Point.lerp(begin, end, tColumnToRow);
+  Offset _interpolatePoint(Offset begin, Offset end) {
+    return Offset.lerp(begin, end, tColumnToRow);
   }
 
   @override
@@ -220,30 +220,30 @@
           cardRect.left + 0.5, cardRect.top, cardRect.width - 1.0, cardRect.height
         );
         layoutChild(cardId, new BoxConstraints.tight(insetRect.size));
-        positionChild(cardId, insetRect.topLeft.toOffset());
+        positionChild(cardId, insetRect.topLeft);
       }
 
       // Layout the title for index.
       final Size titleSize = layoutChild('title$index', new BoxConstraints.loose(cardRect.size));
-      final double columnTitleY = columnCardRect.centerLeft.y - titleSize.height / 2.0;
-      final double rowTitleY = rowCardRect.centerLeft.y - titleSize.height / 2.0;
+      final double columnTitleY = columnCardRect.centerLeft.dy - titleSize.height / 2.0;
+      final double rowTitleY = rowCardRect.centerLeft.dy - titleSize.height / 2.0;
       final double centeredRowTitleX = rowTitleX + (rowTitleWidth - titleSize.width) / 2.0;
-      final Point columnTitleOrigin = new Point(columnTitleX, columnTitleY);
-      final Point rowTitleOrigin = new Point(centeredRowTitleX, rowTitleY);
-      final Point titleOrigin = _interpolatePoint(columnTitleOrigin, rowTitleOrigin);
-      positionChild('title$index', titleOrigin.toOffset() + offset);
+      final Offset columnTitleOrigin = new Offset(columnTitleX, columnTitleY);
+      final Offset rowTitleOrigin = new Offset(centeredRowTitleX, rowTitleY);
+      final Offset titleOrigin = _interpolatePoint(columnTitleOrigin, rowTitleOrigin);
+      positionChild('title$index', titleOrigin + offset);
 
       // Layout the selection indicator for index.
       final Size indicatorSize = layoutChild('indicator$index', new BoxConstraints.loose(cardRect.size));
-      final double columnIndicatorX = cardRect.centerRight.x - indicatorSize.width - 16.0;
-      final double columnIndicatorY = cardRect.bottomRight.y - indicatorSize.height - 16.0;
-      final Point columnIndicatorOrigin = new Point(columnIndicatorX, columnIndicatorY);
+      final double columnIndicatorX = cardRect.centerRight.dx - indicatorSize.width - 16.0;
+      final double columnIndicatorY = cardRect.bottomRight.dy - indicatorSize.height - 16.0;
+      final Offset columnIndicatorOrigin = new Offset(columnIndicatorX, columnIndicatorY);
       final Rect titleRect = new Rect.fromPoints(titleOrigin, titleSize.bottomRight(titleOrigin));
       final double centeredRowIndicatorX = rowIndicatorX + (rowIndicatorWidth - indicatorSize.width) / 2.0;
-      final double rowIndicatorY = titleRect.bottomCenter.y + 16.0;
-      final Point rowIndicatorOrigin = new Point(centeredRowIndicatorX, rowIndicatorY);
-      final Point indicatorOrigin = _interpolatePoint(columnIndicatorOrigin, rowIndicatorOrigin);
-      positionChild('indicator$index', indicatorOrigin.toOffset() + offset);
+      final double rowIndicatorY = titleRect.bottomCenter.dy + 16.0;
+      final Offset rowIndicatorOrigin = new Offset(centeredRowIndicatorX, rowIndicatorY);
+      final Offset indicatorOrigin = _interpolatePoint(columnIndicatorOrigin, rowIndicatorOrigin);
+      positionChild('indicator$index', indicatorOrigin + offset);
 
       columnCardY += columnCardHeight;
       rowCardX += rowCardWidth;
@@ -434,7 +434,7 @@
           behavior: HitTestBehavior.opaque,
           child: new SectionCard(section: allSections[index]),
           onTapUp: (TapUpDetails details) {
-            final double xOffset = details.globalPosition.x;
+            final double xOffset = details.globalPosition.dx;
             setState(() {
               _maybeScroll(midScrollOffset, index, xOffset);
             });
diff --git a/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart b/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
index 6458b63..15dba37 100644
--- a/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
+++ b/examples/flutter_gallery/lib/demo/material/grid_list_demo.dart
@@ -90,7 +90,7 @@
   void _handleOnScaleStart(ScaleStartDetails details) {
     setState(() {
       _previousScale = _scale;
-      _normalizedOffset = (details.focalPoint.toOffset() - _offset) / _scale;
+      _normalizedOffset = (details.focalPoint - _offset) / _scale;
       // The fling animation stops if an input gesture starts.
       _controller.stop();
     });
@@ -100,7 +100,7 @@
     setState(() {
       _scale = (_previousScale * details.scale).clamp(1.0, 4.0);
       // Ensure that image location under the focal point stays in the same place despite scaling.
-      _offset = _clampOffset(details.focalPoint.toOffset() - _normalizedOffset * _scale);
+      _offset = _clampOffset(details.focalPoint - _normalizedOffset * _scale);
     });
   }
 
@@ -109,7 +109,7 @@
     if (magnitude < _kMinFlingVelocity)
       return;
     final Offset direction = details.velocity.pixelsPerSecond / magnitude;
-    final double distance = (Point.origin & context.size).shortestSide;
+    final double distance = (Offset.zero & context.size).shortestSide;
     _flingAnimation = new Tween<Offset>(
       begin: _offset,
       end: _clampOffset(_offset + direction * distance)
diff --git a/examples/flutter_gallery/test/example_code_display_test.dart b/examples/flutter_gallery/test/example_code_display_test.dart
index 32e1922..6034f73 100644
--- a/examples/flutter_gallery/test/example_code_display_test.dart
+++ b/examples/flutter_gallery/test/example_code_display_test.dart
@@ -20,7 +20,7 @@
 
 
     // Scroll the Buttons demo into view so that a tap will succeed
-    final Point allDemosOrigin = tester.getTopRight(find.text('Demos'));
+    final Offset allDemosOrigin = tester.getTopRight(find.text('Demos'));
     final Finder button = find.text('Buttons');
     while (button.evaluate().isEmpty) {
       await tester.dragFrom(allDemosOrigin, const Offset(0.0, -100.0));
diff --git a/examples/flutter_gallery/test/smoke_test.dart b/examples/flutter_gallery/test/smoke_test.dart
index e52969a..e1ab5cf 100644
--- a/examples/flutter_gallery/test/smoke_test.dart
+++ b/examples/flutter_gallery/test/smoke_test.dart
@@ -77,8 +77,8 @@
   await tester.pump(const Duration(milliseconds: 400));
 
   // Scroll the demo around a bit.
-  await tester.flingFrom(const Point(400.0, 300.0), const Offset(-100.0, 0.0), 500.0);
-  await tester.flingFrom(const Point(400.0, 300.0), const Offset(0.0, -100.0), 500.0);
+  await tester.flingFrom(const Offset(400.0, 300.0), const Offset(-100.0, 0.0), 500.0);
+  await tester.flingFrom(const Offset(400.0, 300.0), const Offset(0.0, -100.0), 500.0);
   await tester.pump();
   await tester.pump(const Duration(milliseconds: 50));
   await tester.pump(const Duration(milliseconds: 200));
@@ -90,15 +90,15 @@
   verifyToStringOutput('debugDumpLayerTree', routeName, RendererBinding.instance?.renderView?.debugLayer?.toStringDeep());
 
   // Scroll the demo around a bit more.
-  await tester.flingFrom(const Point(400.0, 300.0), const Offset(-200.0, 0.0), 500.0);
+  await tester.flingFrom(const Offset(400.0, 300.0), const Offset(-200.0, 0.0), 500.0);
   await tester.pump();
   await tester.pump(const Duration(milliseconds: 50));
   await tester.pump(const Duration(milliseconds: 200));
   await tester.pump(const Duration(milliseconds: 400));
-  await tester.flingFrom(const Point(400.0, 300.0), const Offset(100.0, 0.0), 500.0);
+  await tester.flingFrom(const Offset(400.0, 300.0), const Offset(100.0, 0.0), 500.0);
   await tester.pump();
   await tester.pump(const Duration(milliseconds: 400));
-  await tester.flingFrom(const Point(400.0, 300.0), const Offset(0.0, 400.0), 1000.0);
+  await tester.flingFrom(const Offset(400.0, 300.0), const Offset(0.0, 400.0), 1000.0);
   await tester.pump();
   await tester.pump(const Duration(milliseconds: 400));
 
diff --git a/examples/layers/raw/canvas.dart b/examples/layers/raw/canvas.dart
index ec96f1e..55464dc 100644
--- a/examples/layers/raw/canvas.dart
+++ b/examples/layers/raw/canvas.dart
@@ -26,24 +26,24 @@
   canvas.drawPaint(new ui.Paint()..color = const ui.Color(0xFFFFFFFF));
 
   final ui.Size size = paintBounds.size;
-  final ui.Point mid = size.center(ui.Point.origin);
+  final ui.Offset mid = size.center(ui.Offset.zero);
   final double radius = size.shortestSide / 2.0;
 
   final double devicePixelRatio = ui.window.devicePixelRatio;
   final ui.Size logicalSize = ui.window.physicalSize / devicePixelRatio;
 
   canvas.save();
-  canvas.translate(-mid.x/2.0, logicalSize.height*2.0);
-  canvas.clipRect(
-      new ui.Rect.fromLTRB(0.0, -logicalSize.height, logicalSize.width, radius));
+  canvas.translate(-mid.dx / 2.0, logicalSize.height * 2.0);
+  canvas.clipRect(new ui.Rect.fromLTRB(0.0, -logicalSize.height, logicalSize.width, radius));
 
-  canvas.translate(mid.x, mid.y);
+  canvas.translate(mid.dx, mid.dy);
   paint.color = const ui.Color.fromARGB(128, 255, 0, 255);
   canvas.rotate(math.PI/4.0);
 
   final ui.Gradient yellowBlue = new ui.Gradient.linear(
-    <ui.Point>[new ui.Point(-radius, -radius), const ui.Point(0.0, 0.0)],
-    <ui.Color>[const ui.Color(0xFFFFFF00), const ui.Color(0xFF0000FF)]
+    new ui.Offset(-radius, -radius),
+    const ui.Offset(0.0, 0.0),
+    <ui.Color>[const ui.Color(0xFFFFFF00), const ui.Color(0xFF0000FF)],
   );
   canvas.drawRect(new ui.Rect.fromLTRB(-radius, -radius, radius, radius),
                   new ui.Paint()..shader = yellowBlue);
@@ -57,11 +57,11 @@
   ]);
   canvas.transform(scaleMatrix);
   paint.color = const ui.Color.fromARGB(128, 0, 255, 0);
-  canvas.drawCircle(ui.Point.origin, radius, paint);
+  canvas.drawCircle(ui.Offset.zero, radius, paint);
   canvas.restore();
 
   paint.color = const ui.Color.fromARGB(128, 255, 0, 0);
-  canvas.drawCircle(const ui.Point(150.0, 300.0), radius, paint);
+  canvas.drawCircle(const ui.Offset(150.0, 300.0), radius, paint);
 
   // When we're done issuing painting commands, we end the recording an receive
   // a Picture, which is an immutable record of the commands we've issued. You
@@ -85,7 +85,7 @@
 }
 
 void beginFrame(Duration timeStamp) {
-  final ui.Rect paintBounds = ui.Point.origin & (ui.window.physicalSize / ui.window.devicePixelRatio);
+  final ui.Rect paintBounds = ui.Offset.zero & (ui.window.physicalSize / ui.window.devicePixelRatio);
   final ui.Picture picture = paint(paintBounds);
   final ui.Scene scene = composite(picture, paintBounds);
   ui.window.render(scene);
diff --git a/examples/layers/raw/hello_world.dart b/examples/layers/raw/hello_world.dart
index ca9d0e8..b2f67f3 100644
--- a/examples/layers/raw/hello_world.dart
+++ b/examples/layers/raw/hello_world.dart
@@ -16,7 +16,7 @@
   final ui.Paragraph paragraph = paragraphBuilder.build()
     ..layout(new ui.ParagraphConstraints(width: logicalSize.width));
 
-  final ui.Rect physicalBounds = ui.Point.origin & (logicalSize * devicePixelRatio);
+  final ui.Rect physicalBounds = ui.Offset.zero & (logicalSize * devicePixelRatio);
   final ui.PictureRecorder recorder = new ui.PictureRecorder();
   final ui.Canvas canvas = new ui.Canvas(recorder, physicalBounds);
   canvas.scale(devicePixelRatio, devicePixelRatio);
diff --git a/examples/layers/raw/spinning_square.dart b/examples/layers/raw/spinning_square.dart
index 0a18f93..79cb498 100644
--- a/examples/layers/raw/spinning_square.dart
+++ b/examples/layers/raw/spinning_square.dart
@@ -19,7 +19,7 @@
 
   // PAINT
 
-  final ui.Rect paintBounds = ui.Point.origin & (ui.window.physicalSize / ui.window.devicePixelRatio);
+  final ui.Rect paintBounds = ui.Offset.zero & (ui.window.physicalSize / ui.window.devicePixelRatio);
   final ui.PictureRecorder recorder = new ui.PictureRecorder();
   final ui.Canvas canvas = new ui.Canvas(recorder, paintBounds);
   canvas.translate(paintBounds.width / 2.0, paintBounds.height / 2.0);
diff --git a/examples/layers/raw/text.dart b/examples/layers/raw/text.dart
index 086208d..3c3e92f 100644
--- a/examples/layers/raw/text.dart
+++ b/examples/layers/raw/text.dart
@@ -44,7 +44,7 @@
 }
 
 void beginFrame(Duration timeStamp) {
-  final ui.Rect paintBounds = ui.Point.origin & (ui.window.physicalSize / ui.window.devicePixelRatio);
+  final ui.Rect paintBounds = ui.Offset.zero & (ui.window.physicalSize / ui.window.devicePixelRatio);
   final ui.Picture picture = paint(paintBounds);
   final ui.Scene scene = composite(picture, paintBounds);
   ui.window.render(scene);
diff --git a/examples/layers/raw/touch_input.dart b/examples/layers/raw/touch_input.dart
index a8f7d9e..05cf21e 100644
--- a/examples/layers/raw/touch_input.dart
+++ b/examples/layers/raw/touch_input.dart
@@ -26,7 +26,7 @@
   // The commands draw a circle in the center of the screen.
   final ui.Size size = paintBounds.size;
   canvas.drawCircle(
-    size.center(ui.Point.origin),
+    size.center(ui.Offset.zero),
     size.shortestSide * 0.45,
     new ui.Paint()..color = color
   );
@@ -67,7 +67,7 @@
 }
 
 void beginFrame(Duration timeStamp) {
-  final ui.Rect paintBounds = ui.Point.origin & (ui.window.physicalSize / ui.window.devicePixelRatio);
+  final ui.Rect paintBounds = ui.Offset.zero & (ui.window.physicalSize / ui.window.devicePixelRatio);
   // First, record a picture with our painting commands.
   final ui.Picture picture = paint(paintBounds);
   // Second, include that picture in a scene graph.
diff --git a/examples/layers/rendering/src/sector_layout.dart b/examples/layers/rendering/src/sector_layout.dart
index 593391b..5a463f8 100644
--- a/examples/layers/rendering/src/sector_layout.dart
+++ b/examples/layers/rendering/src/sector_layout.dart
@@ -525,22 +525,22 @@
     if (child != null) {
       final Rect bounds = offset & size;
       // we move the offset to the center of the circle for the RenderSectors
-      context.paintChild(child, bounds.center.toOffset());
+      context.paintChild(child, bounds.center);
     }
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (child == null)
       return false;
-    double x = position.x;
-    double y = position.y;
+    double x = position.dx;
+    double y = position.dy;
     // translate to our origin
-    x -= size.width/2.0;
-    y -= size.height/2.0;
+    x -= size.width / 2.0;
+    y -= size.height / 2.0;
     // convert to radius/theta
-    final double radius = math.sqrt(x*x+y*y);
-    final double theta = (math.atan2(x, -y) - math.PI/2.0) % kTwoPi;
+    final double radius = math.sqrt(x * x + y * y);
+    final double theta = (math.atan2(x, -y) - math.PI / 2.0) % kTwoPi;
     if (radius < innerRadius)
       return false;
     if (radius >= innerRadius + child.deltaRadius)
diff --git a/examples/layers/rendering/touch_input.dart b/examples/layers/rendering/touch_input.dart
index 6fd5685..efa793b 100644
--- a/examples/layers/rendering/touch_input.dart
+++ b/examples/layers/rendering/touch_input.dart
@@ -23,7 +23,7 @@
   Dot({ Color color }) : _paint = new Paint()..color = color;
 
   final Paint _paint;
-  Point position = Point.origin;
+  Offset position = Offset.zero;
   double radius = 0.0;
 
   void update(PointerEvent event) {
@@ -58,7 +58,7 @@
 
   /// Makes this render object hittable so that it receives pointer events.
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   /// Processes pointer events by mutating state and invalidating its previous
   /// painting commands.
diff --git a/examples/layers/widgets/custom_render_box.dart b/examples/layers/widgets/custom_render_box.dart
index f5fa0f5..ea57436 100644
--- a/examples/layers/widgets/custom_render_box.dart
+++ b/examples/layers/widgets/custom_render_box.dart
@@ -10,9 +10,9 @@
 
   // Makes this render box hittable so that we'll get pointer events.
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
-  final Map<int, Point> _dots = <int, Point>{};
+  final Map<int, Offset> _dots = <int, Offset>{};
 
   @override
   void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
@@ -31,7 +31,7 @@
     canvas.drawRect(offset & size, new Paint()..color = const Color(0xFF0000FF));
 
     final Paint paint = new Paint()..color = const Color(0xFF00FF00);
-    for (Point point in _dots.values)
+    for (Offset point in _dots.values)
       canvas.drawCircle(point, 50.0, paint);
 
     super.paint(context, offset);
diff --git a/examples/layers/widgets/gestures.dart b/examples/layers/widgets/gestures.dart
index deee29e..40a62a7 100644
--- a/examples/layers/widgets/gestures.dart
+++ b/examples/layers/widgets/gestures.dart
@@ -27,18 +27,16 @@
 
   @override
   void paint(Canvas canvas, Size size) {
-    final Point center = (size.center(Point.origin).toOffset() * zoom + offset).toPoint();
+    final Offset center = (size.center(Offset.zero) * zoom + offset);
     final double radius = size.width / 2.0 * zoom;
     final Gradient gradient = new RadialGradient(
       colors: forward ? <Color>[swatch.shade50, swatch.shade900]
                       : <Color>[swatch.shade900, swatch.shade50]
     );
     final Paint paint = new Paint()
-      ..shader = gradient.createShader(new Rect.fromLTWH(
-        center.x - radius,
-        center.y - radius,
-        radius * 2.0,
-        radius * 2.0
+      ..shader = gradient.createShader(new Rect.fromCircle(
+        center: center,
+        radius: radius,
       ));
     canvas.drawCircle(center, radius, paint);
   }
@@ -63,7 +61,7 @@
 
 class _GestureDemoState extends State<GestureDemo> {
 
-  Point _startingFocalPoint;
+  Offset _startingFocalPoint;
 
   Offset _previousOffset;
   Offset _offset = Offset.zero;
@@ -92,8 +90,8 @@
       _zoom = (_previousZoom * details.scale);
 
       // Ensure that item under the focal point stays in the same place despite zooming
-      final Offset normalizedOffset = (_startingFocalPoint.toOffset() - _previousOffset) / _previousZoom;
-      _offset = details.focalPoint.toOffset() - normalizedOffset * _zoom;
+      final Offset normalizedOffset = (_startingFocalPoint - _previousOffset) / _previousZoom;
+      _offset = details.focalPoint - normalizedOffset * _zoom;
     });
   }
 
diff --git a/examples/stocks/lib/stock_arrow.dart b/examples/stocks/lib/stock_arrow.dart
index e023a78..b57f931 100644
--- a/examples/stocks/lib/stock_arrow.dart
+++ b/examples/stocks/lib/stock_arrow.dart
@@ -42,7 +42,7 @@
 
     // Draw a circle that circumscribes the arrow.
     paint.style = PaintingStyle.stroke;
-    canvas.drawCircle(new Point(centerX, centerY), r, paint);
+    canvas.drawCircle(new Offset(centerX, centerY), r, paint);
   }
 
   @override
diff --git a/examples/stocks/test/icon_color_test.dart b/examples/stocks/test/icon_color_test.dart
index e3dea41..2a423b3 100644
--- a/examples/stocks/test/icon_color_test.dart
+++ b/examples/stocks/test/icon_color_test.dart
@@ -61,8 +61,8 @@
     expect(find.text('Account Balance'), findsNothing);
 
     // drag the drawer out
-    final Point left = new Point(0.0, ui.window.physicalSize.height / 2.0);
-    final Point right = new Point(ui.window.physicalSize.width, left.y);
+    final Offset left = new Offset(0.0, ui.window.physicalSize.height / 2.0);
+    final Offset right = new Offset(ui.window.physicalSize.width, left.dy);
     final TestGesture gesture = await tester.startGesture(left);
     await tester.pump();
     await gesture.moveTo(right);
diff --git a/packages/flutter/lib/src/cupertino/dialog.dart b/packages/flutter/lib/src/cupertino/dialog.dart
index a96775a..238c794 100644
--- a/packages/flutter/lib/src/cupertino/dialog.dart
+++ b/packages/flutter/lib/src/cupertino/dialog.dart
@@ -272,12 +272,12 @@
     final Paint paint = new Paint()
       ..color = _kButtonDividerColor;
 
-    canvas.drawLine(Point.origin, new Point(size.width, 0.0), paint);
+    canvas.drawLine(Offset.zero, new Offset(size.width, 0.0), paint);
     for (int i = 1; i < count; ++i) {
       // TODO(abarth): Hide the divider when one of the adjacent buttons is
       // highlighted.
       final double x = size.width * i / count;
-      canvas.drawLine(new Point(x, 0.0), new Point(x, size.height), paint);
+      canvas.drawLine(new Offset(x, 0.0), new Offset(x, size.height), paint);
     }
   }
 
diff --git a/packages/flutter/lib/src/cupertino/slider.dart b/packages/flutter/lib/src/cupertino/slider.dart
index 2e06b14..7a6451d 100644
--- a/packages/flutter/lib/src/cupertino/slider.dart
+++ b/packages/flutter/lib/src/cupertino/slider.dart
@@ -281,8 +281,8 @@
   }
 
   @override
-  bool hitTestSelf(Point position) {
-    return (position.x - _thumbCenter).abs() < CupertinoThumbPainter.radius + _kPadding;
+  bool hitTestSelf(Offset position) {
+    return (position.dx - _thumbCenter).abs() < CupertinoThumbPainter.radius + _kPadding;
   }
 
   @override
@@ -319,7 +319,7 @@
       canvas.drawRRect(new RRect.fromLTRBXY(trackActive, trackTop, trackRight, trackBottom, 1.0, 1.0), paint);
     }
 
-    final Point thumbCenter = new Point(trackActive, trackCenter);
+    final Offset thumbCenter = new Offset(trackActive, trackCenter);
     _thumbPainter.paint(canvas, new Rect.fromCircle(center: thumbCenter, radius: CupertinoThumbPainter.radius));
   }
 
diff --git a/packages/flutter/lib/src/cupertino/switch.dart b/packages/flutter/lib/src/cupertino/switch.dart
index ff3b40f..f86437f 100644
--- a/packages/flutter/lib/src/cupertino/switch.dart
+++ b/packages/flutter/lib/src/cupertino/switch.dart
@@ -321,7 +321,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
diff --git a/packages/flutter/lib/src/gestures/binding.dart b/packages/flutter/lib/src/gestures/binding.dart
index 254599a..f7794f7 100644
--- a/packages/flutter/lib/src/gestures/binding.dart
+++ b/packages/flutter/lib/src/gestures/binding.dart
@@ -83,7 +83,7 @@
 
   /// Determine which [HitTestTarget] objects are located at a given position.
   @override // from HitTestable
-  void hitTest(HitTestResult result, Point position) {
+  void hitTest(HitTestResult result, Offset position) {
     result.add(new HitTestEntry(this));
   }
 
diff --git a/packages/flutter/lib/src/gestures/converter.dart b/packages/flutter/lib/src/gestures/converter.dart
index 82a136e..05cd0fc 100644
--- a/packages/flutter/lib/src/gestures/converter.dart
+++ b/packages/flutter/lib/src/gestures/converter.dart
@@ -28,7 +28,7 @@
     _down = false;
   }
 
-  Point lastPosition;
+  Offset lastPosition;
 }
 
 /// Converts from engine pointer data to framework pointer events.
@@ -36,7 +36,7 @@
   // Map from platform pointer identifiers to PointerEvent pointer identifiers.
   static final Map<int, _PointerState> _pointers = <int, _PointerState>{};
 
-  static _PointerState _ensureStateForPointer(ui.PointerData datum, Point position) {
+  static _PointerState _ensureStateForPointer(ui.PointerData datum, Offset position) {
     return _pointers.putIfAbsent(
       datum.device,
       () => new _PointerState(position)
@@ -46,7 +46,7 @@
   /// Expand the given packet of pointer data into a sequence of framework pointer events.
   static Iterable<PointerEvent> expand(Iterable<ui.PointerData> data, double devicePixelRatio) sync* {
     for (ui.PointerData datum in data) {
-      final Point position = new Point(datum.physicalX, datum.physicalY) / devicePixelRatio;
+      final Offset position = new Offset(datum.physicalX, datum.physicalY) / devicePixelRatio;
       final Duration timeStamp = datum.timeStamp;
       final PointerDeviceKind kind = datum.kind;
       assert(datum.change != null);
diff --git a/packages/flutter/lib/src/gestures/drag.dart b/packages/flutter/lib/src/gestures/drag.dart
index bf07561..e5383ab 100644
--- a/packages/flutter/lib/src/gestures/drag.dart
+++ b/packages/flutter/lib/src/gestures/drag.dart
@@ -28,14 +28,14 @@
   /// Creates details for a [GestureDragDownCallback].
   ///
   /// The [globalPosition] argument must not be null.
-  DragDownDetails({ this.globalPosition: Point.origin }) {
+  DragDownDetails({ this.globalPosition: Offset.zero }) {
     assert(globalPosition != null);
   }
 
   /// The global position at which the pointer contacted the screen.
   ///
   /// Defaults to the origin if not specified in the constructor.
-  final Point globalPosition;
+  final Offset globalPosition;
 
   @override
   String toString() => '$runtimeType($globalPosition)';
@@ -61,14 +61,14 @@
   /// Creates details for a [GestureDragStartCallback].
   ///
   /// The [globalPosition] argument must not be null.
-  DragStartDetails({ this.globalPosition: Point.origin }) {
+  DragStartDetails({ this.globalPosition: Offset.zero }) {
     assert(globalPosition != null);
   }
 
   /// The global position at which the pointer contacted the screen.
   ///
   /// Defaults to the origin if not specified in the constructor.
-  final Point globalPosition;
+  final Offset globalPosition;
 
   @override
   String toString() => '$runtimeType($globalPosition)';
@@ -131,7 +131,7 @@
   final double primaryDelta;
 
   /// The pointer's global position when it triggered this update.
-  final Point globalPosition;
+  final Offset globalPosition;
 
   @override
   String toString() => '$runtimeType($delta)';
@@ -270,7 +270,7 @@
   double maxFlingVelocity;
 
   _DragState _state = _DragState.ready;
-  Point _initialPosition;
+  Offset _initialPosition;
   Offset _pendingDragOffset;
 
   bool _isFlingGesture(VelocityEstimate estimate);
diff --git a/packages/flutter/lib/src/gestures/events.dart b/packages/flutter/lib/src/gestures/events.dart
index 10e2e79..8c479fc 100644
--- a/packages/flutter/lib/src/gestures/events.dart
+++ b/packages/flutter/lib/src/gestures/events.dart
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'dart:ui' show Point, Offset, PointerDeviceKind;
+import 'dart:ui' show Offset, PointerDeviceKind;
 
 import 'package:flutter/foundation.dart';
 
-export 'dart:ui' show Point, Offset, PointerDeviceKind;
+export 'dart:ui' show Offset, PointerDeviceKind;
 
 /// The bit of [PointerEvent.buttons] that corresponds to the primary mouse button.
 ///
@@ -77,7 +77,7 @@
     this.pointer: 0,
     this.kind: PointerDeviceKind.touch,
     this.device: 0,
-    this.position: Point.origin,
+    this.position: Offset.zero,
     this.delta: Offset.zero,
     this.buttons: 0,
     this.down: false,
@@ -109,7 +109,7 @@
 
   /// Coordinate of the position of the pointer, in logical pixels in the global
   /// coordinate space.
-  final Point position;
+  final Offset position;
 
   /// Distance in logical pixels that the pointer moved since the last
   /// PointerMoveEvent. Always 0.0 for down, up, and cancel events.
@@ -257,7 +257,7 @@
     Duration timeStamp: Duration.ZERO,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     bool obscured: false,
     double pressureMin: 1.0,
     double pressureMax: 1.0,
@@ -331,7 +331,7 @@
     Duration timeStamp: Duration.ZERO,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     Offset delta: Offset.zero,
     int buttons: 0,
     bool obscured: false,
@@ -377,7 +377,7 @@
     int pointer: 0,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     int buttons: 0,
     bool obscured: false,
     double pressure: 1.0,
@@ -429,7 +429,7 @@
     int pointer: 0,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     Offset delta: Offset.zero,
     int buttons: 0,
     bool obscured: false,
@@ -477,7 +477,7 @@
     int pointer: 0,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     int buttons: 0,
     bool obscured: false,
     double pressureMin: 1.0,
@@ -518,7 +518,7 @@
     int pointer: 0,
     PointerDeviceKind kind: PointerDeviceKind.touch,
     int device: 0,
-    Point position: Point.origin,
+    Offset position: Offset.zero,
     int buttons: 0,
     bool obscured: false,
     double pressureMin: 1.0,
diff --git a/packages/flutter/lib/src/gestures/hit_test.dart b/packages/flutter/lib/src/gestures/hit_test.dart
index 6e7a7e6..4cbd64b 100644
--- a/packages/flutter/lib/src/gestures/hit_test.dart
+++ b/packages/flutter/lib/src/gestures/hit_test.dart
@@ -10,7 +10,7 @@
   ///
   /// If this given position hits this object, consider adding a [HitTestEntry]
   /// to the given hit test result.
-  void hitTest(HitTestResult result, Point position);
+  void hitTest(HitTestResult result, Offset position);
 }
 
 /// An object that can dispatch events.
diff --git a/packages/flutter/lib/src/gestures/multidrag.dart b/packages/flutter/lib/src/gestures/multidrag.dart
index 3d8ecf0..48cf91e 100644
--- a/packages/flutter/lib/src/gestures/multidrag.dart
+++ b/packages/flutter/lib/src/gestures/multidrag.dart
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:ui' show Point, Offset;
+import 'dart:ui' show Offset;
 
 import 'package:flutter/foundation.dart';
 
@@ -16,7 +16,7 @@
 import 'velocity_tracker.dart';
 
 /// Signature for when [MultiDragGestureRecognizer] recognizes the start of a drag gesture.
-typedef Drag GestureMultiDragStartCallback(Point position);
+typedef Drag GestureMultiDragStartCallback(Offset position);
 
 /// Interface for receiving updates about drags from a [MultiDragGestureRecognizer].
 abstract class Drag {
@@ -49,7 +49,7 @@
   }
 
   /// The global coordinates of the pointer when the pointer contacted the screen.
-  final Point initialPosition;
+  final Offset initialPosition;
 
   final VelocityTracker _velocityTracker = new VelocityTracker();
   Drag _client;
@@ -251,10 +251,10 @@
     final T state = _pointers[pointer];
     if (state == null)
       return; // We might already have canceled this drag if the up comes before the accept.
-    state.accepted((Point initialPosition) => _startDrag(initialPosition, pointer));
+    state.accepted((Offset initialPosition) => _startDrag(initialPosition, pointer));
   }
 
-  Drag _startDrag(Point initialPosition, int pointer) {
+  Drag _startDrag(Offset initialPosition, int pointer) {
     assert(_pointers != null);
     final T state = _pointers[pointer];
     assert(state != null);
@@ -303,7 +303,7 @@
 }
 
 class _ImmediatePointerState extends MultiDragPointerState {
-  _ImmediatePointerState(Point initialPosition) : super(initialPosition);
+  _ImmediatePointerState(Offset initialPosition) : super(initialPosition);
 
   @override
   void checkForResolutionAfterMove() {
@@ -340,7 +340,7 @@
 
 
 class _HorizontalPointerState extends MultiDragPointerState {
-  _HorizontalPointerState(Point initialPosition) : super(initialPosition);
+  _HorizontalPointerState(Offset initialPosition) : super(initialPosition);
 
   @override
   void checkForResolutionAfterMove() {
@@ -377,7 +377,7 @@
 
 
 class _VerticalPointerState extends MultiDragPointerState {
-  _VerticalPointerState(Point initialPosition) : super(initialPosition);
+  _VerticalPointerState(Offset initialPosition) : super(initialPosition);
 
   @override
   void checkForResolutionAfterMove() {
@@ -413,7 +413,7 @@
 }
 
 class _DelayedPointerState extends MultiDragPointerState {
-  _DelayedPointerState(Point initialPosition, Duration delay) : super(initialPosition) {
+  _DelayedPointerState(Offset initialPosition, Duration delay) : super(initialPosition) {
     assert(delay != null);
     _timer = new Timer(delay, _delayPassed);
   }
diff --git a/packages/flutter/lib/src/gestures/multitap.dart b/packages/flutter/lib/src/gestures/multitap.dart
index 791910f..d475527 100644
--- a/packages/flutter/lib/src/gestures/multitap.dart
+++ b/packages/flutter/lib/src/gestures/multitap.dart
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 import 'dart:async';
-import 'dart:ui' show Point, Offset;
+import 'dart:ui' show Offset;
 
 import 'arena.dart';
 import 'binding.dart';
@@ -41,7 +41,7 @@
 
   final int pointer;
   final GestureArenaEntry entry;
-  final Point _initialPosition;
+  final Offset _initialPosition;
 
   bool _isTrackingPointer = false;
 
@@ -249,8 +249,8 @@
   bool _wonArena = false;
   Timer _timer;
 
-  Point _lastPosition;
-  Point _finalPosition;
+  Offset _lastPosition;
+  Offset _finalPosition;
 
   void handleEvent(PointerEvent event) {
     assert(event.pointer == pointer);
@@ -374,7 +374,7 @@
       invokeCallback<Null>('onTapCancel', () => onTapCancel(pointer)); // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504
   }
 
-  void _dispatchTap(int pointer, Point globalPosition) {
+  void _dispatchTap(int pointer, Offset globalPosition) {
     assert(_gestureMap.containsKey(pointer));
     _gestureMap.remove(pointer);
     if (onTapUp != null)
@@ -383,7 +383,7 @@
       invokeCallback<Null>('onTap', () => onTap(pointer)); // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504
   }
 
-  void _dispatchLongTap(int pointer, Point lastPosition) {
+  void _dispatchLongTap(int pointer, Offset lastPosition) {
     assert(_gestureMap.containsKey(pointer));
     if (onLongTapDown != null)
       invokeCallback<Null>('onLongTapDown', () => onLongTapDown(pointer, new TapDownDetails(globalPosition: lastPosition))); // ignore: STRONG_MODE_INVALID_CAST_FUNCTION_EXPR, https://github.com/dart-lang/sdk/issues/27504
diff --git a/packages/flutter/lib/src/gestures/recognizer.dart b/packages/flutter/lib/src/gestures/recognizer.dart
index 6251294..b045eff 100644
--- a/packages/flutter/lib/src/gestures/recognizer.dart
+++ b/packages/flutter/lib/src/gestures/recognizer.dart
@@ -4,7 +4,7 @@
 
 import 'dart:async';
 import 'dart:collection';
-import 'dart:ui' show Point, Offset;
+import 'dart:ui' show Offset;
 
 import 'package:flutter/foundation.dart';
 
@@ -232,7 +232,7 @@
   int primaryPointer;
 
   /// The global location at which the primary pointer contacted the screen.
-  Point initialPosition;
+  Offset initialPosition;
 
   Timer _timer;
 
diff --git a/packages/flutter/lib/src/gestures/scale.dart b/packages/flutter/lib/src/gestures/scale.dart
index 658abdd..2410f96 100644
--- a/packages/flutter/lib/src/gestures/scale.dart
+++ b/packages/flutter/lib/src/gestures/scale.dart
@@ -32,13 +32,13 @@
   /// Creates details for [GestureScaleStartCallback].
   ///
   /// The [focalPoint] argument must not be null.
-  ScaleStartDetails({ this.focalPoint: Point.origin }) {
+  ScaleStartDetails({ this.focalPoint: Offset.zero }) {
     assert(focalPoint != null);
   }
 
   /// The initial focal point of the pointers in contact with the screen.
   /// Reported in global coordinates.
-  final Point focalPoint;
+  final Offset focalPoint;
 
   @override
   String toString() => 'ScaleStartDetails(focalPoint: $focalPoint)';
@@ -50,14 +50,14 @@
   ///
   /// The [focalPoint] and [scale] arguments must not be null. The [scale]
   /// argument must be greater than or equal to zero.
-  ScaleUpdateDetails({ this.focalPoint: Point.origin, this.scale: 1.0 }) {
+  ScaleUpdateDetails({ this.focalPoint: Offset.zero, this.scale: 1.0 }) {
     assert(focalPoint != null);
     assert(scale != null && scale >= 0.0);
   }
 
   /// The focal point of the pointers in contact with the screen. Reported in
   /// global coordinates.
-  final Point focalPoint;
+  final Offset focalPoint;
 
   /// The scale implied by the pointers in contact with the screen. A value
   /// greater than or equal to zero.
@@ -121,11 +121,11 @@
 
   _ScaleState _state = _ScaleState.ready;
 
-  Point _initialFocalPoint;
-  Point _currentFocalPoint;
+  Offset _initialFocalPoint;
+  Offset _currentFocalPoint;
   double _initialSpan;
   double _currentSpan;
-  Map<int, Point> _pointerLocations;
+  Map<int, Offset> _pointerLocations;
   final Map<int, VelocityTracker> _velocityTrackers = <int, VelocityTracker>{};
 
   double get _scaleFactor => _initialSpan > 0.0 ? _currentSpan / _initialSpan : 1.0;
@@ -138,7 +138,7 @@
       _state = _ScaleState.possible;
       _initialSpan = 0.0;
       _currentSpan = 0.0;
-      _pointerLocations = <int, Point>{};
+      _pointerLocations = <int, Offset>{};
     }
   }
 
@@ -172,10 +172,10 @@
     final int count = _pointerLocations.keys.length;
 
     // Compute the focal point
-    Point focalPoint = Point.origin;
+    Offset focalPoint = Offset.zero;
     for (int pointer in _pointerLocations.keys)
-      focalPoint += _pointerLocations[pointer].toOffset();
-    _currentFocalPoint = count > 0 ? new Point(focalPoint.x / count, focalPoint.y / count) : Point.origin;
+      focalPoint += _pointerLocations[pointer];
+    _currentFocalPoint = count > 0 ? focalPoint / count.toDouble() : Offset.zero;
 
     // Span is the average deviation from focal point
     double totalDeviation = 0.0;
diff --git a/packages/flutter/lib/src/gestures/tap.dart b/packages/flutter/lib/src/gestures/tap.dart
index b584cd0..48c1769 100644
--- a/packages/flutter/lib/src/gestures/tap.dart
+++ b/packages/flutter/lib/src/gestures/tap.dart
@@ -12,12 +12,12 @@
   /// Creates details for a [GestureTapDownCallback].
   ///
   /// The [globalPosition] argument must not be null.
-  TapDownDetails({ this.globalPosition: Point.origin }) {
+  TapDownDetails({ this.globalPosition: Offset.zero }) {
     assert(globalPosition != null);
   }
 
   /// The global position at which the pointer contacted the screen.
-  final Point globalPosition;
+  final Offset globalPosition;
 }
 
 /// Signature for when a pointer that might cause a tap has contacted the
@@ -32,12 +32,12 @@
   /// Creates details for a [GestureTapUpCallback].
   ///
   /// The [globalPosition] argument must not be null.
-  TapUpDetails({ this.globalPosition: Point.origin }) {
+  TapUpDetails({ this.globalPosition: Offset.zero }) {
     assert(globalPosition != null);
   }
 
   /// The global position at which the pointer contacted the screen.
-  final Point globalPosition;
+  final Offset globalPosition;
 }
 
 /// Signature for when a pointer that will trigger a tap has stopped contacting
@@ -85,7 +85,7 @@
 
   bool _sentTapDown = false;
   bool _wonArenaForPrimaryPointer = false;
-  Point _finalPosition;
+  Offset _finalPosition;
 
   @override
   void handlePrimaryPointer(PointerEvent event) {
diff --git a/packages/flutter/lib/src/gestures/velocity_tracker.dart b/packages/flutter/lib/src/gestures/velocity_tracker.dart
index 0af4e5b..169ea41 100644
--- a/packages/flutter/lib/src/gestures/velocity_tracker.dart
+++ b/packages/flutter/lib/src/gestures/velocity_tracker.dart
@@ -2,11 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'dart:ui' show Point, Offset;
+import 'dart:ui' show Offset;
 
 import 'lsq_solver.dart';
 
-export 'dart:ui' show Point, Offset;
+export 'dart:ui' show Offset;
 
 /// A velocity in two dimensions.
 class Velocity {
@@ -119,7 +119,7 @@
   const _PointAtTime(this.point, this.time);
 
   final Duration time;
-  final Point point;
+  final Offset point;
 
   @override
   String toString() => '_PointAtTime($point at $time)';
@@ -148,7 +148,7 @@
   int _index = 0;
 
   /// Adds a position as the given time to the tracker.
-  void addPosition(Duration time, Point position) {
+  void addPosition(Duration time, Offset position) {
     _index += 1;
     if (_index == _kHistorySize)
       _index = 0;
@@ -186,9 +186,9 @@
         break;
 
       oldestSample = sample;
-      final Point position = sample.point;
-      x.add(position.x);
-      y.add(position.y);
+      final Offset position = sample.point;
+      x.add(position.dx);
+      y.add(position.dy);
       w.add(1.0);
       time.add(-age);
       index = (index == 0 ? _kHistorySize : index) - 1;
diff --git a/packages/flutter/lib/src/material/arc.dart b/packages/flutter/lib/src/material/arc.dart
index 59f0614..a9ea773 100644
--- a/packages/flutter/lib/src/material/arc.dart
+++ b/packages/flutter/lib/src/material/arc.dart
@@ -13,7 +13,7 @@
 // vertical or horizontal.
 const double _kOnAxisDelta = 2.0;
 
-/// A [Tween] that animates a [Point] along a circular arc.
+/// A [Tween] that animates an [Offset] along a circular arc.
 ///
 /// The arc's radius is related to the bounding box that contains the [begin]
 /// and [end] points. If the bounding box is taller than it is wide, then the
@@ -27,14 +27,14 @@
 /// See also:
 ///
 /// * [MaterialRectArcTween]
-class MaterialPointArcTween extends Tween<Point> {
-  /// Creates a [Tween] for animating [Point]s along a circular arc.
+class MaterialPointArcTween extends Tween<Offset> {
+  /// Creates a [Tween] for animating [Offset]s along a circular arc.
   ///
   /// The [begin] and [end] points are required, cannot be null, and are
   /// immutable.
   MaterialPointArcTween({
-    @required Point begin,
-    @required Point end
+    @required Offset begin,
+    @required Offset end
   }) : super(begin: begin, end: end) {
     assert(begin != null);
     assert(end != null);
@@ -43,43 +43,43 @@
     final double deltaX = delta.dx.abs();
     final double deltaY = delta.dy.abs();
     final double distanceFromAtoB = delta.distance;
-    final Point c = new Point(end.x, begin.y);
+    final Offset c = new Offset(end.dx, begin.dy);
 
     double sweepAngle() => 2.0 * math.asin(distanceFromAtoB / (2.0 * _radius));
 
     if (deltaX > _kOnAxisDelta && deltaY > _kOnAxisDelta) {
       if (deltaX < deltaY) {
         _radius = distanceFromAtoB * distanceFromAtoB / (c - begin).distance / 2.0;
-        _center = new Point(end.x + _radius * (begin.x - end.x).sign, end.y);
-        if (begin.x < end.x) {
-          _beginAngle = sweepAngle() * (begin.y - end.y).sign;
+        _center = new Offset(end.dx + _radius * (begin.dx - end.dx).sign, end.dy);
+        if (begin.dx < end.dx) {
+          _beginAngle = sweepAngle() * (begin.dy - end.dy).sign;
           _endAngle = 0.0;
         } else {
-          _beginAngle = math.PI + sweepAngle() * (end.y - begin.y).sign;
+          _beginAngle = math.PI + sweepAngle() * (end.dy - begin.dy).sign;
           _endAngle = math.PI;
         }
       } else {
         _radius = distanceFromAtoB * distanceFromAtoB / (c - end).distance / 2.0;
-        _center = new Point(begin.x, begin.y + (end.y - begin.y).sign * _radius);
-        if (begin.y < end.y) {
+        _center = new Offset(begin.dx, begin.dy + (end.dy - begin.dy).sign * _radius);
+        if (begin.dy < end.dy) {
           _beginAngle = -math.PI / 2.0;
-          _endAngle = _beginAngle + sweepAngle() * (end.x - begin.x).sign;
+          _endAngle = _beginAngle + sweepAngle() * (end.dx - begin.dx).sign;
         } else {
           _beginAngle = math.PI / 2.0;
-          _endAngle = _beginAngle + sweepAngle() * (begin.x - end.x).sign;
+          _endAngle = _beginAngle + sweepAngle() * (begin.dx - end.dx).sign;
         }
       }
     }
   }
 
-  Point _center;
+  Offset _center;
   double _radius;
   double _beginAngle;
   double _endAngle;
 
   /// The center of the circular arc, null if [begin] and [end] are horiztonally or
   /// vertically aligned.
-  Point get center => _center;
+  Offset get center => _center;
 
   /// The radius of the circular arc, null if begin and end are horiztonally or
   /// vertically aligned.
@@ -96,24 +96,24 @@
 
   /// Setting the arc's [begin] parameter is not supported. Construct a new arc instead.
   @override
-  set begin(Point value) {
+  set begin(Offset value) {
     assert(false); // not supported
   }
 
   /// Setting the arc's [end] parameter is not supported. Construct a new arc instead.
   @override
-  set end(Point value) {
+  set end(Offset value) {
     assert(false); // not supported
   }
 
   @override
-  Point lerp(double t) {
+  Offset lerp(double t) {
     if (t == 0.0)
       return begin;
     if (t == 1.0)
       return end;
     if (_beginAngle == null || _endAngle == null)
-      return Point.lerp(begin, end, t);
+      return Offset.lerp(begin, end, t);
     final double angle = lerpDouble(_beginAngle, _endAngle, t);
     final double x = math.cos(angle) * _radius;
     final double y = math.sin(angle) * _radius;
@@ -186,7 +186,7 @@
 ///
 /// See also:
 ///
-/// * [MaterialPointArcTween]. the analogue for [Point] interporation.
+/// * [MaterialPointArcTween]. the analogue for [Offset] interporation.
 /// * [RectTween], which does a linear rectangle interpolation.
 class MaterialRectArcTween extends RectTween {
   /// Creates a [Tween] for animating [Rect]s along a circular arc.
@@ -215,14 +215,14 @@
   MaterialPointArcTween _beginArc;
   MaterialPointArcTween _endArc;
 
-  Point _cornerFor(Rect rect, _CornerId id) {
+  Offset _cornerFor(Rect rect, _CornerId id) {
     switch (id) {
       case _CornerId.topLeft: return rect.topLeft;
       case _CornerId.topRight: return rect.topRight;
       case _CornerId.bottomLeft: return rect.bottomLeft;
       case _CornerId.bottomRight: return rect.bottomRight;
     }
-    return Point.origin;
+    return Offset.zero;
   }
 
   double _diagonalSupport(Offset centersVector, _Diagonal diagonal) {
diff --git a/packages/flutter/lib/src/material/bottom_navigation_bar.dart b/packages/flutter/lib/src/material/bottom_navigation_bar.dart
index 23e4cc8..0c8fd457 100644
--- a/packages/flutter/lib/src/material/bottom_navigation_bar.dart
+++ b/packages/flutter/lib/src/material/bottom_navigation_bar.dart
@@ -571,7 +571,7 @@
       final Rect rect = new Rect.fromLTWH(0.0, 0.0, size.width, size.height);
       canvas.clipRect(rect);
       final double navWidth = math.min(bottomNavMaxWidth, size.width);
-      final Point center = new Point(
+      final Offset center = new Offset(
         (size.width - navWidth) / 2.0 + circle.offset.dx * navWidth,
         circle.offset.dy * size.height
       );
diff --git a/packages/flutter/lib/src/material/checkbox.dart b/packages/flutter/lib/src/material/checkbox.dart
index cfd0726..502251d 100644
--- a/packages/flutter/lib/src/material/checkbox.dart
+++ b/packages/flutter/lib/src/material/checkbox.dart
@@ -172,7 +172,7 @@
     final double offsetX = offset.dx + (size.width - _kEdgeSize) / 2.0;
     final double offsetY = offset.dy + (size.height - _kEdgeSize) / 2.0;
 
-    paintRadialReaction(canvas, offset, size.center(Point.origin));
+    paintRadialReaction(canvas, offset, size.center(Offset.zero));
 
     final double t = position.value;
 
@@ -203,14 +203,14 @@
         ..style = PaintingStyle.stroke
         ..strokeWidth = _kStrokeWidth;
       final Path path = new Path();
-      final Point start = const Point(_kEdgeSize * 0.15, _kEdgeSize * 0.45);
-      final Point mid = const Point(_kEdgeSize * 0.4, _kEdgeSize * 0.7);
-      final Point end = const Point(_kEdgeSize * 0.85, _kEdgeSize * 0.25);
-      final Point drawStart = Point.lerp(start, mid, 1.0 - value);
-      final Point drawEnd = Point.lerp(mid, end, value);
-      path.moveTo(offsetX + drawStart.x, offsetY + drawStart.y);
-      path.lineTo(offsetX + mid.x, offsetY + mid.y);
-      path.lineTo(offsetX + drawEnd.x, offsetY + drawEnd.y);
+      final Offset start = const Offset(_kEdgeSize * 0.15, _kEdgeSize * 0.45);
+      final Offset mid = const Offset(_kEdgeSize * 0.4, _kEdgeSize * 0.7);
+      final Offset end = const Offset(_kEdgeSize * 0.85, _kEdgeSize * 0.25);
+      final Offset drawStart = Offset.lerp(start, mid, 1.0 - value);
+      final Offset drawEnd = Offset.lerp(mid, end, value);
+      path.moveTo(offsetX + drawStart.dx, offsetY + drawStart.dy);
+      path.lineTo(offsetX + mid.dx, offsetY + mid.dy);
+      path.lineTo(offsetX + drawEnd.dx, offsetY + drawEnd.dy);
       canvas.drawPath(path, paint);
     }
   }
diff --git a/packages/flutter/lib/src/material/dropdown.dart b/packages/flutter/lib/src/material/dropdown.dart
index 64d3a3a..0eaadc6 100644
--- a/packages/flutter/lib/src/material/dropdown.dart
+++ b/packages/flutter/lib/src/material/dropdown.dart
@@ -62,7 +62,7 @@
 
     final Rect rect = new Rect.fromLTRB(0.0, top.evaluate(resize), size.width, bottom.evaluate(resize));
 
-    _painter.paint(canvas, rect.topLeft.toOffset(), new ImageConfiguration(size: rect.size));
+    _painter.paint(canvas, rect.topLeft, new ImageConfiguration(size: rect.size));
   }
 
   @override
@@ -231,7 +231,7 @@
       top = bottom - childSize.height;
     }
     assert(() {
-      final Rect container = Point.origin & size;
+      final Rect container = Offset.zero & size;
       if (container.intersect(buttonRect) == buttonRect) {
         // If the button was entirely on-screen, then verify
         // that the menu is also on-screen.
@@ -499,7 +499,7 @@
 
   void _handleTap() {
     final RenderBox itemBox = context.findRenderObject();
-    final Rect itemRect = itemBox.localToGlobal(Point.origin) & itemBox.size;
+    final Rect itemRect = itemBox.localToGlobal(Offset.zero) & itemBox.size;
     Navigator.push(context, new _DropdownRoute<T>(
       items: widget.items,
       buttonRect: _kMenuHorizontalPadding.inflateRect(itemRect),
diff --git a/packages/flutter/lib/src/material/ink_highlight.dart b/packages/flutter/lib/src/material/ink_highlight.dart
index 55f71e3..29cb691 100644
--- a/packages/flutter/lib/src/material/ink_highlight.dart
+++ b/packages/flutter/lib/src/material/ink_highlight.dart
@@ -131,7 +131,7 @@
   void paintFeature(Canvas canvas, Matrix4 transform) {
     final Paint paint = new Paint()..color = color.withAlpha(_alpha.value);
     final Offset originOffset = MatrixUtils.getAsTranslation(transform);
-    final Rect rect = (_rectCallback != null ? _rectCallback() : Point.origin & referenceBox.size);
+    final Rect rect = (_rectCallback != null ? _rectCallback() : Offset.zero & referenceBox.size);
     if (originOffset == null) {
       canvas.save();
       canvas.transform(transform.storage);
diff --git a/packages/flutter/lib/src/material/ink_splash.dart b/packages/flutter/lib/src/material/ink_splash.dart
index 66905c3..8761e61 100644
--- a/packages/flutter/lib/src/material/ink_splash.dart
+++ b/packages/flutter/lib/src/material/ink_splash.dart
@@ -22,11 +22,11 @@
     return rectCallback;
   }
   if (containedInkWell)
-    return () => Point.origin & referenceBox.size;
+    return () => Offset.zero & referenceBox.size;
   return null;
 }
 
-double _getTargetRadius(RenderBox referenceBox, bool containedInkWell, RectCallback rectCallback, Point position) {
+double _getTargetRadius(RenderBox referenceBox, bool containedInkWell, RectCallback rectCallback, Offset position) {
   if (containedInkWell) {
     final Size size = rectCallback != null ? rectCallback().size : referenceBox.size;
     return _getSplashRadiusForPoistionInSize(size, position);
@@ -34,11 +34,11 @@
   return Material.defaultSplashRadius;
 }
 
-double _getSplashRadiusForPoistionInSize(Size bounds, Point position) {
-  final double d1 = (position - bounds.topLeft(Point.origin)).distance;
-  final double d2 = (position - bounds.topRight(Point.origin)).distance;
-  final double d3 = (position - bounds.bottomLeft(Point.origin)).distance;
-  final double d4 = (position - bounds.bottomRight(Point.origin)).distance;
+double _getSplashRadiusForPoistionInSize(Size bounds, Offset position) {
+  final double d1 = (position - bounds.topLeft(Offset.zero)).distance;
+  final double d2 = (position - bounds.topRight(Offset.zero)).distance;
+  final double d3 = (position - bounds.bottomLeft(Offset.zero)).distance;
+  final double d4 = (position - bounds.bottomRight(Offset.zero)).distance;
   return math.max(math.max(d1, d2), math.max(d3, d4)).ceilToDouble();
 }
 
@@ -76,7 +76,7 @@
   InkSplash({
     @required MaterialInkController controller,
     @required RenderBox referenceBox,
-    Point position,
+    Offset position,
     Color color,
     bool containedInkWell: false,
     RectCallback rectCallback,
@@ -109,7 +109,7 @@
     controller.addInkFeature(this);
   }
 
-  final Point _position;
+  final Offset _position;
   final BorderRadius _borderRadius;
   final double _targetRadius;
   final RectCallback _clipCallback;
@@ -185,9 +185,9 @@
   @override
   void paintFeature(Canvas canvas, Matrix4 transform) {
     final Paint paint = new Paint()..color = _color.withAlpha(_alpha.value);
-    Point center = _position;
+    Offset center = _position;
     if (_repositionToReferenceBox)
-      center = Point.lerp(center, referenceBox.size.center(Point.origin), _radiusController.value);
+      center = Offset.lerp(center, referenceBox.size.center(Offset.zero), _radiusController.value);
     final Offset originOffset = MatrixUtils.getAsTranslation(transform);
     if (originOffset == null) {
       canvas.save();
diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart
index 39e8b55..f888114 100644
--- a/packages/flutter/lib/src/material/material.dart
+++ b/packages/flutter/lib/src/material/material.dart
@@ -340,7 +340,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void paint(PaintingContext context, Offset offset) {
@@ -348,7 +348,7 @@
       final Canvas canvas = context.canvas;
       canvas.save();
       canvas.translate(offset.dx, offset.dy);
-      canvas.clipRect(Point.origin & size);
+      canvas.clipRect(Offset.zero & size);
       for (InkFeature inkFeature in _inkFeatures)
         inkFeature._paint(canvas);
       canvas.restore();
diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart
index 97f49eb..66e6e13 100644
--- a/packages/flutter/lib/src/material/popup_menu.dart
+++ b/packages/flutter/lib/src/material/popup_menu.dart
@@ -524,15 +524,17 @@
 class _PopupMenuButtonState<T> extends State<PopupMenuButton<T>> {
   void showButtonMenu() {
     final RenderBox renderBox = context.findRenderObject();
-    final Point topLeft = renderBox.localToGlobal(Point.origin);
+    final Offset topLeft = renderBox.localToGlobal(Offset.zero);
     showMenu<T>(
       context: context,
       elevation: widget.elevation,
       items: widget.itemBuilder(context),
       initialValue: widget.initialValue,
       position: new RelativeRect.fromLTRB(
-        topLeft.x, topLeft.y + (widget.initialValue != null ? renderBox.size.height / 2.0 : 0.0),
-        0.0, 0.0
+        topLeft.dx,
+        topLeft.dy + (widget.initialValue != null ? renderBox.size.height / 2.0 : 0.0),
+        0.0,
+        0.0,
       )
     )
     .then<Null>((T newValue) {
diff --git a/packages/flutter/lib/src/material/progress_indicator.dart b/packages/flutter/lib/src/material/progress_indicator.dart
index 455e235..c14040c 100644
--- a/packages/flutter/lib/src/material/progress_indicator.dart
+++ b/packages/flutter/lib/src/material/progress_indicator.dart
@@ -89,18 +89,18 @@
     final Paint paint = new Paint()
       ..color = backgroundColor
       ..style = PaintingStyle.fill;
-    canvas.drawRect(Point.origin & size, paint);
+    canvas.drawRect(Offset.zero & size, paint);
 
     paint.color = valueColor;
     if (value != null) {
       final double width = value.clamp(0.0, 1.0) * size.width;
-      canvas.drawRect(Point.origin & new Size(width, size.height), paint);
+      canvas.drawRect(Offset.zero & new Size(width, size.height), paint);
     } else {
       final double startX = size.width * (1.5 * animationValue - 0.5);
       final double endX = startX + 0.5 * size.width;
       final double x = startX.clamp(0.0, size.width);
       final double width = endX.clamp(0.0, size.width) - x;
-      canvas.drawRect(new Point(x, 0.0) & new Size(width, size.height), paint);
+      canvas.drawRect(new Offset(x, 0.0) & new Size(width, size.height), paint);
     }
   }
 
@@ -239,7 +239,7 @@
     if (value == null) // Indeterminate
       paint.strokeCap = StrokeCap.square;
 
-    canvas.drawArc(Point.origin & size, arcStart, arcSweep, false, paint);
+    canvas.drawArc(Offset.zero & size, arcStart, arcSweep, false, paint);
   }
 
   @override
diff --git a/packages/flutter/lib/src/material/radio.dart b/packages/flutter/lib/src/material/radio.dart
index 7cf8bb2e..ed20f09 100644
--- a/packages/flutter/lib/src/material/radio.dart
+++ b/packages/flutter/lib/src/material/radio.dart
@@ -190,9 +190,9 @@
   void paint(PaintingContext context, Offset offset) {
     final Canvas canvas = context.canvas;
 
-    paintRadialReaction(canvas, offset, const Point(kRadialReactionRadius, kRadialReactionRadius));
+    paintRadialReaction(canvas, offset, const Offset(kRadialReactionRadius, kRadialReactionRadius));
 
-    final Point center = (offset & size).center;
+    final Offset center = (offset & size).center;
     final Color radioColor = onChanged != null ? activeColor : inactiveColor;
 
     // Outer circle
diff --git a/packages/flutter/lib/src/material/scrollbar.dart b/packages/flutter/lib/src/material/scrollbar.dart
index a014268..b564dfcf 100644
--- a/packages/flutter/lib/src/material/scrollbar.dart
+++ b/packages/flutter/lib/src/material/scrollbar.dart
@@ -143,13 +143,13 @@
   Paint get _paint => new Paint()..color = color.withOpacity(_opacity.value);
 
   void _paintVerticalThumb(Canvas canvas, Size size, double thumbOffset, double thumbExtent) {
-    final Point thumbOrigin = new Point(size.width - _kThumbGirth, thumbOffset);
+    final Offset thumbOrigin = new Offset(size.width - _kThumbGirth, thumbOffset);
     final Size thumbSize = new Size(_kThumbGirth, thumbExtent);
     canvas.drawRect(thumbOrigin & thumbSize, _paint);
   }
 
   void _paintHorizontalThumb(Canvas canvas, Size size, double thumbOffset, double thumbExtent) {
-    final Point thumbOrigin = new Point(thumbOffset, size.height - _kThumbGirth);
+    final Offset thumbOrigin = new Offset(thumbOffset, size.height - _kThumbGirth);
     final Size thumbSize = new Size(thumbExtent, _kThumbGirth);
     canvas.drawRect(thumbOrigin & thumbSize, _paint);
   }
diff --git a/packages/flutter/lib/src/material/slider.dart b/packages/flutter/lib/src/material/slider.dart
index 161125e..9f1ed40 100644
--- a/packages/flutter/lib/src/material/slider.dart
+++ b/packages/flutter/lib/src/material/slider.dart
@@ -389,8 +389,8 @@
 
   bool get isInteractive => onChanged != null;
 
-  double _getValueFromGlobalPosition(Point globalPosition) {
-    return (globalToLocal(globalPosition).x - _kReactionRadius) / _trackLength;
+  double _getValueFromGlobalPosition(Offset globalPosition) {
+    return (globalToLocal(globalPosition).dx - _kReactionRadius) / _trackLength;
   }
 
   double _discretize(double value) {
@@ -430,7 +430,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
@@ -461,7 +461,7 @@
     final Paint primaryPaint = new Paint()..color = enabled ? _activeColor : _kInactiveTrackColor;
     final Paint trackPaint = new Paint()..color = _kTrackColorTween.evaluate(_reaction);
 
-    final Point thumbCenter = new Point(trackActive, trackCenter);
+    final Offset thumbCenter = new Offset(trackActive, trackCenter);
     final double thumbRadius = enabled ? _kThumbRadiusTween.evaluate(_reaction) : _kDisabledThumbRadius;
 
     if (enabled) {
@@ -495,22 +495,22 @@
       }
 
       if (label != null) {
-        final Point center = new Point(trackActive, _kLabelBalloonCenterTween.evaluate(_reaction) + trackCenter);
+        final Offset center = new Offset(trackActive, _kLabelBalloonCenterTween.evaluate(_reaction) + trackCenter);
         final double radius = _kLabelBalloonRadiusTween.evaluate(_reaction);
-        final Point tip = new Point(trackActive, _kLabelBalloonTipTween.evaluate(_reaction) + trackCenter);
+        final Offset tip = new Offset(trackActive, _kLabelBalloonTipTween.evaluate(_reaction) + trackCenter);
         final double tipAttachment = _kLabelBalloonTipAttachmentRatio * radius;
 
         canvas.drawCircle(center, radius, primaryPaint);
         final Path path = new Path()
-          ..moveTo(tip.x, tip.y)
-          ..lineTo(center.x - tipAttachment, center.y + tipAttachment)
-          ..lineTo(center.x + tipAttachment, center.y + tipAttachment)
+          ..moveTo(tip.dx, tip.dy)
+          ..lineTo(center.dx - tipAttachment, center.dy + tipAttachment)
+          ..lineTo(center.dx + tipAttachment, center.dy + tipAttachment)
           ..close();
         canvas.drawPath(path, primaryPaint);
         _labelPainter.layout();
         final Offset labelOffset = new Offset(
-          center.x - _labelPainter.width / 2.0,
-          center.y - _labelPainter.height / 2.0
+          center.dx - _labelPainter.width / 2.0,
+          center.dy - _labelPainter.height / 2.0
         );
         _labelPainter.paint(canvas, labelOffset);
         return;
diff --git a/packages/flutter/lib/src/material/stepper.dart b/packages/flutter/lib/src/material/stepper.dart
index 0073b2d..9d08e8d 100644
--- a/packages/flutter/lib/src/material/stepper.dart
+++ b/packages/flutter/lib/src/material/stepper.dart
@@ -652,7 +652,7 @@
   final Color color;
 
   @override
-  bool hitTest(Point point) => true; // Hitting the rectangle is fine enough.
+  bool hitTest(Offset point) => true; // Hitting the rectangle is fine enough.
 
   @override
   bool shouldRepaint(_TrianglePainter oldPainter) {
@@ -664,10 +664,10 @@
     final double base = size.width;
     final double halfBase = size.width / 2.0;
     final double height = size.height;
-    final List<Point> points = <Point>[
-      new Point(0.0, height),
-      new Point(base, height),
-      new Point(halfBase, 0.0),
+    final List<Offset> points = <Offset>[
+      new Offset(0.0, height),
+      new Offset(base, height),
+      new Offset(halfBase, 0.0),
     ];
 
     canvas.drawPath(
diff --git a/packages/flutter/lib/src/material/switch.dart b/packages/flutter/lib/src/material/switch.dart
index 0a80643..54937f6 100644
--- a/packages/flutter/lib/src/material/switch.dart
+++ b/packages/flutter/lib/src/material/switch.dart
@@ -365,7 +365,7 @@
     final RRect trackRRect = new RRect.fromRectAndRadius(trackRect, const Radius.circular(_kTrackRadius));
     canvas.drawRRect(trackRRect, paint);
 
-    final Point thumbPosition = new Point(
+    final Offset thumbPosition = new Offset(
       kRadialReactionRadius + currentPosition * _trackInnerLength,
       size.height / 2.0
     );
@@ -389,7 +389,7 @@
       final double radius = _kThumbRadius - inset;
       thumbPainter.paint(
         canvas,
-        thumbPosition.toOffset() + offset - new Offset(radius, radius),
+        thumbPosition + offset - new Offset(radius, radius),
         configuration.copyWith(size: new Size.fromRadius(radius))
       );
     } finally {
diff --git a/packages/flutter/lib/src/material/text_selection.dart b/packages/flutter/lib/src/material/text_selection.dart
index e3e268d..e2d680c 100644
--- a/packages/flutter/lib/src/material/text_selection.dart
+++ b/packages/flutter/lib/src/material/text_selection.dart
@@ -92,7 +92,7 @@
 class _TextSelectionToolbarLayout extends SingleChildLayoutDelegate {
   _TextSelectionToolbarLayout(this.position);
 
-  final Point position;
+  final Offset position;
 
   @override
   BoxConstraints getConstraintsForChild(BoxConstraints constraints) {
@@ -101,8 +101,8 @@
 
   @override
   Offset getPositionForChild(Size size, Size childSize) {
-    double x = position.x - childSize.width/2.0;
-    double y = position.y - childSize.height;
+    double x = position.dx - childSize.width / 2.0;
+    double y = position.dy - childSize.height;
 
     if (x < _kToolbarScreenPadding)
       x = _kToolbarScreenPadding;
@@ -133,7 +133,7 @@
   void paint(Canvas canvas, Size size) {
     final Paint paint = new Paint()..color = color;
     final double radius = size.width/2.0;
-    canvas.drawCircle(new Point(radius, radius), radius, paint);
+    canvas.drawCircle(new Offset(radius, radius), radius, paint);
     canvas.drawRect(new Rect.fromLTWH(0.0, 0.0, radius, radius), paint);
   }
 
@@ -150,7 +150,7 @@
   /// Builder for material-style copy/paste text selection toolbar.
   @override
   Widget buildToolbar(
-      BuildContext context, Point position, TextSelectionDelegate delegate) {
+      BuildContext context, Offset position, TextSelectionDelegate delegate) {
     final Size screenSize = MediaQuery.of(context).size;
     return new ConstrainedBox(
       constraints: new BoxConstraints.loose(screenSize),
diff --git a/packages/flutter/lib/src/material/time_picker.dart b/packages/flutter/lib/src/material/time_picker.dart
index 4edeb6b..17b4c63 100644
--- a/packages/flutter/lib/src/material/time_picker.dart
+++ b/packages/flutter/lib/src/material/time_picker.dart
@@ -393,7 +393,7 @@
   void paint(Canvas canvas, Size size) {
     final double radius = size.shortestSide / 2.0;
     final Offset center = new Offset(size.width / 2.0, size.height / 2.0);
-    final Point centerPoint = center.toPoint();
+    final Offset centerPoint = center;
     canvas.drawCircle(centerPoint, radius, new Paint()..color = backgroundColor);
 
     const double labelPadding = 24.0;
@@ -418,7 +418,7 @@
 
     final Paint selectorPaint = new Paint()
       ..color = accentColor;
-    final Point focusedPoint = getOffsetForTheta(theta).toPoint();
+    final Offset focusedPoint = getOffsetForTheta(theta);
     final double focusedRadius = labelPadding - 4.0;
     canvas.drawCircle(centerPoint, 4.0, selectorPaint);
     canvas.drawCircle(focusedPoint, focusedRadius, selectorPaint);
@@ -549,15 +549,15 @@
     });
   }
 
-  Point _position;
-  Point _center;
+  Offset _position;
+  Offset _center;
 
   void _handlePanStart(DragStartDetails details) {
     assert(!_dragging);
     _dragging = true;
     final RenderBox box = context.findRenderObject();
     _position = box.globalToLocal(details.globalPosition);
-    _center = box.size.center(Point.origin);
+    _center = box.size.center(Offset.zero);
     _updateThetaForPan();
     _notifyOnChangedIfNeeded();
   }
diff --git a/packages/flutter/lib/src/material/toggleable.dart b/packages/flutter/lib/src/material/toggleable.dart
index 4549bd9..f9bdb3c 100644
--- a/packages/flutter/lib/src/material/toggleable.dart
+++ b/packages/flutter/lib/src/material/toggleable.dart
@@ -191,7 +191,7 @@
   bool get isInteractive => onChanged != null;
 
   TapGestureRecognizer _tap;
-  Point _downPosition;
+  Offset _downPosition;
 
   @override
   void attach(PipelineOwner owner) {
@@ -257,7 +257,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
@@ -272,11 +272,11 @@
   /// origin is the center point of the reaction (usually distinct from the
   /// point at which the user interacted with the control, which is handled
   /// automatically).
-  void paintRadialReaction(Canvas canvas, Offset offset, Point origin) {
+  void paintRadialReaction(Canvas canvas, Offset offset, Offset origin) {
     if (!_reaction.isDismissed) {
       // TODO(abarth): We should have a different reaction color when position is zero.
       final Paint reactionPaint = new Paint()..color = activeColor.withAlpha(kRadialReactionAlpha);
-      final Point center = Point.lerp(_downPosition ?? origin, origin, _reaction.value);
+      final Offset center = Offset.lerp(_downPosition ?? origin, origin, _reaction.value);
       final double radius = _kRadialReactionRadiusTween.evaluate(_reaction);
       canvas.drawCircle(center + offset, radius, reactionPaint);
     }
diff --git a/packages/flutter/lib/src/material/tooltip.dart b/packages/flutter/lib/src/material/tooltip.dart
index f3a4fcb..cc593ac 100644
--- a/packages/flutter/lib/src/material/tooltip.dart
+++ b/packages/flutter/lib/src/material/tooltip.dart
@@ -119,7 +119,7 @@
       return;  // Already visible.
     }
     final RenderBox box = context.findRenderObject();
-    final Point target = box.localToGlobal(box.size.center(Point.origin));
+    final Offset target = box.localToGlobal(box.size.center(Offset.zero));
     // We create this widget outside of the overlay entry's builder to prevent
     // updated values from happening to leak into the overlay when the overlay
     // rebuilds.
@@ -195,7 +195,7 @@
     this.preferBelow
   });
 
-  final Point target;
+  final Offset target;
   final double verticalOffset;
   final bool preferBelow;
 
@@ -205,16 +205,16 @@
   @override
   Offset getPositionForChild(Size size, Size childSize) {
     // VERTICAL DIRECTION
-    final bool fitsBelow = target.y + verticalOffset + childSize.height <= size.height - _kScreenEdgeMargin;
-    final bool fitsAbove = target.y - verticalOffset - childSize.height >= _kScreenEdgeMargin;
+    final bool fitsBelow = target.dy + verticalOffset + childSize.height <= size.height - _kScreenEdgeMargin;
+    final bool fitsAbove = target.dy - verticalOffset - childSize.height >= _kScreenEdgeMargin;
     final bool tooltipBelow = preferBelow ? fitsBelow || !fitsAbove : !(fitsAbove || !fitsBelow);
     double y;
     if (tooltipBelow)
-      y = math.min(target.y + verticalOffset, size.height - _kScreenEdgeMargin);
+      y = math.min(target.dy + verticalOffset, size.height - _kScreenEdgeMargin);
     else
-      y = math.max(target.y - verticalOffset - childSize.height, _kScreenEdgeMargin);
+      y = math.max(target.dy - verticalOffset - childSize.height, _kScreenEdgeMargin);
     // HORIZONTAL DIRECTION
-    final double normalizedTargetX = target.x.clamp(_kScreenEdgeMargin, size.width - _kScreenEdgeMargin);
+    final double normalizedTargetX = target.dx.clamp(_kScreenEdgeMargin, size.width - _kScreenEdgeMargin);
     double x;
     if (normalizedTargetX < _kScreenEdgeMargin + childSize.width / 2.0) {
       x = _kScreenEdgeMargin;
@@ -250,7 +250,7 @@
   final double height;
   final EdgeInsets padding;
   final Animation<double> animation;
-  final Point target;
+  final Offset target;
   final double verticalOffset;
   final bool preferBelow;
 
diff --git a/packages/flutter/lib/src/painting/basic_types.dart b/packages/flutter/lib/src/painting/basic_types.dart
index ba4a2bf..206ca00 100644
--- a/packages/flutter/lib/src/painting/basic_types.dart
+++ b/packages/flutter/lib/src/painting/basic_types.dart
@@ -18,7 +18,6 @@
   PaintingStyle,
   Path,
   PathFillType,
-  Point,
   Radius,
   RRect,
   RSTransform,
diff --git a/packages/flutter/lib/src/painting/box_fit.dart b/packages/flutter/lib/src/painting/box_fit.dart
index 30b19f6..103798f 100644
--- a/packages/flutter/lib/src/painting/box_fit.dart
+++ b/packages/flutter/lib/src/painting/box_fit.dart
@@ -89,7 +89,7 @@
 /// ```dart
 /// final Size imageSize = new Size(image.width.toDouble(), image.height.toDouble());
 /// final FittedSizes sizes = applyBoxFit(fit, imageSize, outputRect.size);
-/// final Rect inputSubrect = FractionalOffset.center.inscribe(sizes.source, Point.origin & imageSize);
+/// final Rect inputSubrect = FractionalOffset.center.inscribe(sizes.source, Offset.zero & imageSize);
 /// final Rect outputSubrect = FractionalOffset.center.inscribe(sizes.destination, outputRect);
 /// canvas.drawImageRect(image, inputSubrect, outputSubrect, paint);
 /// ```
diff --git a/packages/flutter/lib/src/painting/box_painter.dart b/packages/flutter/lib/src/painting/box_painter.dart
index db59932..ff9089d 100644
--- a/packages/flutter/lib/src/painting/box_painter.dart
+++ b/packages/flutter/lib/src/painting/box_painter.dart
@@ -668,8 +668,9 @@
   @override
   Shader createShader(Rect rect) {
     return new ui.Gradient.linear(
-      <Point>[begin.withinRect(rect), end.withinRect(rect)],
-      colors, stops, tileMode
+      begin.withinRect(rect),
+      end.withinRect(rect),
+      colors, stops, tileMode,
     );
   }
 
@@ -938,7 +939,7 @@
   }
   final double dx = (outputSize.width - destinationSize.width) * (alignment?.dx ?? 0.5);
   final double dy = (outputSize.height - destinationSize.height) * (alignment?.dy ?? 0.5);
-  final Point destinationPosition = rect.topLeft + new Offset(dx, dy);
+  final Offset destinationPosition = rect.topLeft.translate(dx, dy);
   final Rect destinationRect = destinationPosition & destinationSize;
   if (repeat != ImageRepeat.noRepeat) {
     canvas.save();
@@ -946,7 +947,7 @@
   }
   if (centerSlice == null) {
     final Rect sourceRect = (alignment ?? FractionalOffset.center).inscribe(
-      fittedSizes.source, Point.origin & inputSize
+      fittedSizes.source, Offset.zero & inputSize
     );
     for (Rect tileRect in _generateImageTileRects(rect, destinationRect, repeat))
       canvas.drawImageRect(image, sourceRect, tileRect, paint);
@@ -1228,19 +1229,19 @@
   }
 
   @override
-  bool hitTest(Size size, Point position) {
+  bool hitTest(Size size, Offset position) {
     assert(shape != null);
-    assert((Point.origin & size).contains(position));
+    assert((Offset.zero & size).contains(position));
     switch (shape) {
       case BoxShape.rectangle:
         if (borderRadius != null) {
-          final RRect bounds = borderRadius.toRRect(Point.origin & size);
+          final RRect bounds = borderRadius.toRRect(Offset.zero & size);
           return bounds.contains(position);
         }
         return true;
       case BoxShape.circle:
         // Circles are inscribed into our smallest dimension.
-        final Point center = size.center(Point.origin);
+        final Offset center = size.center(Offset.zero);
         final double distance = (position - center).distance;
         return distance <= math.min(size.width, size.height) / 2.0;
     }
@@ -1292,7 +1293,7 @@
     switch (_decoration.shape) {
       case BoxShape.circle:
         assert(_decoration.borderRadius == null);
-        final Point center = rect.center;
+        final Offset center = rect.center;
         final double radius = rect.shortestSide / 2.0;
         canvas.drawCircle(center, radius, paint);
         break;
diff --git a/packages/flutter/lib/src/painting/decoration.dart b/packages/flutter/lib/src/painting/decoration.dart
index 7fdd3fd..9f9f714 100644
--- a/packages/flutter/lib/src/painting/decoration.dart
+++ b/packages/flutter/lib/src/painting/decoration.dart
@@ -10,7 +10,7 @@
 
 export 'package:flutter/services.dart' show ImageConfiguration;
 
-export 'basic_types.dart' show Point, Offset, Size;
+export 'basic_types.dart' show Offset, Size;
 export 'edge_insets.dart' show EdgeInsets;
 
 // This group of classes is intended for painting in cartesian coordinates.
@@ -71,7 +71,7 @@
   /// if the decoration only draws a circle, this function might
   /// return true if the point was inside the circle and false
   /// otherwise.
-  bool hitTest(Size size, Point position) => true;
+  bool hitTest(Size size, Offset position) => true;
 
   /// Returns a [BoxPainter] that will paint this decoration.
   ///
diff --git a/packages/flutter/lib/src/painting/flutter_logo.dart b/packages/flutter/lib/src/painting/flutter_logo.dart
index 338302f..8a548f6 100644
--- a/packages/flutter/lib/src/painting/flutter_logo.dart
+++ b/packages/flutter/lib/src/painting/flutter_logo.dart
@@ -174,7 +174,7 @@
 
   @override
   // TODO(ianh): better hit testing
-  bool hitTest(Size size, Point position) => true;
+  bool hitTest(Size size, Offset position) => true;
 
   @override
   BoxPainter createBoxPainter([VoidCallback onChanged]) {
@@ -275,10 +275,8 @@
       ..color = _config.darkColor;
 
     final ui.Gradient triangleGradient = new ui.Gradient.linear(
-      const <Point>[
-        const Point(87.2623 + 37.9092, 28.8384 + 123.4389),
-        const Point(42.9205 + 37.9092, 35.0952 + 123.4389),
-      ],
+      const Offset(87.2623 + 37.9092, 28.8384 + 123.4389),
+      const Offset(42.9205 + 37.9092, 35.0952 + 123.4389),
       <Color>[
         const Color(0xBFFFFFFF),
         const Color(0xBFFCFCFC),
@@ -290,17 +288,15 @@
         const Color(0xBF6E6E6E),
         const Color(0xBF616161),
       ],
-      <double>[ 0.2690, 0.4093, 0.4972, 0.5708, 0.6364, 0.6968, 0.7533, 0.8058, 0.8219 ]
+      <double>[ 0.2690, 0.4093, 0.4972, 0.5708, 0.6364, 0.6968, 0.7533, 0.8058, 0.8219 ],
     );
     final Paint trianglePaint = new Paint()
       ..shader = triangleGradient
       ..blendMode = BlendMode.multiply;
 
     final ui.Gradient rectangleGradient = new ui.Gradient.linear(
-      const <Point>[
-        const Point(62.3643 + 37.9092, 40.135 + 123.4389),
-        const Point(54.0376 + 37.9092, 31.8083 + 123.4389),
-      ],
+      const Offset(62.3643 + 37.9092, 40.135 + 123.4389),
+      const Offset(54.0376 + 37.9092, 31.8083 + 123.4389),
       <Color>[
         const Color(0x80FFFFFF),
         const Color(0x80FCFCFC),
@@ -440,11 +436,11 @@
         );
         canvas.save();
         if (_config._position < 1.0) {
-          final Point center = logoSquare.center;
+          final Offset center = logoSquare.center;
           final Path path = new Path()
-            ..moveTo(center.x, center.y)
-            ..lineTo(center.x + rect.width, center.y - rect.width)
-            ..lineTo(center.x + rect.width, center.y + rect.width)
+            ..moveTo(center.dx, center.dy)
+            ..lineTo(center.dx + rect.width, center.dy - rect.width)
+            ..lineTo(center.dx + rect.width, center.dy + rect.width)
             ..close();
           canvas.clipPath(path);
         }
@@ -462,7 +458,7 @@
           canvas.save();
         }
         canvas.translate(
-          logoTargetSquare.center.x - (_textBoundingRect.width * scale / 2.0),
+          logoTargetSquare.center.dx - (_textBoundingRect.width * scale / 2.0),
           logoTargetSquare.bottom
         );
         canvas.scale(scale, scale);
@@ -471,7 +467,8 @@
           canvas.drawRect(_textBoundingRect.inflate(_textBoundingRect.width * 0.5), new Paint()
             ..blendMode = BlendMode.modulate
             ..shader = new ui.Gradient.linear(
-              <Point>[new Point(_textBoundingRect.width * -0.5, 0.0), new Point(_textBoundingRect.width * 1.5, 0.0)],
+              new Offset(_textBoundingRect.width * -0.5, 0.0),
+              new Offset(_textBoundingRect.width * 1.5, 0.0),
               <Color>[const Color(0xFFFFFFFF), const Color(0xFFFFFFFF), const Color(0x00FFFFFF), const Color(0x00FFFFFF)],
               <double>[ 0.0, math.max(0.0, _config._position.abs() - 0.1), math.min(_config._position.abs() + 0.1, 1.0), 1.0 ],
             )
diff --git a/packages/flutter/lib/src/painting/fractional_offset.dart b/packages/flutter/lib/src/painting/fractional_offset.dart
index 6c37a70..7d05a8d 100644
--- a/packages/flutter/lib/src/painting/fractional_offset.dart
+++ b/packages/flutter/lib/src/painting/fractional_offset.dart
@@ -103,8 +103,8 @@
   }
 
   /// Returns the point that is this fraction within the given rect.
-  Point withinRect(Rect rect) {
-    return new Point(rect.left + dx * rect.width, rect.top + dy * rect.height);
+  Offset withinRect(Rect rect) {
+    return new Offset(rect.left + dx * rect.width, rect.top + dy * rect.height);
   }
 
   /// Returns a rect of the given size, centered at this fraction of the given rect.
diff --git a/packages/flutter/lib/src/painting/transforms.dart b/packages/flutter/lib/src/painting/transforms.dart
index 05e8355..0273a1c 100644
--- a/packages/flutter/lib/src/painting/transforms.dart
+++ b/packages/flutter/lib/src/painting/transforms.dart
@@ -94,10 +94,10 @@
   ///
   /// This function assumes the given point has a z-coordinate of 0.0. The
   /// z-coordinate of the result is ignored.
-  static Point transformPoint(Matrix4 transform, Point point) {
-    final Vector3 position3 = new Vector3(point.x, point.y, 0.0);
+  static Offset transformPoint(Matrix4 transform, Offset point) {
+    final Vector3 position3 = new Vector3(point.dx, point.dy, 0.0);
     final Vector3 transformed3 = transform.perspectiveTransform(position3);
-    return new Point(transformed3.x, transformed3.y);
+    return new Offset(transformed3.x, transformed3.y);
   }
 
   /// Returns a rect that bounds the result of applying the given matrix as a
@@ -107,15 +107,15 @@
   /// The transformed rect is then projected back into the plane with z equals
   /// 0.0 before computing its bounding rect.
   static Rect transformRect(Matrix4 transform, Rect rect) {
-    final Point point1 = transformPoint(transform, rect.topLeft);
-    final Point point2 = transformPoint(transform, rect.topRight);
-    final Point point3 = transformPoint(transform, rect.bottomLeft);
-    final Point point4 = transformPoint(transform, rect.bottomRight);
+    final Offset point1 = transformPoint(transform, rect.topLeft);
+    final Offset point2 = transformPoint(transform, rect.topRight);
+    final Offset point3 = transformPoint(transform, rect.bottomLeft);
+    final Offset point4 = transformPoint(transform, rect.bottomRight);
     return new Rect.fromLTRB(
-        _min4(point1.x, point2.x, point3.x, point4.x),
-        _min4(point1.y, point2.y, point3.y, point4.y),
-        _max4(point1.x, point2.x, point3.x, point4.x),
-        _max4(point1.y, point2.y, point3.y, point4.y)
+        _min4(point1.dx, point2.dx, point3.dx, point4.dx),
+        _min4(point1.dy, point2.dy, point3.dy, point4.dy),
+        _max4(point1.dx, point2.dx, point3.dx, point4.dx),
+        _max4(point1.dy, point2.dy, point3.dy, point4.dy)
     );
   }
 
diff --git a/packages/flutter/lib/src/rendering/animated_size.dart b/packages/flutter/lib/src/rendering/animated_size.dart
index 4f7a361..2e707e8 100644
--- a/packages/flutter/lib/src/rendering/animated_size.dart
+++ b/packages/flutter/lib/src/rendering/animated_size.dart
@@ -153,7 +153,7 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (child != null && _hasVisualOverflow) {
-      final Rect rect = Point.origin & size;
+      final Rect rect = Offset.zero & size;
       context.pushClipRect(needsCompositing, offset, rect, super.paint);
     } else {
       super.paint(context, offset);
diff --git a/packages/flutter/lib/src/rendering/binding.dart b/packages/flutter/lib/src/rendering/binding.dart
index 6eaeb5d..3e76bc7 100644
--- a/packages/flutter/lib/src/rendering/binding.dart
+++ b/packages/flutter/lib/src/rendering/binding.dart
@@ -243,7 +243,7 @@
   }
 
   @override
-  void hitTest(HitTestResult result, Point position) {
+  void hitTest(HitTestResult result, Offset position) {
     assert(renderView != null);
     renderView.hitTest(result, position: position);
     // This super call is safe since it will be bound to a mixed-in declaration.
diff --git a/packages/flutter/lib/src/rendering/block.dart b/packages/flutter/lib/src/rendering/block.dart
index 62fc3d9..6521f0d 100644
--- a/packages/flutter/lib/src/rendering/block.dart
+++ b/packages/flutter/lib/src/rendering/block.dart
@@ -242,7 +242,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return defaultHitTestChildren(result, position: position);
   }
 
diff --git a/packages/flutter/lib/src/rendering/box.dart b/packages/flutter/lib/src/rendering/box.dart
index 37c19e3..e10058a 100644
--- a/packages/flutter/lib/src/rendering/box.dart
+++ b/packages/flutter/lib/src/rendering/box.dart
@@ -509,7 +509,7 @@
   RenderBox get target => super.target;
 
   /// The position of the hit test in the local coordinates of [target].
-  final Point localPosition;
+  final Offset localPosition;
 
   @override
   String toString() => '${target.runtimeType}#${target.hashCode}@$localPosition';
@@ -899,7 +899,7 @@
 /// [hitTestChildren]. When implementing hit testing, you can either override
 /// these latter two methods, or ignore them and just override [hitTest].
 ///
-/// The [hitTest] method itself is given a [Point], and must return true if the
+/// The [hitTest] method itself is given an [Offset], and must return true if the
 /// object or one of its children has absorbed the hit (preventing objects below
 /// this one from being hit), or false if the hit can continue to other objects
 /// below this one.
@@ -1424,7 +1424,7 @@
   }
 
   @override
-  Rect get semanticBounds => Point.origin & size;
+  Rect get semanticBounds => Offset.zero & size;
 
   @override
   void debugResetSize() {
@@ -1691,7 +1691,7 @@
   /// called. For example, a render object might be a child of a [RenderOpacity]
   /// object, which calls [hitTest] on its children when its opacity is zero
   /// even through it does not [paint] its children.
-  bool hitTest(HitTestResult result, { @required Point position }) {
+  bool hitTest(HitTestResult result, { @required Offset position }) {
     assert(() {
       if (!hasSize) {
         if (debugNeedsLayout) {
@@ -1719,8 +1719,7 @@
       }
       return true;
     });
-    if (position.x >= 0.0 && position.x < _size.width &&
-        position.y >= 0.0 && position.y < _size.height) {
+    if (_size.contains(position)) {
       if (hitTestChildren(result, position: position) || hitTestSelf(position)) {
         result.add(new BoxHitTestEntry(this, position));
         return true;
@@ -1735,7 +1734,7 @@
   /// Used by [hitTest]. If you override [hitTest] and do not call this
   /// function, then you don't need to implement this function.
   @protected
-  bool hitTestSelf(Point position) => false;
+  bool hitTestSelf(Offset position) => false;
 
   /// Override this method to check whether any children are located at the
   /// given position.
@@ -1747,7 +1746,7 @@
   /// Used by [hitTest]. If you override [hitTest] and do not call this
   /// function, then you don't need to implement this function.
   @protected
-  bool hitTestChildren(HitTestResult result, { Point position }) => false;
+  bool hitTestChildren(HitTestResult result, { Offset position }) => false;
 
   /// Multiply the transform from the parent's coordinate system to this box's
   /// coordinate system into the given transform.
@@ -1808,16 +1807,16 @@
   /// coordinate system for this box.
   ///
   /// If the transform from global coordinates to local coordinates is
-  /// degenerate, this function returns [Point.origin].
+  /// degenerate, this function returns [Offset.zero].
   ///
   /// If `ancestor` is non-null, this function converts the given point from the
   /// coordinate system of `ancestor` (which must be an ancestor of this render
   /// object) instead of from the global coordinate system.
-  Point globalToLocal(Point point, { RenderObject ancestor }) {
+  Offset globalToLocal(Offset point, { RenderObject ancestor }) {
     final Matrix4 transform = getTransformTo(ancestor);
     final double det = transform.invert();
     if (det == 0.0)
-      return Point.origin;
+      return Offset.zero;
     return MatrixUtils.transformPoint(transform, point);
   }
 
@@ -1827,7 +1826,7 @@
   /// If `ancestor` is non-null, this function converts the given point to the
   /// coordinate system of `ancestor` (which must be an ancestor of this render
   /// object) instead of to the global coordinate system.
-  Point localToGlobal(Point point, { RenderObject ancestor }) {
+  Offset localToGlobal(Offset point, { RenderObject ancestor }) {
     return MatrixUtils.transformPoint(getTransformTo(ancestor), point);
   }
 
@@ -1845,7 +1844,7 @@
   ///
   /// The returned paint bounds are in the local coordinate system of this box.
   @override
-  Rect get paintBounds => Point.origin & size;
+  Rect get paintBounds => Offset.zero & size;
 
   /// Override this method to handle pointer events that hit this render object.
   ///
@@ -2039,14 +2038,12 @@
   ///
   /// Stops walking once after the first child reports that it contains the
   /// given point. Returns whether any children contain the given point.
-  bool defaultHitTestChildren(HitTestResult result, { Point position }) {
+  bool defaultHitTestChildren(HitTestResult result, { Offset position }) {
     // the x, y parameters have the top left of the node's box as the origin
     ChildType child = lastChild;
     while (child != null) {
       final ParentDataType childParentData = child.parentData;
-      final Point transformed = new Point(position.x - childParentData.offset.dx,
-                                    position.y - childParentData.offset.dy);
-      if (child.hitTest(result, position: transformed))
+      if (child.hitTest(result, position: position - childParentData.offset))
         return true;
       child = childParentData.previousSibling;
     }
diff --git a/packages/flutter/lib/src/rendering/custom_layout.dart b/packages/flutter/lib/src/rendering/custom_layout.dart
index c480196..d9b760a 100644
--- a/packages/flutter/lib/src/rendering/custom_layout.dart
+++ b/packages/flutter/lib/src/rendering/custom_layout.dart
@@ -344,7 +344,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return defaultHitTestChildren(result, position: position);
   }
 }
diff --git a/packages/flutter/lib/src/rendering/editable.dart b/packages/flutter/lib/src/rendering/editable.dart
index 306dadb..32e2a7f 100644
--- a/packages/flutter/lib/src/rendering/editable.dart
+++ b/packages/flutter/lib/src/rendering/editable.dart
@@ -36,7 +36,7 @@
   }
 
   /// Screen coordinates of the lower left or lower right corner of the selection.
-  final Point point;
+  final Offset point;
 
   /// Direction of the text at this edge of the selection.
   final TextDirection direction;
@@ -271,12 +271,12 @@
     if (selection.isCollapsed) {
       // TODO(mpcomplete): This doesn't work well at an RTL/LTR boundary.
       final Offset caretOffset = _textPainter.getOffsetForCaret(selection.extent, _caretPrototype);
-      final Point start = new Point(0.0, _preferredLineHeight) + caretOffset + paintOffset;
+      final Offset start = new Offset(0.0, _preferredLineHeight) + caretOffset + paintOffset;
       return <TextSelectionPoint>[new TextSelectionPoint(localToGlobal(start), null)];
     } else {
       final List<ui.TextBox> boxes = _textPainter.getBoxesForSelection(selection);
-      final Point start = new Point(boxes.first.start, boxes.first.bottom) + paintOffset;
-      final Point end = new Point(boxes.last.end, boxes.last.bottom) + paintOffset;
+      final Offset start = new Offset(boxes.first.start, boxes.first.bottom) + paintOffset;
+      final Offset end = new Offset(boxes.last.end, boxes.last.bottom) + paintOffset;
       return <TextSelectionPoint>[
         new TextSelectionPoint(localToGlobal(start), boxes.first.direction),
         new TextSelectionPoint(localToGlobal(end), boxes.last.direction),
@@ -285,9 +285,9 @@
   }
 
   /// Returns the position in the text for the given global coordinate.
-  TextPosition getPositionForPoint(Point globalPosition) {
+  TextPosition getPositionForPoint(Offset globalPosition) {
     globalPosition += -_paintOffset;
-    return _textPainter.getPositionForOffset(globalToLocal(globalPosition).toOffset());
+    return _textPainter.getPositionForOffset(globalToLocal(globalPosition));
   }
 
   /// Returns the Rect in local coordinates for the caret at the given text
@@ -311,7 +311,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   TapGestureRecognizer _tap;
   LongPressGestureRecognizer _longPress;
@@ -325,18 +325,18 @@
     }
   }
 
-  Point _lastTapDownPosition;
-  Point _longPressPosition;
+  Offset _lastTapDownPosition;
+  Offset _longPressPosition;
   void _handleTapDown(TapDownDetails details) {
     _lastTapDownPosition = details.globalPosition + -_paintOffset;
   }
 
   void _handleTap() {
     assert(_lastTapDownPosition != null);
-    final Point globalPosition = _lastTapDownPosition;
+    final Offset globalPosition = _lastTapDownPosition;
     _lastTapDownPosition = null;
     if (onSelectionChanged != null) {
-      final TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition).toOffset());
+      final TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition));
       onSelectionChanged(new TextSelection.fromPosition(position), this, false);
     }
   }
@@ -348,10 +348,10 @@
   }
 
   void _handleLongPress() {
-    final Point globalPosition = _longPressPosition;
+    final Offset globalPosition = _longPressPosition;
     _longPressPosition = null;
     if (onSelectionChanged != null) {
-      final TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition).toOffset());
+      final TextPosition position = _textPainter.getPositionForOffset(globalToLocal(globalPosition));
       onSelectionChanged(_selectWordAtOffset(position), this, true);
     }
   }
@@ -419,13 +419,13 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (_hasVisualOverflow)
-      context.pushClipRect(needsCompositing, offset, Point.origin & size, _paintContents);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents);
     else
       _paintContents(context, offset);
   }
 
   @override
-  Rect describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Point.origin & size : null;
+  Rect describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Offset.zero & size : null;
 
   @override
   void debugFillDescription(List<String> description) {
diff --git a/packages/flutter/lib/src/rendering/error.dart b/packages/flutter/lib/src/rendering/error.dart
index b7fcb86..ddd0af8 100644
--- a/packages/flutter/lib/src/rendering/error.dart
+++ b/packages/flutter/lib/src/rendering/error.dart
@@ -73,7 +73,7 @@
   bool get sizedByParent => true;
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void performResize() {
diff --git a/packages/flutter/lib/src/rendering/flex.dart b/packages/flutter/lib/src/rendering/flex.dart
index af81434..6de086a 100644
--- a/packages/flutter/lib/src/rendering/flex.dart
+++ b/packages/flutter/lib/src/rendering/flex.dart
@@ -681,7 +681,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return defaultHitTestChildren(result, position: position);
   }
 
@@ -693,7 +693,7 @@
     }
 
     // We have overflow. Clip it.
-    context.pushClipRect(needsCompositing, offset, Point.origin & size, defaultPaint);
+    context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint);
 
     assert(() {
       // In debug mode, if you have overflow, we highlight where the
@@ -729,7 +729,7 @@
   }
 
   @override
-  Rect describeApproximatePaintClip(RenderObject child) => _overflow > 0.0 ? Point.origin & size : null;
+  Rect describeApproximatePaintClip(RenderObject child) => _overflow > 0.0 ? Offset.zero & size : null;
 
   @override
   String toString() {
diff --git a/packages/flutter/lib/src/rendering/flow.dart b/packages/flutter/lib/src/rendering/flow.dart
index 354c2c6..51cc68f 100644
--- a/packages/flutter/lib/src/rendering/flow.dart
+++ b/packages/flutter/lib/src/rendering/flow.dart
@@ -364,11 +364,11 @@
 
   @override
   void paint(PaintingContext context, Offset offset) {
-    context.pushClipRect(needsCompositing, offset, Point.origin & size, _paintWithDelegate);
+    context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintWithDelegate);
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     final List<RenderBox> children = getChildrenAsList();
     for (int i = _lastPaintOrder.length - 1; i >= 0; --i) {
       final int childIndex = _lastPaintOrder[i];
@@ -386,7 +386,7 @@
         // on screen and cannot be hit.
         continue;
       }
-      final Point childPosition = MatrixUtils.transformPoint(inverse, position);
+      final Offset childPosition = MatrixUtils.transformPoint(inverse, position);
       if (child.hitTest(result, position: childPosition))
         return true;
     }
diff --git a/packages/flutter/lib/src/rendering/image.dart b/packages/flutter/lib/src/rendering/image.dart
index e7d48bb..21d26c9 100644
--- a/packages/flutter/lib/src/rendering/image.dart
+++ b/packages/flutter/lib/src/rendering/image.dart
@@ -216,7 +216,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void performLayout() {
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart
index b29a204..5a9f342 100644
--- a/packages/flutter/lib/src/rendering/object.dart
+++ b/packages/flutter/lib/src/rendering/object.dart
@@ -1249,7 +1249,7 @@
 ///
 /// The general behaviour of your hit-testing method should be similar to the
 /// behavior described for [RenderBox]. The main difference is that the input
-/// need not be a [Point]. You are also allowed to use a different subclass of
+/// need not be an [Offset]. You are also allowed to use a different subclass of
 /// [HitTestEntry] when adding entries to the [HitTestResult]. When the
 /// [handleEvent] method is called, the same object that was added to the
 /// [HitTestResult] will be passed in, so it can be used to track information
@@ -2480,7 +2480,7 @@
   // (with the signature being whatever passes for coordinates for this
   // particular class):
   //
-  // bool hitTest(HitTestResult result, { Point position }) {
+  // bool hitTest(HitTestResult result, { Offset position }) {
   //   // If the given position is not inside this node, then return false.
   //   // Otherwise:
   //   // For each child that intersects the position, in z-order starting from
diff --git a/packages/flutter/lib/src/rendering/paragraph.dart b/packages/flutter/lib/src/rendering/paragraph.dart
index 7f45500..2650715 100644
--- a/packages/flutter/lib/src/rendering/paragraph.dart
+++ b/packages/flutter/lib/src/rendering/paragraph.dart
@@ -172,7 +172,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 
   @override
   void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
@@ -180,7 +180,7 @@
     if (event is! PointerDownEvent)
       return;
     _layoutTextWithConstraints(constraints);
-    final Offset offset = entry.localPosition.toOffset();
+    final Offset offset = entry.localPosition;
     final TextPosition position = _textPainter.getPositionForOffset(offset);
     final TextSpan span = _textPainter.text.getSpanForPosition(position);
     span?.recognizer?.addPointer(event);
@@ -222,15 +222,17 @@
             final double fadeStart = fadeEnd - fadeSizePainter.width;
             // TODO(abarth): This shader has an LTR bias.
             _overflowShader = new ui.Gradient.linear(
-              <Point>[new Point(fadeStart, 0.0), new Point(fadeEnd, 0.0)],
-              <Color>[const Color(0xFFFFFFFF), const Color(0x00FFFFFF)]
+              new Offset(fadeStart, 0.0),
+              new Offset(fadeEnd, 0.0),
+              <Color>[const Color(0xFFFFFFFF), const Color(0x00FFFFFF)],
             );
           } else {
             final double fadeEnd = size.height;
             final double fadeStart = fadeEnd - fadeSizePainter.height / 2.0;
             _overflowShader = new ui.Gradient.linear(
-              <Point>[new Point(0.0, fadeStart), new Point(0.0, fadeEnd)],
-              <Color>[const Color(0xFFFFFFFF), const Color(0x00FFFFFF)]
+              new Offset(0.0, fadeStart),
+              new Offset(0.0, fadeEnd),
+              <Color>[const Color(0xFFFFFFFF), const Color(0x00FFFFFF)],
             );
           }
           break;
@@ -279,7 +281,7 @@
         final Paint paint = new Paint()
           ..blendMode = BlendMode.modulate
           ..shader = _overflowShader;
-        canvas.drawRect(Point.origin & size, paint);
+        canvas.drawRect(Offset.zero & size, paint);
       }
       canvas.restore();
     }
diff --git a/packages/flutter/lib/src/rendering/proxy_box.dart b/packages/flutter/lib/src/rendering/proxy_box.dart
index 053598a..b482775 100644
--- a/packages/flutter/lib/src/rendering/proxy_box.dart
+++ b/packages/flutter/lib/src/rendering/proxy_box.dart
@@ -105,7 +105,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return child?.hitTest(result, position: position) ?? false;
   }
 
@@ -150,10 +150,9 @@
   HitTestBehavior behavior;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     bool hitTarget = false;
-    if (position.x >= 0.0 && position.x < size.width &&
-        position.y >= 0.0 && position.y < size.height) {
+    if (size.contains(position)) {
       hitTarget = hitTestChildren(result, position: position) || hitTestSelf(position);
       if (hitTarget || behavior == HitTestBehavior.translucent)
         result.add(new BoxHitTestEntry(this, position));
@@ -162,7 +161,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) => behavior == HitTestBehavior.opaque;
+  bool hitTestSelf(Offset position) => behavior == HitTestBehavior.opaque;
 
   @override
   void debugFillDescription(List<String> description) {
@@ -821,7 +820,7 @@
   void paint(PaintingContext context, Offset offset) {
     if (child != null) {
       assert(needsCompositing);
-      final Rect rect = Point.origin & size;
+      final Rect rect = Offset.zero & size;
       context.pushShaderMask(offset, _shaderCallback(rect), rect, _blendMode, super.paint);
     }
   }
@@ -908,7 +907,7 @@
   /// the RenderObject. If getClip returns a shape that is roughly the
   /// same size as the RenderObject (e.g. it's a rounded rectangle
   /// with very small arcs in the corners), then this may be adequate.
-  Rect getApproximateClipRect(Size size) => Point.origin & size;
+  Rect getApproximateClipRect(Size size) => Offset.zero & size;
 
   /// Called whenever a new instance of the custom clipper delegate class is
   /// provided to the clip object, or any time that a new clip object is created
@@ -989,7 +988,7 @@
 
   @override
   Rect describeApproximatePaintClip(RenderObject child) {
-    return _clipper?.getApproximateClipRect(size) ?? Point.origin & size;
+    return _clipper?.getApproximateClipRect(size) ?? Offset.zero & size;
   }
 }
 
@@ -1009,10 +1008,10 @@
   }) : super(child: child, clipper: clipper);
 
   @override
-  Rect get _defaultClip => Point.origin & size;
+  Rect get _defaultClip => Offset.zero & size;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (_clipper != null) {
       _updateClip();
       assert(_clip != null);
@@ -1068,10 +1067,10 @@
   }
 
   @override
-  RRect get _defaultClip => _borderRadius.toRRect(Point.origin & size);
+  RRect get _defaultClip => _borderRadius.toRRect(Offset.zero & size);
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (_clipper != null) {
       _updateClip();
       assert(_clip != null);
@@ -1117,16 +1116,16 @@
   }
 
   @override
-  Rect get _defaultClip => Point.origin & size;
+  Rect get _defaultClip => Offset.zero & size;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     _updateClip();
     assert(_clip != null);
-    final Point center = _clip.center;
+    final Offset center = _clip.center;
     // convert the position to an offset from the center of the unit circle
-    final Offset offset = new Offset((position.x - center.x) / _clip.width,
-                               (position.y - center.y) / _clip.height);
+    final Offset offset = new Offset((position.dx - center.dx) / _clip.width,
+                                     (position.dy - center.dy) / _clip.height);
     // check if the point is outside the unit circle
     if (offset.distanceSquared > 0.25) // x^2 + y^2 > r^2
       return false;
@@ -1166,10 +1165,10 @@
   }) : super(child: child, clipper: clipper);
 
   @override
-  Path get _defaultClip => new Path()..addRect(Point.origin & size);
+  Path get _defaultClip => new Path()..addRect(Offset.zero & size);
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (_clipper != null) {
       _updateClip();
       assert(_clip != null);
@@ -1183,7 +1182,7 @@
   void paint(PaintingContext context, Offset offset) {
     if (child != null) {
       _updateClip();
-      context.pushClipPath(needsCompositing, offset, Point.origin & size, _clip, super.paint);
+      context.pushClipPath(needsCompositing, offset, Offset.zero & size, _clip, super.paint);
     }
   }
 }
@@ -1260,15 +1259,15 @@
   @override
   RRect get _defaultClip {
     if (_shape == BoxShape.rectangle) {
-      return _borderRadius.toRRect(Point.origin & size);
+      return _borderRadius.toRRect(Offset.zero & size);
     } else {
-      final Rect rect = Point.origin & size;
+      final Rect rect = Offset.zero & size;
       return new RRect.fromRectXY(rect, rect.width / 2, rect.height / 2);
     }
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (_clipper != null) {
       _updateClip();
       assert(_clip != null);
@@ -1368,7 +1367,7 @@
   }
 
   @override
-  bool hitTestSelf(Point position) {
+  bool hitTestSelf(Offset position) {
     return _decoration.hitTest(size, position);
   }
 
@@ -1543,7 +1542,7 @@
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (transformHitTests) {
       Matrix4 inverse;
       try {
@@ -1660,8 +1659,8 @@
       final FittedSizes sizes = applyBoxFit(_fit, childSize, size);
       final double scaleX = sizes.destination.width / sizes.source.width;
       final double scaleY = sizes.destination.height / sizes.source.height;
-      final Rect sourceRect = _alignment.inscribe(sizes.source, Point.origin & childSize);
-      final Rect destinationRect = _alignment.inscribe(sizes.destination, Point.origin & size);
+      final Rect sourceRect = _alignment.inscribe(sizes.source, Offset.zero & childSize);
+      final Rect destinationRect = _alignment.inscribe(sizes.destination, Offset.zero & size);
       _hasVisualOverflow = sourceRect.width < childSize.width || sourceRect.height < childSize.width;
       _transform = new Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0)
         ..scale(scaleX, scaleY, 1.0)
@@ -1684,14 +1683,14 @@
     _updatePaintData();
     if (child != null) {
       if (_hasVisualOverflow)
-        context.pushClipRect(needsCompositing, offset, Point.origin & size, _paintChildWithTransform);
+        context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintChildWithTransform);
       else
         _paintChildWithTransform(context, offset);
     }
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     _updatePaintData();
     Matrix4 inverse;
     try {
@@ -1758,10 +1757,10 @@
   bool transformHitTests;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     assert(!debugNeedsLayout);
     if (transformHitTests)
-      position = new Point(position.x - translation.dx * size.width, position.y - translation.dy * size.height);
+      position = new Offset(position.dx - translation.dx * size.width, position.dy - translation.dy * size.height);
     return super.hitTest(result, position: position);
   }
 
@@ -1882,7 +1881,7 @@
   /// image that should be considered a "hit", false if it corresponds to a
   /// point that should be considered outside the painted image, and null to use
   /// the default behavior.
-  bool hitTest(Point position) => null;
+  bool hitTest(Offset position) => null;
 
   @override
   String toString() => '$runtimeType#$hashCode';
@@ -2024,14 +2023,14 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     if (_foregroundPainter != null && (_foregroundPainter.hitTest(position) ?? false))
       return true;
     return super.hitTestChildren(result, position: position);
   }
 
   @override
-  bool hitTestSelf(Point position) {
+  bool hitTestSelf(Offset position) {
     return _painter != null && (_painter.hitTest(position) ?? true);
   }
 
@@ -2361,7 +2360,7 @@
   bool get _effectiveIgnoringSemantics => ignoringSemantics == null ? ignoring : ignoringSemantics;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     return ignoring ? false : super.hitTest(result, position: position);
   }
 
@@ -2465,7 +2464,7 @@
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     return !offstage && super.hitTest(result, position: position);
   }
 
@@ -2521,7 +2520,7 @@
   bool absorbing;
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     return absorbing ? true : super.hitTest(result, position: position);
   }
 
@@ -2674,7 +2673,7 @@
           final double primaryDelta = size.width * -scrollFactor;
           onHorizontalDragUpdate(new DragUpdateDetails(
             delta: new Offset(primaryDelta, 0.0), primaryDelta: primaryDelta,
-            globalPosition: localToGlobal(size.center(Point.origin)),
+            globalPosition: localToGlobal(size.center(Offset.zero)),
           ));
         }
         break;
@@ -2683,7 +2682,7 @@
           final double primaryDelta = size.width * scrollFactor;
           onHorizontalDragUpdate(new DragUpdateDetails(
             delta: new Offset(primaryDelta, 0.0), primaryDelta: primaryDelta,
-            globalPosition: localToGlobal(size.center(Point.origin)),
+            globalPosition: localToGlobal(size.center(Offset.zero)),
           ));
         }
         break;
@@ -2692,7 +2691,7 @@
           final double primaryDelta = size.height * -scrollFactor;
           onVerticalDragUpdate(new DragUpdateDetails(
             delta: new Offset(0.0, primaryDelta), primaryDelta: primaryDelta,
-            globalPosition: localToGlobal(size.center(Point.origin)),
+            globalPosition: localToGlobal(size.center(Offset.zero)),
           ));
         }
         break;
@@ -2701,7 +2700,7 @@
           final double primaryDelta = size.height * scrollFactor;
           onVerticalDragUpdate(new DragUpdateDetails(
             delta: new Offset(0.0, primaryDelta), primaryDelta: primaryDelta,
-            globalPosition: localToGlobal(size.center(Point.origin)),
+            globalPosition: localToGlobal(size.center(Offset.zero)),
           ));
         }
         break;
diff --git a/packages/flutter/lib/src/rendering/rotated_box.dart b/packages/flutter/lib/src/rendering/rotated_box.dart
index d355e4b..c52d822 100644
--- a/packages/flutter/lib/src/rendering/rotated_box.dart
+++ b/packages/flutter/lib/src/rendering/rotated_box.dart
@@ -90,7 +90,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     assert(_paintTransform != null || debugNeedsLayout || child == null);
     if (child == null || _paintTransform == null)
       return false;
diff --git a/packages/flutter/lib/src/rendering/semantics.dart b/packages/flutter/lib/src/rendering/semantics.dart
index 14850a6..02e0c63 100644
--- a/packages/flutter/lib/src/rendering/semantics.dart
+++ b/packages/flutter/lib/src/rendering/semantics.dart
@@ -716,7 +716,7 @@
     handler?.performAction(action);
   }
 
-  SemanticsActionHandler _getSemanticsActionHandlerForPosition(SemanticsNode node, Point position, SemanticsAction action) {
+  SemanticsActionHandler _getSemanticsActionHandlerForPosition(SemanticsNode node, Offset position, SemanticsAction action) {
     if (node.transform != null) {
       final Matrix4 inverse = new Matrix4.identity();
       if (inverse.copyInverse(node.transform) == 0.0)
@@ -750,7 +750,7 @@
   ///
   /// If the [SemanticsNode] has not indicated that it can perform the action,
   /// this function does nothing.
-  void performActionAt(Point position, SemanticsAction action) {
+  void performActionAt(Offset position, SemanticsAction action) {
     assert(action != null);
     final SemanticsNode node = rootSemanticsNode;
     if (node == null)
diff --git a/packages/flutter/lib/src/rendering/shifted_box.dart b/packages/flutter/lib/src/rendering/shifted_box.dart
index 9a7e080..a7f1c3a 100644
--- a/packages/flutter/lib/src/rendering/shifted_box.dart
+++ b/packages/flutter/lib/src/rendering/shifted_box.dart
@@ -70,12 +70,10 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     if (child != null) {
       final BoxParentData childParentData = child.parentData;
-      final Point childPosition = new Point(position.x - childParentData.offset.dx,
-                                            position.y - childParentData.offset.dy);
-      return child.hitTest(result, position: childPosition);
+      return child.hitTest(result, position: position - childParentData.offset);
     }
     return false;
   }
diff --git a/packages/flutter/lib/src/rendering/sliver.dart b/packages/flutter/lib/src/rendering/sliver.dart
index 47e4334..e77926a 100644
--- a/packages/flutter/lib/src/rendering/sliver.dart
+++ b/packages/flutter/lib/src/rendering/sliver.dart
@@ -1014,13 +1014,13 @@
     return null;
   }
 
-  void _debugDrawArrow(Canvas canvas, Paint paint, Point p0, Point p1, GrowthDirection direction) {
+  void _debugDrawArrow(Canvas canvas, Paint paint, Offset p0, Offset p1, GrowthDirection direction) {
     assert(() {
       if (p0 == p1)
         return true;
-      assert(p0.x == p1.x || p0.y == p1.y); // must be axis-aligned
+      assert(p0.dx == p1.dx || p0.dy == p1.dy); // must be axis-aligned
       final double d = (p1 - p0).distance * 0.2;
-      Point temp;
+      Offset temp;
       double dx1, dx2, dy1, dy2;
       switch (direction) {
         case GrowthDirection.forward:
@@ -1033,18 +1033,18 @@
           dx1 = dx2 = dy1 = dy2 = -d;
           break;
       }
-      if (p0.x == p1.x) {
+      if (p0.dx == p1.dx) {
         dx2 = -dx2;
       } else {
         dy2 = -dy2;
       }
       canvas.drawPath(
         new Path()
-          ..moveTo(p0.x, p0.y)
-          ..lineTo(p1.x, p1.y)
-          ..moveTo(p1.x - dx1, p1.y - dy1)
-          ..lineTo(p1.x, p1.y)
-          ..lineTo(p1.x - dx2, p1.y - dy2),
+          ..moveTo(p0.dx, p0.dy)
+          ..lineTo(p1.dx, p1.dy)
+          ..moveTo(p1.dx - dx1, p1.dy - dy1)
+          ..lineTo(p1.dx, p1.dy)
+          ..lineTo(p1.dx - dx2, p1.dy - dy2),
         paint
       );
       return true;
@@ -1065,50 +1065,50 @@
         final double padding = math.max(2.0, strokeWidth);
         final Canvas canvas = context.canvas;
         canvas.drawCircle(
-          offset.translate(padding, padding).toPoint(),
+          offset.translate(padding, padding),
           padding * 0.5,
           paint,
         );
         switch (constraints.axis) {
           case Axis.vertical:
             canvas.drawLine(
-              offset.toPoint(),
-              offset.translate(constraints.crossAxisExtent, 0.0).toPoint(),
+              offset,
+              offset.translate(constraints.crossAxisExtent, 0.0),
               paint,
             );
             _debugDrawArrow(
               canvas,
               paint,
-              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, padding).toPoint(),
-              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, arrowExtent - padding).toPoint(),
+              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, padding),
+              offset.translate(constraints.crossAxisExtent * 1.0 / 4.0, arrowExtent - padding),
               constraints.normalizedGrowthDirection,
             );
             _debugDrawArrow(
               canvas,
               paint,
-              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, padding).toPoint(),
-              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, arrowExtent - padding).toPoint(),
+              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, padding),
+              offset.translate(constraints.crossAxisExtent * 3.0 / 4.0, arrowExtent - padding),
               constraints.normalizedGrowthDirection,
             );
             break;
           case Axis.horizontal:
             canvas.drawLine(
-              offset.toPoint(),
-              offset.translate(0.0, constraints.crossAxisExtent).toPoint(),
+              offset,
+              offset.translate(0.0, constraints.crossAxisExtent),
               paint,
             );
             _debugDrawArrow(
               canvas,
               paint,
-              offset.translate(padding, constraints.crossAxisExtent * 1.0 / 4.0).toPoint(),
-              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 1.0 / 4.0).toPoint(),
+              offset.translate(padding, constraints.crossAxisExtent * 1.0 / 4.0),
+              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 1.0 / 4.0),
               constraints.normalizedGrowthDirection,
             );
             _debugDrawArrow(
               canvas,
               paint,
-              offset.translate(padding, constraints.crossAxisExtent * 3.0 / 4.0).toPoint(),
-              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 3.0 / 4.0).toPoint(),
+              offset.translate(padding, constraints.crossAxisExtent * 3.0 / 4.0),
+              offset.translate(arrowExtent - padding, constraints.crossAxisExtent * 3.0 / 4.0),
               constraints.normalizedGrowthDirection,
             );
             break;
@@ -1177,11 +1177,11 @@
       case Axis.horizontal:
         if (!rightWayUp)
           absolutePosition = child.size.width - absolutePosition;
-        return child.hitTest(result, position: new Point(absolutePosition, absoluteCrossAxisPosition));
+        return child.hitTest(result, position: new Offset(absolutePosition, absoluteCrossAxisPosition));
       case Axis.vertical:
         if (!rightWayUp)
           absolutePosition = child.size.height - absolutePosition;
-        return child.hitTest(result, position: new Point(absoluteCrossAxisPosition, absolutePosition));
+        return child.hitTest(result, position: new Offset(absoluteCrossAxisPosition, absolutePosition));
     }
     return false;
   }
diff --git a/packages/flutter/lib/src/rendering/stack.dart b/packages/flutter/lib/src/rendering/stack.dart
index d7c435c..9404419 100644
--- a/packages/flutter/lib/src/rendering/stack.dart
+++ b/packages/flutter/lib/src/rendering/stack.dart
@@ -420,7 +420,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return defaultHitTestChildren(result, position: position);
   }
 
@@ -436,14 +436,14 @@
   @override
   void paint(PaintingContext context, Offset offset) {
     if (_overflow == Overflow.clip && _hasVisualOverflow) {
-      context.pushClipRect(needsCompositing, offset, Point.origin & size, paintStack);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintStack);
     } else {
       paintStack(context, offset);
     }
   }
 
   @override
-  Rect describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Point.origin & size : null;
+  Rect describeApproximatePaintClip(RenderObject child) => _hasVisualOverflow ? Offset.zero & size : null;
 
   @override
   void debugFillDescription(List<String> description) {
@@ -496,15 +496,13 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { @required Point position }) {
+  bool hitTestChildren(HitTestResult result, { @required Offset position }) {
     if (firstChild == null || index == null)
       return false;
     assert(position != null);
     final RenderBox child = _childAtIndex();
     final StackParentData childParentData = child.parentData;
-    final Point transformed = new Point(position.x - childParentData.offset.dx,
-                                  position.y - childParentData.offset.dy);
-    return child.hitTest(result, position: transformed);
+    return child.hitTest(result, position: position - childParentData.offset);
   }
 
   @override
diff --git a/packages/flutter/lib/src/rendering/table.dart b/packages/flutter/lib/src/rendering/table.dart
index 979250e..00f6477 100644
--- a/packages/flutter/lib/src/rendering/table.dart
+++ b/packages/flutter/lib/src/rendering/table.dart
@@ -1196,15 +1196,13 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     assert(_children.length == rows * columns);
     for (int index = _children.length - 1; index >= 0; index -= 1) {
       final RenderBox child = _children[index];
       if (child != null) {
         final BoxParentData childParentData = child.parentData;
-        final Point transformed = new Point(position.x - childParentData.offset.dx,
-                                      position.y - childParentData.offset.dy);
-        if (child.hitTest(result, position: transformed))
+        if (child.hitTest(result, position: position - childParentData.offset))
           return true;
       }
     }
diff --git a/packages/flutter/lib/src/rendering/view.dart b/packages/flutter/lib/src/rendering/view.dart
index a9ea4ee..abdf230 100644
--- a/packages/flutter/lib/src/rendering/view.dart
+++ b/packages/flutter/lib/src/rendering/view.dart
@@ -126,7 +126,7 @@
   /// given hit test result.
   ///
   /// The [position] argument is in the coordinate system of the render view.
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     if (child != null)
       child.hitTest(result, position: position);
     result.add(new HitTestEntry(this));
@@ -164,10 +164,10 @@
   }
 
   @override
-  Rect get paintBounds => Point.origin & size;
+  Rect get paintBounds => Offset.zero & size;
 
   @override
-  Rect get semanticBounds => Point.origin & size;
+  Rect get semanticBounds => Offset.zero & size;
 
   @override
   void debugFillDescription(List<String> description) {
diff --git a/packages/flutter/lib/src/rendering/viewport.dart b/packages/flutter/lib/src/rendering/viewport.dart
index 7da1601..c9fcaa7 100644
--- a/packages/flutter/lib/src/rendering/viewport.dart
+++ b/packages/flutter/lib/src/rendering/viewport.dart
@@ -223,7 +223,7 @@
     if (firstChild == null)
       return;
     if (hasVisualOverflow) {
-      context.pushClipRect(needsCompositing, offset, Point.origin & size, _paintContents);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, _paintContents);
     } else {
       _paintContents(context, offset);
     }
@@ -265,16 +265,16 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     double mainAxisPosition, crossAxisPosition;
     switch (axis) {
       case Axis.vertical:
-        mainAxisPosition = position.y;
-        crossAxisPosition = position.x;
+        mainAxisPosition = position.dy;
+        crossAxisPosition = position.dx;
         break;
       case Axis.horizontal:
-        mainAxisPosition = position.x;
-        crossAxisPosition = position.y;
+        mainAxisPosition = position.dx;
+        crossAxisPosition = position.dy;
         break;
     }
     assert(mainAxisPosition != null);
diff --git a/packages/flutter/lib/src/rendering/wrap.dart b/packages/flutter/lib/src/rendering/wrap.dart
index f7ab61e..9db2a34 100644
--- a/packages/flutter/lib/src/rendering/wrap.dart
+++ b/packages/flutter/lib/src/rendering/wrap.dart
@@ -560,7 +560,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return defaultHitTestChildren(result, position: position);
   }
 
@@ -569,7 +569,7 @@
     // TODO(ianh): move the debug flex overflow paint logic somewhere common so
     // it can be reused here
     if (_hasVisualOverflow)
-      context.pushClipRect(needsCompositing, offset, Point.origin & size, defaultPaint);
+      context.pushClipRect(needsCompositing, offset, Offset.zero & size, defaultPaint);
     else
       defaultPaint(context, offset);
   }
diff --git a/packages/flutter/lib/src/widgets/banner.dart b/packages/flutter/lib/src/widgets/banner.dart
index 3b093b0..3de839d 100644
--- a/packages/flutter/lib/src/widgets/banner.dart
+++ b/packages/flutter/lib/src/widgets/banner.dart
@@ -99,7 +99,7 @@
       ..drawRect(_kRect, _paintBanner);
     final double width = _kOffset * 2.0;
     _textPainter.layout(minWidth: width, maxWidth: width);
-    _textPainter.paint(canvas, _kRect.topLeft.toOffset() + new Offset(0.0, (_kRect.height - _textPainter.height) / 2.0));
+    _textPainter.paint(canvas, _kRect.topLeft + new Offset(0.0, (_kRect.height - _textPainter.height) / 2.0));
   }
 
   @override
@@ -111,7 +111,7 @@
   }
 
   @override
-  bool hitTest(Point position) => false;
+  bool hitTest(Offset position) => false;
 
   double _translationX(double width) {
     assert(location != null);
diff --git a/packages/flutter/lib/src/widgets/drag_target.dart b/packages/flutter/lib/src/widgets/drag_target.dart
index 75aba72..0895e3d 100644
--- a/packages/flutter/lib/src/widgets/drag_target.dart
+++ b/packages/flutter/lib/src/widgets/drag_target.dart
@@ -234,7 +234,7 @@
   @override
   DelayedMultiDragGestureRecognizer createRecognizer(GestureMultiDragStartCallback onStart) {
     return new DelayedMultiDragGestureRecognizer()
-      ..onStart = (Point position) {
+      ..onStart = (Offset position) {
         final Drag result = onStart(position);
         if (result != null)
           HapticFeedback.vibrate();
@@ -281,17 +281,17 @@
     _recognizer.addPointer(event);
   }
 
-  _DragAvatar<T> _startDrag(Point position) {
+  _DragAvatar<T> _startDrag(Offset position) {
     if (widget.maxSimultaneousDrags != null && _activeCount >= widget.maxSimultaneousDrags)
       return null;
-    Point dragStartPoint;
+    Offset dragStartPoint;
     switch (widget.dragAnchor) {
       case DragAnchor.child:
         final RenderBox renderObject = context.findRenderObject();
         dragStartPoint = renderObject.globalToLocal(position);
         break;
       case DragAnchor.pointer:
-        dragStartPoint = Point.origin;
+        dragStartPoint = Offset.zero;
       break;
     }
     setState(() {
@@ -439,8 +439,8 @@
   _DragAvatar({
     @required this.overlayState,
     this.data,
-    Point initialPosition,
-    this.dragStartPoint: Point.origin,
+    Offset initialPosition,
+    this.dragStartPoint: Offset.zero,
     this.feedback,
     this.feedbackOffset: Offset.zero,
     this.onDragEnd
@@ -455,7 +455,7 @@
   }
 
   final T data;
-  final Point dragStartPoint;
+  final Offset dragStartPoint;
   final Widget feedback;
   final Offset feedbackOffset;
   final _OnDragEnd onDragEnd;
@@ -463,7 +463,7 @@
 
   _DragTargetState<T> _activeTarget;
   final List<_DragTargetState<T>> _enteredTargets = <_DragTargetState<T>>[];
-  Point _position;
+  Offset _position;
   Offset _lastOffset;
   OverlayEntry _entry;
 
@@ -483,7 +483,7 @@
     finishDrag(_DragEndKind.canceled);
   }
 
-  void updateDrag(Point globalPosition) {
+  void updateDrag(Offset globalPosition) {
     _lastOffset = globalPosition - dragStartPoint;
     _entry.markNeedsBuild();
     final HitTestResult result = new HitTestResult();
@@ -558,10 +558,10 @@
 
   Widget _build(BuildContext context) {
     final RenderBox box = overlayState.context.findRenderObject();
-    final Point overlayTopLeft = box.localToGlobal(Point.origin);
+    final Offset overlayTopLeft = box.localToGlobal(Offset.zero);
     return new Positioned(
-      left: _lastOffset.dx - overlayTopLeft.x,
-      top: _lastOffset.dy - overlayTopLeft.y,
+      left: _lastOffset.dx - overlayTopLeft.dx,
+      top: _lastOffset.dy - overlayTopLeft.dy,
       child: new IgnorePointer(
         child: feedback
       )
diff --git a/packages/flutter/lib/src/widgets/gridpaper.dart b/packages/flutter/lib/src/widgets/gridpaper.dart
index 2a106c3..ea7a9f4 100644
--- a/packages/flutter/lib/src/widgets/gridpaper.dart
+++ b/packages/flutter/lib/src/widgets/gridpaper.dart
@@ -27,11 +27,11 @@
     final double allDivisions = (divisions * subDivisions).toDouble();
     for (double x = 0.0; x <= size.width; x += interval / allDivisions) {
       linePaint.strokeWidth = (x % interval == 0.0) ? 1.0 : (x % (interval / subDivisions) == 0.0) ? 0.5: 0.25;
-      canvas.drawLine(new Point(x, 0.0), new Point(x, size.height), linePaint);
+      canvas.drawLine(new Offset(x, 0.0), new Offset(x, size.height), linePaint);
     }
     for (double y = 0.0; y <= size.height; y += interval / allDivisions) {
       linePaint.strokeWidth = (y % interval == 0.0) ? 1.0 : (y % (interval / subDivisions) == 0.0) ? 0.5: 0.25;
-      canvas.drawLine(new Point(0.0, y), new Point(size.width, y), linePaint);
+      canvas.drawLine(new Offset(0.0, y), new Offset(size.width, y), linePaint);
     }
   }
 
@@ -44,7 +44,7 @@
   }
 
   @override
-  bool hitTest(Point position) => false;
+  bool hitTest(Offset position) => false;
 }
 
 /// A widget that draws a rectilinear grid of 1px wide lines.
diff --git a/packages/flutter/lib/src/widgets/heroes.dart b/packages/flutter/lib/src/widgets/heroes.dart
index ce5081b..44bc3f6 100644
--- a/packages/flutter/lib/src/widgets/heroes.dart
+++ b/packages/flutter/lib/src/widgets/heroes.dart
@@ -31,7 +31,7 @@
 Rect _globalRect(BuildContext context) {
   final RenderBox box = context.findRenderObject();
   assert(box != null && box.hasSize);
-  return MatrixUtils.transformRect(box.getTransformTo(null), Point.origin & box.size);
+  return MatrixUtils.transformRect(box.getTransformTo(null), Offset.zero & box.size);
 }
 
 /// A widget that marks its child as being a candidate for hero animations.
@@ -250,7 +250,7 @@
           // The toHero has been laid out. If it's no longer where the hero animation is
           // supposed to end up (heroRect.end) then recreate the heroRect tween.
           final RenderBox routeBox = manifest.toRoute.subtreeContext?.findRenderObject();
-          final Point heroOriginEnd = toHeroBox.localToGlobal(Point.origin, ancestor: routeBox);
+          final Offset heroOriginEnd = toHeroBox.localToGlobal(Offset.zero, ancestor: routeBox);
           if (heroOriginEnd != heroRect.end.topLeft) {
             final Rect heroRectEnd = heroOriginEnd & heroRect.end.size;
             heroRect = _doCreateRectTween(heroRect.begin, heroRectEnd);
diff --git a/packages/flutter/lib/src/widgets/layout_builder.dart b/packages/flutter/lib/src/widgets/layout_builder.dart
index 7942099..781da38 100644
--- a/packages/flutter/lib/src/widgets/layout_builder.dart
+++ b/packages/flutter/lib/src/widgets/layout_builder.dart
@@ -214,7 +214,7 @@
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     return child?.hitTest(result, position: position) ?? false;
   }
 
diff --git a/packages/flutter/lib/src/widgets/overscroll_indicator.dart b/packages/flutter/lib/src/widgets/overscroll_indicator.dart
index b84bff6..64aeafe 100644
--- a/packages/flutter/lib/src/widgets/overscroll_indicator.dart
+++ b/packages/flutter/lib/src/widgets/overscroll_indicator.dart
@@ -165,13 +165,13 @@
             assert(renderer != null);
             assert(renderer.hasSize);
             final Size size = renderer.size;
-            final Point position = renderer.globalToLocal(notification.dragDetails.globalPosition);
+            final Offset position = renderer.globalToLocal(notification.dragDetails.globalPosition);
             switch (notification.axis) {
               case Axis.horizontal:
-                controller.pull(notification.overscroll.abs(), size.width, position.y.clamp(0.0, size.height), size.height);
+                controller.pull(notification.overscroll.abs(), size.width, position.dy.clamp(0.0, size.height), size.height);
                 break;
               case Axis.vertical:
-                controller.pull(notification.overscroll.abs(), size.height, position.x.clamp(0.0, size.width), size.width);
+                controller.pull(notification.overscroll.abs(), size.height, position.dx.clamp(0.0, size.width), size.width);
                 break;
             }
           }
@@ -423,7 +423,7 @@
     final double height = math.min(size.height, size.width * _kWidthToHeightFactor);
     final double scaleY = _glowSize.value * baseGlowScale;
     final Rect rect = new Rect.fromLTWH(0.0, 0.0, size.width, height);
-    final Point center = new Point((size.width / 2.0) * (0.5 + _displacement), height - radius);
+    final Offset center = new Offset((size.width / 2.0) * (0.5 + _displacement), height - radius);
     final Paint paint = new Paint()..color = color.withOpacity(_glowOpacity.value);
     canvas.save();
     canvas.scale(1.0, scaleY);
diff --git a/packages/flutter/lib/src/widgets/semantics_debugger.dart b/packages/flutter/lib/src/widgets/semantics_debugger.dart
index 9af7c60..238b545 100644
--- a/packages/flutter/lib/src/widgets/semantics_debugger.dart
+++ b/packages/flutter/lib/src/widgets/semantics_debugger.dart
@@ -68,7 +68,7 @@
     });
   }
 
-  Point _lastPointerDownLocation;
+  Offset _lastPointerDownLocation;
   void _handlePointerDown(PointerDownEvent event) {
     setState(() {
       _lastPointerDownLocation = event.position;
@@ -115,7 +115,7 @@
     });
   }
 
-  void _performAction(Point position, SemanticsAction action) {
+  void _performAction(Offset position, SemanticsAction action) {
     _pipelineOwner.semanticsOwner?.performActionAt(position, action);
   }
 
@@ -241,7 +241,7 @@
     ..text = new TextSpan(style: _messageStyle, text: message)
     ..layout(maxWidth: rect.width);
 
-  textPainter.paint(canvas, FractionalOffset.center.inscribe(textPainter.size, rect).topLeft.toOffset());
+  textPainter.paint(canvas, FractionalOffset.center.inscribe(textPainter.size, rect).topLeft);
   canvas.restore();
 }
 
@@ -297,7 +297,7 @@
 
   final PipelineOwner owner;
   final int generation;
-  final Point pointerPosition;
+  final Offset pointerPosition;
 
   SemanticsNode get _rootSemanticsNode {
     return owner.semanticsOwner?.rootSemanticsNode;
diff --git a/packages/flutter/lib/src/widgets/single_child_scroll_view.dart b/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
index ff13ba3..0be8825 100644
--- a/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
+++ b/packages/flutter/lib/src/widgets/single_child_scroll_view.dart
@@ -351,7 +351,7 @@
       }
 
       if (_shouldClipAtPaintOffset(paintOffset)) {
-        context.pushClipRect(needsCompositing, offset, Point.origin & size, paintContents);
+        context.pushClipRect(needsCompositing, offset, Offset.zero & size, paintContents);
       } else {
         paintContents(context, offset);
       }
@@ -367,14 +367,14 @@
   @override
   Rect describeApproximatePaintClip(RenderObject child) {
     if (child != null && _shouldClipAtPaintOffset(_paintOffset))
-      return Point.origin & size;
+      return Offset.zero & size;
     return null;
   }
 
   @override
-  bool hitTestChildren(HitTestResult result, { Point position }) {
+  bool hitTestChildren(HitTestResult result, { Offset position }) {
     if (child != null) {
-      final Point transformed = position + -_paintOffset;
+      final Offset transformed = position + -_paintOffset;
       return child.hitTest(result, position: transformed);
     }
     return false;
diff --git a/packages/flutter/lib/src/widgets/text_selection.dart b/packages/flutter/lib/src/widgets/text_selection.dart
index 64fbaf8..4376cca 100644
--- a/packages/flutter/lib/src/widgets/text_selection.dart
+++ b/packages/flutter/lib/src/widgets/text_selection.dart
@@ -74,7 +74,7 @@
   ///
   /// Typically displays buttons for copying and pasting text.
   // TODO(mpcomplete): A single position is probably insufficient.
-  Widget buildToolbar(BuildContext context, Point position, TextSelectionDelegate delegate);
+  Widget buildToolbar(BuildContext context, Offset position, TextSelectionDelegate delegate);
 
   /// Returns the size of the selection handle.
   Size get handleSize;
@@ -237,11 +237,11 @@
 
     // Find the horizontal midpoint, just above the selected text.
     final List<TextSelectionPoint> endpoints = renderObject.getEndpointsForSelection(_selection);
-    final Point midpoint = new Point(
+    final Offset midpoint = new Offset(
       (endpoints.length == 1) ?
-        endpoints[0].point.x :
-        (endpoints[0].point.x + endpoints[1].point.x) / 2.0,
-      endpoints[0].point.y - renderObject.size.height
+        endpoints[0].point.dx :
+        (endpoints[0].point.dx + endpoints[1].point.dx) / 2.0,
+      endpoints[0].point.dy - renderObject.size.height
     );
 
     return new FadeTransition(
@@ -318,7 +318,7 @@
 }
 
 class _TextSelectionHandleOverlayState extends State<_TextSelectionHandleOverlay> {
-  Point _dragPosition;
+  Offset _dragPosition;
 
   void _handleDragStart(DragStartDetails details) {
     _dragPosition = details.globalPosition + new Offset(0.0, -widget.selectionControls.handleSize.height);
@@ -362,7 +362,7 @@
   @override
   Widget build(BuildContext context) {
     final List<TextSelectionPoint> endpoints = widget.renderObject.getEndpointsForSelection(widget.selection);
-    Point point;
+    Offset point;
     TextSelectionHandleType type;
 
     switch (widget.position) {
@@ -386,8 +386,8 @@
       child: new Stack(
         children: <Widget>[
           new Positioned(
-            left: point.x,
-            top: point.y,
+            left: point.dx,
+            top: point.dy,
             child: widget.selectionControls.buildHandle(context, type)
           )
         ]
diff --git a/packages/flutter/test/cupertino/button_test.dart b/packages/flutter/test/cupertino/button_test.dart
index b769827..b7e966b 100644
--- a/packages/flutter/test/cupertino/button_test.dart
+++ b/packages/flutter/test/cupertino/button_test.dart
@@ -133,7 +133,7 @@
     )));
 
     // Keep a "down" gesture on the button
-    final Point center = tester.getCenter(find.byType(CupertinoButton));
+    final Offset center = tester.getCenter(find.byType(CupertinoButton));
     await tester.startGesture(center);
     await tester.pumpAndSettle();
 
@@ -154,7 +154,7 @@
     )));
 
     // Keep a "down" gesture on the button
-    final Point center = tester.getCenter(find.byType(CupertinoButton));
+    final Offset center = tester.getCenter(find.byType(CupertinoButton));
     await tester.startGesture(center);
     await tester.pumpAndSettle();
 
diff --git a/packages/flutter/test/cupertino/slider_test.dart b/packages/flutter/test/cupertino/slider_test.dart
index b54707b..5dd5258 100644
--- a/packages/flutter/test/cupertino/slider_test.dart
+++ b/packages/flutter/test/cupertino/slider_test.dart
@@ -66,7 +66,7 @@
     );
 
     expect(value, equals(0.0));
-    final Point topLeft = tester.getTopLeft(find.byKey(sliderKey));
+    final Offset topLeft = tester.getTopLeft(find.byKey(sliderKey));
     const double unit = CupertinoThumbPainter.radius;
     const double delta = 3.0 * unit;
     await tester.dragFrom(topLeft + const Offset(unit, unit), const Offset(delta, 0.0));
diff --git a/packages/flutter/test/gestures/double_tap_test.dart b/packages/flutter/test/gestures/double_tap_test.dart
index 4ecebb4..fd7c0d3 100644
--- a/packages/flutter/test/gestures/double_tap_test.dart
+++ b/packages/flutter/test/gestures/double_tap_test.dart
@@ -29,61 +29,61 @@
   // Down/up pair 1: normal tap sequence
   const PointerDownEvent down1 = const PointerDownEvent(
     pointer: 1,
-    position: const Point(10.0, 10.0)
+    position: const Offset(10.0, 10.0)
   );
 
   const PointerUpEvent up1 = const PointerUpEvent(
     pointer: 1,
-    position: const Point(11.0, 9.0)
+    position: const Offset(11.0, 9.0)
   );
 
   // Down/up pair 2: normal tap sequence close to pair 1
   const PointerDownEvent down2 = const PointerDownEvent(
     pointer: 2,
-    position: const Point(12.0, 12.0)
+    position: const Offset(12.0, 12.0)
   );
 
   const PointerUpEvent up2 = const PointerUpEvent(
     pointer: 2,
-    position: const Point(13.0, 11.0)
+    position: const Offset(13.0, 11.0)
   );
 
   // Down/up pair 3: normal tap sequence far away from pair 1
   const PointerDownEvent down3 = const PointerDownEvent(
     pointer: 3,
-    position: const Point(130.0, 130.0)
+    position: const Offset(130.0, 130.0)
   );
 
   const PointerUpEvent up3 = const PointerUpEvent(
     pointer: 3,
-    position: const Point(131.0, 129.0)
+    position: const Offset(131.0, 129.0)
   );
 
   // Down/move/up sequence 4: intervening motion
   const PointerDownEvent down4 = const PointerDownEvent(
     pointer: 4,
-    position: const Point(10.0, 10.0)
+    position: const Offset(10.0, 10.0)
   );
 
   const PointerMoveEvent move4 = const PointerMoveEvent(
     pointer: 4,
-    position: const Point(25.0, 25.0)
+    position: const Offset(25.0, 25.0)
   );
 
   const PointerUpEvent up4 = const PointerUpEvent(
     pointer: 4,
-    position: const Point(25.0, 25.0)
+    position: const Offset(25.0, 25.0)
   );
 
   // Down/up pair 5: normal tap sequence identical to pair 1 with different pointer
   const PointerDownEvent down5 = const PointerDownEvent(
     pointer: 5,
-    position: const Point(10.0, 10.0)
+    position: const Offset(10.0, 10.0)
   );
 
   const PointerUpEvent up5 = const PointerUpEvent(
     pointer: 5,
-    position: const Point(11.0, 9.0)
+    position: const Offset(11.0, 9.0)
   );
 
   testGesture('Should recognize double tap', (GestureTester tester) {
diff --git a/packages/flutter/test/gestures/drag_test.dart b/packages/flutter/test/gestures/drag_test.dart
index e3e6c12..cd6fd8f 100644
--- a/packages/flutter/test/gestures/drag_test.dart
+++ b/packages/flutter/test/gestures/drag_test.dart
@@ -35,7 +35,7 @@
     };
 
     final TestPointer pointer = new TestPointer(5);
-    final PointerDownEvent down = pointer.down(const Point(10.0, 10.0));
+    final PointerDownEvent down = pointer.down(const Offset(10.0, 10.0));
     pan.addPointer(down);
     tap.addPointer(down);
     tester.closeArena(5);
@@ -50,7 +50,7 @@
     expect(didEndPan, isFalse);
     expect(didTap, isFalse);
 
-    tester.route(pointer.move(const Point(20.0, 20.0)));
+    tester.route(pointer.move(const Offset(20.0, 20.0)));
     expect(didStartPan, isTrue);
     didStartPan = false;
     expect(updatedScrollDelta, const Offset(10.0, 10.0));
@@ -58,7 +58,7 @@
     expect(didEndPan, isFalse);
     expect(didTap, isFalse);
 
-    tester.route(pointer.move(const Point(20.0, 25.0)));
+    tester.route(pointer.move(const Offset(20.0, 25.0)));
     expect(didStartPan, isFalse);
     expect(updatedScrollDelta, const Offset(0.0, 5.0));
     updatedScrollDelta = null;
@@ -95,7 +95,7 @@
     };
 
     final TestPointer pointer = new TestPointer(5);
-    final PointerDownEvent down = pointer.down(const Point(10.0, 10.0));
+    final PointerDownEvent down = pointer.down(const Offset(10.0, 10.0));
     drag.addPointer(down);
     tester.closeArena(5);
     expect(didStartDrag, isFalse);
@@ -107,14 +107,14 @@
     expect(updatedDelta, isNull);
     expect(didEndDrag, isFalse);
 
-    tester.route(pointer.move(const Point(20.0, 25.0)));
+    tester.route(pointer.move(const Offset(20.0, 25.0)));
     expect(didStartDrag, isTrue);
     didStartDrag = false;
     expect(updatedDelta, 10.0);
     updatedDelta = null;
     expect(didEndDrag, isFalse);
 
-    tester.route(pointer.move(const Point(20.0, 25.0)));
+    tester.route(pointer.move(const Offset(20.0, 25.0)));
     expect(didStartDrag, isFalse);
     expect(updatedDelta, 0.0);
     updatedDelta = null;
@@ -140,21 +140,21 @@
     };
 
     final TestPointer pointer = new TestPointer(5);
-    final PointerDownEvent down = pointer.down(const Point(10.0, 25.0), timeStamp: const Duration(milliseconds: 10));
+    final PointerDownEvent down = pointer.down(const Offset(10.0, 25.0), timeStamp: const Duration(milliseconds: 10));
     drag.addPointer(down);
     tester.closeArena(5);
     tester.route(down);
-    tester.route(pointer.move(const Point(20.0, 25.0), timeStamp: const Duration(milliseconds: 10)));
-    tester.route(pointer.move(const Point(30.0, 25.0), timeStamp: const Duration(milliseconds: 11)));
-    tester.route(pointer.move(const Point(40.0, 25.0), timeStamp: const Duration(milliseconds: 12)));
-    tester.route(pointer.move(const Point(50.0, 25.0), timeStamp: const Duration(milliseconds: 13)));
-    tester.route(pointer.move(const Point(60.0, 25.0), timeStamp: const Duration(milliseconds: 14)));
-    tester.route(pointer.move(const Point(70.0, 25.0), timeStamp: const Duration(milliseconds: 15)));
-    tester.route(pointer.move(const Point(80.0, 25.0), timeStamp: const Duration(milliseconds: 16)));
-    tester.route(pointer.move(const Point(90.0, 25.0), timeStamp: const Duration(milliseconds: 17)));
-    tester.route(pointer.move(const Point(100.0, 25.0), timeStamp: const Duration(milliseconds: 18)));
-    tester.route(pointer.move(const Point(110.0, 25.0), timeStamp: const Duration(milliseconds: 19)));
-    tester.route(pointer.move(const Point(120.0, 25.0), timeStamp: const Duration(milliseconds: 20)));
+    tester.route(pointer.move(const Offset(20.0, 25.0), timeStamp: const Duration(milliseconds: 10)));
+    tester.route(pointer.move(const Offset(30.0, 25.0), timeStamp: const Duration(milliseconds: 11)));
+    tester.route(pointer.move(const Offset(40.0, 25.0), timeStamp: const Duration(milliseconds: 12)));
+    tester.route(pointer.move(const Offset(50.0, 25.0), timeStamp: const Duration(milliseconds: 13)));
+    tester.route(pointer.move(const Offset(60.0, 25.0), timeStamp: const Duration(milliseconds: 14)));
+    tester.route(pointer.move(const Offset(70.0, 25.0), timeStamp: const Duration(milliseconds: 15)));
+    tester.route(pointer.move(const Offset(80.0, 25.0), timeStamp: const Duration(milliseconds: 16)));
+    tester.route(pointer.move(const Offset(90.0, 25.0), timeStamp: const Duration(milliseconds: 17)));
+    tester.route(pointer.move(const Offset(100.0, 25.0), timeStamp: const Duration(milliseconds: 18)));
+    tester.route(pointer.move(const Offset(110.0, 25.0), timeStamp: const Duration(milliseconds: 19)));
+    tester.route(pointer.move(const Offset(120.0, 25.0), timeStamp: const Duration(milliseconds: 20)));
     tester.route(pointer.up(timeStamp: const Duration(milliseconds: 20)));
     expect(velocity.pixelsPerSecond.dx, inInclusiveRange(0.99 * kMaxFlingVelocity, kMaxFlingVelocity));
     expect(velocity.pixelsPerSecond.dy, moreOrLessEquals(0.0));
@@ -166,7 +166,7 @@
   testGesture('Drag details', (GestureTester tester) {
     expect(new DragDownDetails(), hasOneLineDescription);
     expect(new DragStartDetails(), hasOneLineDescription);
-    expect(new DragUpdateDetails(globalPosition: Point.origin), hasOneLineDescription);
+    expect(new DragUpdateDetails(globalPosition: Offset.zero), hasOneLineDescription);
     expect(new DragEndDetails(), hasOneLineDescription);
   });
 }
diff --git a/packages/flutter/test/gestures/long_press_test.dart b/packages/flutter/test/gestures/long_press_test.dart
index 2983de6..72bf124 100644
--- a/packages/flutter/test/gestures/long_press_test.dart
+++ b/packages/flutter/test/gestures/long_press_test.dart
@@ -9,12 +9,12 @@
 
 const PointerDownEvent down = const PointerDownEvent(
   pointer: 5,
-  position: const Point(10.0, 10.0)
+  position: const Offset(10.0, 10.0)
 );
 
 const PointerUpEvent up = const PointerUpEvent(
   pointer: 5,
-  position: const Point(11.0, 9.0)
+  position: const Offset(11.0, 9.0)
 );
 
 void main() {
diff --git a/packages/flutter/test/gestures/multidrag_test.dart b/packages/flutter/test/gestures/multidrag_test.dart
index 89e414f..cdd5a3d 100644
--- a/packages/flutter/test/gestures/multidrag_test.dart
+++ b/packages/flutter/test/gestures/multidrag_test.dart
@@ -17,23 +17,23 @@
     final DelayedMultiDragGestureRecognizer drag = new DelayedMultiDragGestureRecognizer();
 
     bool didStartDrag = false;
-    drag.onStart = (Point position) {
+    drag.onStart = (Offset position) {
       didStartDrag = true;
       return new TestDrag();
     };
 
     final TestPointer pointer = new TestPointer(5);
-    final PointerDownEvent down = pointer.down(const Point(10.0, 10.0));
+    final PointerDownEvent down = pointer.down(const Offset(10.0, 10.0));
     drag.addPointer(down);
     tester.closeArena(5);
     expect(didStartDrag, isFalse);
     tester.async.flushMicrotasks();
     expect(didStartDrag, isFalse);
-    tester.route(pointer.move(const Point(20.0, 20.0)));
+    tester.route(pointer.move(const Offset(20.0, 20.0)));
     expect(didStartDrag, isFalse);
     tester.async.elapse(kLongPressTimeout * 2);
     expect(didStartDrag, isFalse);
-    tester.route(pointer.move(const Point(30.0, 30.0)));
+    tester.route(pointer.move(const Offset(30.0, 30.0)));
     expect(didStartDrag, isFalse);
     drag.dispose();
   });
diff --git a/packages/flutter/test/gestures/multitap_test.dart b/packages/flutter/test/gestures/multitap_test.dart
index d31fe3b..634bfda 100644
--- a/packages/flutter/test/gestures/multitap_test.dart
+++ b/packages/flutter/test/gestures/multitap_test.dart
@@ -26,7 +26,7 @@
 
 
     final TestPointer pointer5 = new TestPointer(5);
-    final PointerDownEvent down5 = pointer5.down(const Point(10.0, 10.0));
+    final PointerDownEvent down5 = pointer5.down(const Offset(10.0, 10.0));
     tap.addPointer(down5);
     tester.closeArena(5);
     expect(log, <String>['tap-down 5']);
@@ -35,7 +35,7 @@
     expect(log, isEmpty);
 
     final TestPointer pointer6 = new TestPointer(6);
-    final PointerDownEvent down6 = pointer6.down(const Point(15.0, 15.0));
+    final PointerDownEvent down6 = pointer6.down(const Offset(15.0, 15.0));
     tap.addPointer(down6);
     tester.closeArena(6);
     expect(log, <String>['tap-down 6']);
@@ -43,10 +43,10 @@
     tester.route(down6);
     expect(log, isEmpty);
 
-    tester.route(pointer5.move(const Point(11.0, 12.0)));
+    tester.route(pointer5.move(const Offset(11.0, 12.0)));
     expect(log, isEmpty);
 
-    tester.route(pointer6.move(const Point(14.0, 13.0)));
+    tester.route(pointer6.move(const Offset(14.0, 13.0)));
     expect(log, isEmpty);
 
     tester.route(pointer5.up());
@@ -60,7 +60,7 @@
     expect(log, <String>['long-tap-down 6']);
     log.clear();
 
-    tester.route(pointer6.move(const Point(4.0, 3.0)));
+    tester.route(pointer6.move(const Offset(4.0, 3.0)));
     expect(log, <String>['tap-cancel 6']);
     log.clear();
 
diff --git a/packages/flutter/test/gestures/pointer_router_test.dart b/packages/flutter/test/gestures/pointer_router_test.dart
index 10c533a..7fb668c 100644
--- a/packages/flutter/test/gestures/pointer_router_test.dart
+++ b/packages/flutter/test/gestures/pointer_router_test.dart
@@ -18,9 +18,9 @@
 
     final PointerRouter router = new PointerRouter();
     router.addRoute(3, callback);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(callbackRan, isFalse);
-    router.route(pointer3.down(Point.origin));
+    router.route(pointer3.down(Offset.zero));
     expect(callbackRan, isTrue);
     callbackRan = false;
     router.removeRoute(3, callback);
@@ -39,7 +39,7 @@
     });
     router.addRoute(2, callback);
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(callbackRan, isFalse);
   });
 
@@ -57,7 +57,7 @@
     });
 
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(firstCallbackRan, isTrue);
     expect(secondCallbackRan, isFalse);
   });
@@ -73,7 +73,7 @@
     });
     router.addGlobalRoute(callback);
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(callbackRan, isFalse);
   });
 
@@ -89,7 +89,7 @@
       router.addGlobalRoute(callback);
     });
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(perPointerCallbackRan, isTrue);
     expect(callbackRan, isFalse);
   });
@@ -110,7 +110,7 @@
       log.add('per-pointer 2');
     });
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(log, equals(<String>[
       'per-pointer 1',
       'per-pointer 2',
@@ -139,7 +139,7 @@
     };
 
     final TestPointer pointer2 = new TestPointer(2);
-    router.route(pointer2.down(Point.origin));
+    router.route(pointer2.down(Offset.zero));
     expect(log, equals(<String>[
       'per-pointer 1',
       'per-pointer 2',
diff --git a/packages/flutter/test/gestures/scale_test.dart b/packages/flutter/test/gestures/scale_test.dart
index 19a403f..6d8e07c 100644
--- a/packages/flutter/test/gestures/scale_test.dart
+++ b/packages/flutter/test/gestures/scale_test.dart
@@ -15,7 +15,7 @@
     final TapGestureRecognizer tap = new TapGestureRecognizer();
 
     bool didStartScale = false;
-    Point updatedFocalPoint;
+    Offset updatedFocalPoint;
     scale.onStart = (ScaleStartDetails details) {
       didStartScale = true;
       updatedFocalPoint = details.focalPoint;
@@ -39,7 +39,7 @@
 
     final TestPointer pointer1 = new TestPointer(1);
 
-    final PointerDownEvent down = pointer1.down(const Point(10.0, 10.0));
+    final PointerDownEvent down = pointer1.down(const Offset(10.0, 10.0));
     scale.addPointer(down);
     tap.addPointer(down);
 
@@ -58,10 +58,10 @@
     expect(didEndScale, isFalse);
     expect(didTap, isFalse);
 
-    tester.route(pointer1.move(const Point(20.0, 30.0)));
+    tester.route(pointer1.move(const Offset(20.0, 30.0)));
     expect(didStartScale, isTrue);
     didStartScale = false;
-    expect(updatedFocalPoint, const Point(20.0, 30.0));
+    expect(updatedFocalPoint, const Offset(20.0, 30.0));
     updatedFocalPoint = null;
     expect(updatedScale, 1.0);
     updatedScale = null;
@@ -70,7 +70,7 @@
 
     // Two-finger scaling
     final TestPointer pointer2 = new TestPointer(2);
-    final PointerDownEvent down2 = pointer2.down(const Point(10.0, 20.0));
+    final PointerDownEvent down2 = pointer2.down(const Offset(10.0, 20.0));
     scale.addPointer(down2);
     tap.addPointer(down2);
     tester.closeArena(2);
@@ -83,10 +83,10 @@
     expect(didStartScale, isFalse);
 
     // Zoom in
-    tester.route(pointer2.move(const Point(0.0, 10.0)));
+    tester.route(pointer2.move(const Offset(0.0, 10.0)));
     expect(didStartScale, isTrue);
     didStartScale = false;
-    expect(updatedFocalPoint, const Point(10.0, 20.0));
+    expect(updatedFocalPoint, const Offset(10.0, 20.0));
     updatedFocalPoint = null;
     expect(updatedScale, 2.0);
     updatedScale = null;
@@ -94,8 +94,8 @@
     expect(didTap, isFalse);
 
     // Zoom out
-    tester.route(pointer2.move(const Point(15.0, 25.0)));
-    expect(updatedFocalPoint, const Point(17.5, 27.5));
+    tester.route(pointer2.move(const Offset(15.0, 25.0)));
+    expect(updatedFocalPoint, const Offset(17.5, 27.5));
     updatedFocalPoint = null;
     expect(updatedScale, 0.5);
     updatedScale = null;
@@ -103,7 +103,7 @@
 
     // Three-finger scaling
     final TestPointer pointer3 = new TestPointer(3);
-    final PointerDownEvent down3 = pointer3.down(const Point(25.0, 35.0));
+    final PointerDownEvent down3 = pointer3.down(const Offset(25.0, 35.0));
     scale.addPointer(down3);
     tap.addPointer(down3);
     tester.closeArena(3);
@@ -116,10 +116,10 @@
     expect(didStartScale, isFalse);
 
     // Zoom in
-    tester.route(pointer3.move(const Point(55.0, 65.0)));
+    tester.route(pointer3.move(const Offset(55.0, 65.0)));
     expect(didStartScale, isTrue);
     didStartScale = false;
-    expect(updatedFocalPoint, const Point(30.0, 40.0));
+    expect(updatedFocalPoint, const Offset(30.0, 40.0));
     updatedFocalPoint = null;
     expect(updatedScale, 5.0);
     updatedScale = null;
@@ -127,11 +127,11 @@
     expect(didTap, isFalse);
 
     // Return to original positions but with different fingers
-    tester.route(pointer1.move(const Point(25.0, 35.0)));
-    tester.route(pointer2.move(const Point(20.0, 30.0)));
-    tester.route(pointer3.move(const Point(15.0, 25.0)));
+    tester.route(pointer1.move(const Offset(25.0, 35.0)));
+    tester.route(pointer2.move(const Offset(20.0, 30.0)));
+    tester.route(pointer3.move(const Offset(15.0, 25.0)));
     expect(didStartScale, isFalse);
-    expect(updatedFocalPoint, const Point(20.0, 30.0));
+    expect(updatedFocalPoint, const Offset(20.0, 30.0));
     updatedFocalPoint = null;
     expect(updatedScale, 1.0);
     updatedScale = null;
@@ -147,10 +147,10 @@
     expect(didTap, isFalse);
 
     // Continue scaling with two fingers
-    tester.route(pointer3.move(const Point(10.0, 20.0)));
+    tester.route(pointer3.move(const Offset(10.0, 20.0)));
     expect(didStartScale, isTrue);
     didStartScale = false;
-    expect(updatedFocalPoint, const Point(15.0, 25.0));
+    expect(updatedFocalPoint, const Offset(15.0, 25.0));
     updatedFocalPoint = null;
     expect(updatedScale, 2.0);
     updatedScale = null;
@@ -164,10 +164,10 @@
     expect(didTap, isFalse);
 
     // Continue panning with one finger
-    tester.route(pointer3.move(const Point(0.0, 0.0)));
+    tester.route(pointer3.move(const Offset(0.0, 0.0)));
     expect(didStartScale, isTrue);
     didStartScale = false;
-    expect(updatedFocalPoint, const Point(0.0, 0.0));
+    expect(updatedFocalPoint, const Offset(0.0, 0.0));
     updatedFocalPoint = null;
     expect(updatedScale, 1.0);
     updatedScale = null;
@@ -200,7 +200,7 @@
 
     final TestPointer pointer1 = new TestPointer(1);
 
-    final PointerDownEvent down = pointer1.down(const Point(10.0, 10.0));
+    final PointerDownEvent down = pointer1.down(const Offset(10.0, 10.0));
     scale.addPointer(down);
     drag.addPointer(down);
 
@@ -211,12 +211,12 @@
     tester.route(down);
     expect(log, isEmpty);
 
-    tester.route(pointer1.move(const Point(10.0, 30.0)));
+    tester.route(pointer1.move(const Offset(10.0, 30.0)));
     expect(log, equals(<String>['scale-start', 'scale-update']));
     log.clear();
 
     final TestPointer pointer2 = new TestPointer(2);
-    final PointerDownEvent down2 = pointer2.down(const Point(10.0, 20.0));
+    final PointerDownEvent down2 = pointer2.down(const Offset(10.0, 20.0));
     scale.addPointer(down2);
     drag.addPointer(down2);
 
@@ -228,7 +228,7 @@
     expect(log, <String>['scale-end']);
     log.clear();
 
-    tester.route(pointer2.move(const Point(30.0, 20.0)));
+    tester.route(pointer2.move(const Offset(30.0, 20.0)));
     expect(log, equals(<String>['scale-start', 'scale-update']));
     log.clear();
 
@@ -242,7 +242,7 @@
 
     // Horizontal moves are drags.
     final TestPointer pointer3 = new TestPointer(3);
-    final PointerDownEvent down3 = pointer3.down(const Point(30.0, 30.0));
+    final PointerDownEvent down3 = pointer3.down(const Offset(30.0, 30.0));
     scale.addPointer(down3);
     drag.addPointer(down3);
     tester.closeArena(3);
@@ -250,7 +250,7 @@
 
     expect(log, isEmpty);
 
-    tester.route(pointer3.move(const Point(50.0, 30.0)));
+    tester.route(pointer3.move(const Offset(50.0, 30.0)));
     expect(log, equals(<String>['scale-start', 'scale-update']));
     log.clear();
 
diff --git a/packages/flutter/test/gestures/tap_test.dart b/packages/flutter/test/gestures/tap_test.dart
index 7714849..6475a24 100644
--- a/packages/flutter/test/gestures/tap_test.dart
+++ b/packages/flutter/test/gestures/tap_test.dart
@@ -22,39 +22,39 @@
   // Down/up pair 1: normal tap sequence
   const PointerDownEvent down1 = const PointerDownEvent(
     pointer: 1,
-    position: const Point(10.0, 10.0)
+    position: const Offset(10.0, 10.0)
   );
 
   const PointerUpEvent up1 = const PointerUpEvent(
     pointer: 1,
-    position: const Point(11.0, 9.0)
+    position: const Offset(11.0, 9.0)
   );
 
   // Down/up pair 2: normal tap sequence far away from pair 1
   const PointerDownEvent down2 = const PointerDownEvent(
     pointer: 2,
-    position: const Point(30.0, 30.0)
+    position: const Offset(30.0, 30.0)
   );
 
   const PointerUpEvent up2 = const PointerUpEvent(
     pointer: 2,
-    position: const Point(31.0, 29.0)
+    position: const Offset(31.0, 29.0)
   );
 
   // Down/move/up sequence 3: intervening motion
   const PointerDownEvent down3 = const PointerDownEvent(
     pointer: 3,
-    position: const Point(10.0, 10.0)
+    position: const Offset(10.0, 10.0)
   );
 
   const PointerMoveEvent move3 = const PointerMoveEvent(
     pointer: 3,
-    position: const Point(25.0, 25.0)
+    position: const Offset(25.0, 25.0)
   );
 
   const PointerUpEvent up3 = const PointerUpEvent(
     pointer: 3,
-    position: const Point(25.0, 25.0)
+    position: const Offset(25.0, 25.0)
   );
 
   testGesture('Should recognize tap', (GestureTester tester) {
diff --git a/packages/flutter/test/gestures/team_test.dart b/packages/flutter/test/gestures/team_test.dart
index 5bf6a6a..c6ad758 100644
--- a/packages/flutter/test/gestures/team_test.dart
+++ b/packages/flutter/test/gestures/team_test.dart
@@ -28,7 +28,7 @@
     tap.onTap = () { log.add('tap'); };
 
     void test(Offset delta) {
-      final Point origin = const Point(10.0, 10.0);
+      final Offset origin = const Offset(10.0, 10.0);
       final TestPointer pointer = new TestPointer(5);
       final PointerDownEvent down = pointer.down(origin);
       horizontalDrag.addPointer(down);
diff --git a/packages/flutter/test/gestures/velocity_tracker_data.dart b/packages/flutter/test/gestures/velocity_tracker_data.dart
index 85d711c..6c1e236 100644
--- a/packages/flutter/test/gestures/velocity_tracker_data.dart
+++ b/packages/flutter/test/gestures/velocity_tracker_data.dart
@@ -8,1532 +8,1532 @@
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216690896),
     pointer: 1,
-    position: const Point(270.0, 538.2857055664062)
+    position: const Offset(270.0, 538.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690906),
     pointer: 1,
-    position: const Point(270.0, 538.2857055664062)
+    position: const Offset(270.0, 538.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690951),
     pointer: 1,
-    position: const Point(270.0, 530.8571166992188)
+    position: const Offset(270.0, 530.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690959),
     pointer: 1,
-    position: const Point(270.0, 526.8571166992188)
+    position: const Offset(270.0, 526.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690967),
     pointer: 1,
-    position: const Point(270.0, 521.4285888671875)
+    position: const Offset(270.0, 521.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690975),
     pointer: 1,
-    position: const Point(270.0, 515.4285888671875)
+    position: const Offset(270.0, 515.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690983),
     pointer: 1,
-    position: const Point(270.0, 506.8571472167969)
+    position: const Offset(270.0, 506.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690991),
     pointer: 1,
-    position: const Point(268.8571472167969, 496.0)
+    position: const Offset(268.8571472167969, 496.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216690998),
     pointer: 1,
-    position: const Point(267.4285583496094, 483.1428527832031)
+    position: const Offset(267.4285583496094, 483.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691006),
     pointer: 1,
-    position: const Point(266.28570556640625, 469.71429443359375)
+    position: const Offset(266.28570556640625, 469.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691014),
     pointer: 1,
-    position: const Point(265.4285583496094, 456.8571472167969)
+    position: const Offset(265.4285583496094, 456.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691021),
     pointer: 1,
-    position: const Point(264.28570556640625, 443.71429443359375)
+    position: const Offset(264.28570556640625, 443.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691029),
     pointer: 1,
-    position: const Point(264.0, 431.71429443359375)
+    position: const Offset(264.0, 431.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691036),
     pointer: 1,
-    position: const Point(263.4285583496094, 421.1428527832031)
+    position: const Offset(263.4285583496094, 421.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691044),
     pointer: 1,
-    position: const Point(263.4285583496094, 412.5714416503906)
+    position: const Offset(263.4285583496094, 412.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691052),
     pointer: 1,
-    position: const Point(263.4285583496094, 404.5714416503906)
+    position: const Offset(263.4285583496094, 404.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691060),
     pointer: 1,
-    position: const Point(263.4285583496094, 396.5714416503906)
+    position: const Offset(263.4285583496094, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691068),
     pointer: 1,
-    position: const Point(264.5714416503906, 390.0)
+    position: const Offset(264.5714416503906, 390.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691075),
     pointer: 1,
-    position: const Point(265.1428527832031, 384.8571472167969)
+    position: const Offset(265.1428527832031, 384.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691083),
     pointer: 1,
-    position: const Point(266.0, 380.28570556640625)
+    position: const Offset(266.0, 380.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691091),
     pointer: 1,
-    position: const Point(266.5714416503906, 376.28570556640625)
+    position: const Offset(266.5714416503906, 376.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691098),
     pointer: 1,
-    position: const Point(267.1428527832031, 373.1428527832031)
+    position: const Offset(267.1428527832031, 373.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691106),
     pointer: 1,
-    position: const Point(267.71429443359375, 370.28570556640625)
+    position: const Offset(267.71429443359375, 370.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691114),
     pointer: 1,
-    position: const Point(268.28570556640625, 367.71429443359375)
+    position: const Offset(268.28570556640625, 367.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691121),
     pointer: 1,
-    position: const Point(268.5714416503906, 366.0)
+    position: const Offset(268.5714416503906, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691130),
     pointer: 1,
-    position: const Point(268.8571472167969, 364.5714416503906)
+    position: const Offset(268.8571472167969, 364.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691137),
     pointer: 1,
-    position: const Point(269.1428527832031, 363.71429443359375)
+    position: const Offset(269.1428527832031, 363.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691145),
     pointer: 1,
-    position: const Point(269.1428527832031, 362.8571472167969)
+    position: const Offset(269.1428527832031, 362.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691153),
     pointer: 1,
-    position: const Point(269.4285583496094, 362.8571472167969)
+    position: const Offset(269.4285583496094, 362.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691168),
     pointer: 1,
-    position: const Point(268.5714416503906, 365.4285583496094)
+    position: const Offset(268.5714416503906, 365.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691176),
     pointer: 1,
-    position: const Point(267.1428527832031, 370.28570556640625)
+    position: const Offset(267.1428527832031, 370.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691183),
     pointer: 1,
-    position: const Point(265.4285583496094, 376.8571472167969)
+    position: const Offset(265.4285583496094, 376.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691191),
     pointer: 1,
-    position: const Point(263.1428527832031, 385.71429443359375)
+    position: const Offset(263.1428527832031, 385.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691199),
     pointer: 1,
-    position: const Point(261.4285583496094, 396.5714416503906)
+    position: const Offset(261.4285583496094, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691207),
     pointer: 1,
-    position: const Point(259.71429443359375, 408.5714416503906)
+    position: const Offset(259.71429443359375, 408.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691215),
     pointer: 1,
-    position: const Point(258.28570556640625, 419.4285583496094)
+    position: const Offset(258.28570556640625, 419.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691222),
     pointer: 1,
-    position: const Point(257.4285583496094, 428.5714416503906)
+    position: const Offset(257.4285583496094, 428.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691230),
     pointer: 1,
-    position: const Point(256.28570556640625, 436.0)
+    position: const Offset(256.28570556640625, 436.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691238),
     pointer: 1,
-    position: const Point(255.7142791748047, 442.0)
+    position: const Offset(255.7142791748047, 442.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691245),
     pointer: 1,
-    position: const Point(255.14285278320312, 447.71429443359375)
+    position: const Offset(255.14285278320312, 447.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691253),
     pointer: 1,
-    position: const Point(254.85714721679688, 453.1428527832031)
+    position: const Offset(254.85714721679688, 453.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691261),
     pointer: 1,
-    position: const Point(254.57142639160156, 458.5714416503906)
+    position: const Offset(254.57142639160156, 458.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691268),
     pointer: 1,
-    position: const Point(254.2857208251953, 463.71429443359375)
+    position: const Offset(254.2857208251953, 463.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691276),
     pointer: 1,
-    position: const Point(254.2857208251953, 470.28570556640625)
+    position: const Offset(254.2857208251953, 470.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691284),
     pointer: 1,
-    position: const Point(254.2857208251953, 477.71429443359375)
+    position: const Offset(254.2857208251953, 477.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691292),
     pointer: 1,
-    position: const Point(255.7142791748047, 487.1428527832031)
+    position: const Offset(255.7142791748047, 487.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691300),
     pointer: 1,
-    position: const Point(256.8571472167969, 498.5714416503906)
+    position: const Offset(256.8571472167969, 498.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691307),
     pointer: 1,
-    position: const Point(258.28570556640625, 507.71429443359375)
+    position: const Offset(258.28570556640625, 507.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691315),
     pointer: 1,
-    position: const Point(259.4285583496094, 516.0)
+    position: const Offset(259.4285583496094, 516.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691323),
     pointer: 1,
-    position: const Point(260.28570556640625, 521.7142944335938)
+    position: const Offset(260.28570556640625, 521.7142944335938)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216691338),
     pointer: 1,
-    position: const Point(260.28570556640625, 521.7142944335938)
+    position: const Offset(260.28570556640625, 521.7142944335938)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216691573),
     pointer: 2,
-    position: const Point(266.0, 327.4285583496094)
+    position: const Offset(266.0, 327.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691588),
     pointer: 2,
-    position: const Point(266.0, 327.4285583496094)
+    position: const Offset(266.0, 327.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691626),
     pointer: 2,
-    position: const Point(261.1428527832031, 337.1428527832031)
+    position: const Offset(261.1428527832031, 337.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691634),
     pointer: 2,
-    position: const Point(258.28570556640625, 343.1428527832031)
+    position: const Offset(258.28570556640625, 343.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691642),
     pointer: 2,
-    position: const Point(254.57142639160156, 354.0)
+    position: const Offset(254.57142639160156, 354.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691650),
     pointer: 2,
-    position: const Point(250.2857208251953, 368.28570556640625)
+    position: const Offset(250.2857208251953, 368.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691657),
     pointer: 2,
-    position: const Point(247.42857360839844, 382.8571472167969)
+    position: const Offset(247.42857360839844, 382.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691665),
     pointer: 2,
-    position: const Point(245.14285278320312, 397.4285583496094)
+    position: const Offset(245.14285278320312, 397.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691673),
     pointer: 2,
-    position: const Point(243.14285278320312, 411.71429443359375)
+    position: const Offset(243.14285278320312, 411.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691680),
     pointer: 2,
-    position: const Point(242.2857208251953, 426.28570556640625)
+    position: const Offset(242.2857208251953, 426.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691688),
     pointer: 2,
-    position: const Point(241.7142791748047, 440.5714416503906)
+    position: const Offset(241.7142791748047, 440.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691696),
     pointer: 2,
-    position: const Point(241.7142791748047, 454.5714416503906)
+    position: const Offset(241.7142791748047, 454.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691703),
     pointer: 2,
-    position: const Point(242.57142639160156, 467.71429443359375)
+    position: const Offset(242.57142639160156, 467.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691712),
     pointer: 2,
-    position: const Point(243.42857360839844, 477.4285583496094)
+    position: const Offset(243.42857360839844, 477.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691720),
     pointer: 2,
-    position: const Point(244.85714721679688, 485.71429443359375)
+    position: const Offset(244.85714721679688, 485.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691727),
     pointer: 2,
-    position: const Point(246.2857208251953, 493.1428527832031)
+    position: const Offset(246.2857208251953, 493.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216691735),
     pointer: 2,
-    position: const Point(248.0, 499.71429443359375)
+    position: const Offset(248.0, 499.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216691750),
     pointer: 2,
-    position: const Point(248.0, 499.71429443359375)
+    position: const Offset(248.0, 499.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216692255),
     pointer: 3,
-    position: const Point(249.42857360839844, 351.4285583496094)
+    position: const Offset(249.42857360839844, 351.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692270),
     pointer: 3,
-    position: const Point(249.42857360839844, 351.4285583496094)
+    position: const Offset(249.42857360839844, 351.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692309),
     pointer: 3,
-    position: const Point(246.2857208251953, 361.71429443359375)
+    position: const Offset(246.2857208251953, 361.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692317),
     pointer: 3,
-    position: const Point(244.0, 368.5714416503906)
+    position: const Offset(244.0, 368.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692325),
     pointer: 3,
-    position: const Point(241.42857360839844, 377.71429443359375)
+    position: const Offset(241.42857360839844, 377.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692333),
     pointer: 3,
-    position: const Point(237.7142791748047, 391.71429443359375)
+    position: const Offset(237.7142791748047, 391.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692340),
     pointer: 3,
-    position: const Point(235.14285278320312, 406.5714416503906)
+    position: const Offset(235.14285278320312, 406.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692348),
     pointer: 3,
-    position: const Point(232.57142639160156, 421.4285583496094)
+    position: const Offset(232.57142639160156, 421.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692356),
     pointer: 3,
-    position: const Point(230.2857208251953, 436.5714416503906)
+    position: const Offset(230.2857208251953, 436.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692363),
     pointer: 3,
-    position: const Point(228.2857208251953, 451.71429443359375)
+    position: const Offset(228.2857208251953, 451.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692371),
     pointer: 3,
-    position: const Point(227.42857360839844, 466.0)
+    position: const Offset(227.42857360839844, 466.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692378),
     pointer: 3,
-    position: const Point(226.2857208251953, 479.71429443359375)
+    position: const Offset(226.2857208251953, 479.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692387),
     pointer: 3,
-    position: const Point(225.7142791748047, 491.71429443359375)
+    position: const Offset(225.7142791748047, 491.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692395),
     pointer: 3,
-    position: const Point(225.14285278320312, 501.71429443359375)
+    position: const Offset(225.14285278320312, 501.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692402),
     pointer: 3,
-    position: const Point(224.85714721679688, 509.1428527832031)
+    position: const Offset(224.85714721679688, 509.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692410),
     pointer: 3,
-    position: const Point(224.57142639160156, 514.8571166992188)
+    position: const Offset(224.57142639160156, 514.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692418),
     pointer: 3,
-    position: const Point(224.2857208251953, 519.4285888671875)
+    position: const Offset(224.2857208251953, 519.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692425),
     pointer: 3,
-    position: const Point(224.0, 523.4285888671875)
+    position: const Offset(224.0, 523.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692433),
     pointer: 3,
-    position: const Point(224.0, 527.1428833007812)
+    position: const Offset(224.0, 527.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692441),
     pointer: 3,
-    position: const Point(224.0, 530.5714111328125)
+    position: const Offset(224.0, 530.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692448),
     pointer: 3,
-    position: const Point(224.0, 533.1428833007812)
+    position: const Offset(224.0, 533.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692456),
     pointer: 3,
-    position: const Point(224.0, 535.4285888671875)
+    position: const Offset(224.0, 535.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692464),
     pointer: 3,
-    position: const Point(223.7142791748047, 536.8571166992188)
+    position: const Offset(223.7142791748047, 536.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692472),
     pointer: 3,
-    position: const Point(223.7142791748047, 538.2857055664062)
+    position: const Offset(223.7142791748047, 538.2857055664062)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216692487),
     pointer: 3,
-    position: const Point(223.7142791748047, 538.2857055664062)
+    position: const Offset(223.7142791748047, 538.2857055664062)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216692678),
     pointer: 4,
-    position: const Point(221.42857360839844, 526.2857055664062)
+    position: const Offset(221.42857360839844, 526.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692701),
     pointer: 4,
-    position: const Point(220.57142639160156, 514.8571166992188)
+    position: const Offset(220.57142639160156, 514.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692708),
     pointer: 4,
-    position: const Point(220.2857208251953, 508.0)
+    position: const Offset(220.2857208251953, 508.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692716),
     pointer: 4,
-    position: const Point(220.2857208251953, 498.0)
+    position: const Offset(220.2857208251953, 498.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692724),
     pointer: 4,
-    position: const Point(221.14285278320312, 484.28570556640625)
+    position: const Offset(221.14285278320312, 484.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692732),
     pointer: 4,
-    position: const Point(221.7142791748047, 469.4285583496094)
+    position: const Offset(221.7142791748047, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692740),
     pointer: 4,
-    position: const Point(223.42857360839844, 453.1428527832031)
+    position: const Offset(223.42857360839844, 453.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692748),
     pointer: 4,
-    position: const Point(225.7142791748047, 436.28570556640625)
+    position: const Offset(225.7142791748047, 436.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692755),
     pointer: 4,
-    position: const Point(229.14285278320312, 418.28570556640625)
+    position: const Offset(229.14285278320312, 418.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692763),
     pointer: 4,
-    position: const Point(232.85714721679688, 400.28570556640625)
+    position: const Offset(232.85714721679688, 400.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692770),
     pointer: 4,
-    position: const Point(236.85714721679688, 382.5714416503906)
+    position: const Offset(236.85714721679688, 382.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692778),
     pointer: 4,
-    position: const Point(241.14285278320312, 366.0)
+    position: const Offset(241.14285278320312, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692786),
     pointer: 4,
-    position: const Point(244.85714721679688, 350.28570556640625)
+    position: const Offset(244.85714721679688, 350.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216692793),
     pointer: 4,
-    position: const Point(249.14285278320312, 335.4285583496094)
+    position: const Offset(249.14285278320312, 335.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216692809),
     pointer: 4,
-    position: const Point(249.14285278320312, 335.4285583496094)
+    position: const Offset(249.14285278320312, 335.4285583496094)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216693222),
     pointer: 5,
-    position: const Point(224.0, 545.4285888671875)
+    position: const Offset(224.0, 545.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693245),
     pointer: 5,
-    position: const Point(224.0, 545.4285888671875)
+    position: const Offset(224.0, 545.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693275),
     pointer: 5,
-    position: const Point(222.85714721679688, 535.1428833007812)
+    position: const Offset(222.85714721679688, 535.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693284),
     pointer: 5,
-    position: const Point(222.85714721679688, 528.8571166992188)
+    position: const Offset(222.85714721679688, 528.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693291),
     pointer: 5,
-    position: const Point(222.2857208251953, 518.5714111328125)
+    position: const Offset(222.2857208251953, 518.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693299),
     pointer: 5,
-    position: const Point(222.0, 503.4285583496094)
+    position: const Offset(222.0, 503.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693307),
     pointer: 5,
-    position: const Point(222.0, 485.4285583496094)
+    position: const Offset(222.0, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693314),
     pointer: 5,
-    position: const Point(221.7142791748047, 464.0)
+    position: const Offset(221.7142791748047, 464.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216693322),
     pointer: 5,
-    position: const Point(222.2857208251953, 440.28570556640625)
+    position: const Offset(222.2857208251953, 440.28570556640625)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216693337),
     pointer: 5,
-    position: const Point(222.2857208251953, 440.28570556640625)
+    position: const Offset(222.2857208251953, 440.28570556640625)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216693985),
     pointer: 6,
-    position: const Point(208.0, 544.0)
+    position: const Offset(208.0, 544.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694047),
     pointer: 6,
-    position: const Point(208.57142639160156, 532.2857055664062)
+    position: const Offset(208.57142639160156, 532.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694054),
     pointer: 6,
-    position: const Point(208.85714721679688, 525.7142944335938)
+    position: const Offset(208.85714721679688, 525.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694062),
     pointer: 6,
-    position: const Point(208.85714721679688, 515.1428833007812)
+    position: const Offset(208.85714721679688, 515.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694070),
     pointer: 6,
-    position: const Point(208.0, 501.4285583496094)
+    position: const Offset(208.0, 501.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694077),
     pointer: 6,
-    position: const Point(207.42857360839844, 487.1428527832031)
+    position: const Offset(207.42857360839844, 487.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694085),
     pointer: 6,
-    position: const Point(206.57142639160156, 472.8571472167969)
+    position: const Offset(206.57142639160156, 472.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694092),
     pointer: 6,
-    position: const Point(206.57142639160156, 458.8571472167969)
+    position: const Offset(206.57142639160156, 458.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694100),
     pointer: 6,
-    position: const Point(206.57142639160156, 446.0)
+    position: const Offset(206.57142639160156, 446.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694108),
     pointer: 6,
-    position: const Point(206.57142639160156, 434.28570556640625)
+    position: const Offset(206.57142639160156, 434.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694116),
     pointer: 6,
-    position: const Point(207.14285278320312, 423.71429443359375)
+    position: const Offset(207.14285278320312, 423.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694124),
     pointer: 6,
-    position: const Point(208.57142639160156, 412.8571472167969)
+    position: const Offset(208.57142639160156, 412.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694131),
     pointer: 6,
-    position: const Point(209.7142791748047, 402.28570556640625)
+    position: const Offset(209.7142791748047, 402.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694139),
     pointer: 6,
-    position: const Point(211.7142791748047, 393.1428527832031)
+    position: const Offset(211.7142791748047, 393.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694147),
     pointer: 6,
-    position: const Point(213.42857360839844, 385.1428527832031)
+    position: const Offset(213.42857360839844, 385.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694154),
     pointer: 6,
-    position: const Point(215.42857360839844, 378.28570556640625)
+    position: const Offset(215.42857360839844, 378.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694162),
     pointer: 6,
-    position: const Point(217.42857360839844, 371.71429443359375)
+    position: const Offset(217.42857360839844, 371.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694169),
     pointer: 6,
-    position: const Point(219.42857360839844, 366.0)
+    position: const Offset(219.42857360839844, 366.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694177),
     pointer: 6,
-    position: const Point(221.42857360839844, 360.8571472167969)
+    position: const Offset(221.42857360839844, 360.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694185),
     pointer: 6,
-    position: const Point(223.42857360839844, 356.5714416503906)
+    position: const Offset(223.42857360839844, 356.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694193),
     pointer: 6,
-    position: const Point(225.14285278320312, 352.28570556640625)
+    position: const Offset(225.14285278320312, 352.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694201),
     pointer: 6,
-    position: const Point(226.85714721679688, 348.5714416503906)
+    position: const Offset(226.85714721679688, 348.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694209),
     pointer: 6,
-    position: const Point(228.2857208251953, 346.0)
+    position: const Offset(228.2857208251953, 346.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694216),
     pointer: 6,
-    position: const Point(229.14285278320312, 343.71429443359375)
+    position: const Offset(229.14285278320312, 343.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694224),
     pointer: 6,
-    position: const Point(230.0, 342.0)
+    position: const Offset(230.0, 342.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694232),
     pointer: 6,
-    position: const Point(230.57142639160156, 340.5714416503906)
+    position: const Offset(230.57142639160156, 340.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694239),
     pointer: 6,
-    position: const Point(230.85714721679688, 339.71429443359375)
+    position: const Offset(230.85714721679688, 339.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694247),
     pointer: 6,
-    position: const Point(230.85714721679688, 339.4285583496094)
+    position: const Offset(230.85714721679688, 339.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694262),
     pointer: 6,
-    position: const Point(230.2857208251953, 342.0)
+    position: const Offset(230.2857208251953, 342.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694270),
     pointer: 6,
-    position: const Point(228.85714721679688, 346.28570556640625)
+    position: const Offset(228.85714721679688, 346.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694278),
     pointer: 6,
-    position: const Point(227.14285278320312, 352.5714416503906)
+    position: const Offset(227.14285278320312, 352.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694286),
     pointer: 6,
-    position: const Point(225.42857360839844, 359.4285583496094)
+    position: const Offset(225.42857360839844, 359.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694294),
     pointer: 6,
-    position: const Point(223.7142791748047, 367.71429443359375)
+    position: const Offset(223.7142791748047, 367.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694301),
     pointer: 6,
-    position: const Point(222.57142639160156, 376.0)
+    position: const Offset(222.57142639160156, 376.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694309),
     pointer: 6,
-    position: const Point(221.42857360839844, 384.28570556640625)
+    position: const Offset(221.42857360839844, 384.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694317),
     pointer: 6,
-    position: const Point(220.85714721679688, 392.28570556640625)
+    position: const Offset(220.85714721679688, 392.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694324),
     pointer: 6,
-    position: const Point(220.0, 400.5714416503906)
+    position: const Offset(220.0, 400.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694332),
     pointer: 6,
-    position: const Point(219.14285278320312, 409.71429443359375)
+    position: const Offset(219.14285278320312, 409.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694339),
     pointer: 6,
-    position: const Point(218.85714721679688, 419.1428527832031)
+    position: const Offset(218.85714721679688, 419.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694348),
     pointer: 6,
-    position: const Point(218.2857208251953, 428.8571472167969)
+    position: const Offset(218.2857208251953, 428.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694356),
     pointer: 6,
-    position: const Point(218.2857208251953, 438.8571472167969)
+    position: const Offset(218.2857208251953, 438.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694363),
     pointer: 6,
-    position: const Point(218.2857208251953, 447.71429443359375)
+    position: const Offset(218.2857208251953, 447.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694371),
     pointer: 6,
-    position: const Point(218.2857208251953, 455.71429443359375)
+    position: const Offset(218.2857208251953, 455.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694379),
     pointer: 6,
-    position: const Point(219.14285278320312, 462.8571472167969)
+    position: const Offset(219.14285278320312, 462.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694386),
     pointer: 6,
-    position: const Point(220.0, 469.4285583496094)
+    position: const Offset(220.0, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694394),
     pointer: 6,
-    position: const Point(221.14285278320312, 475.4285583496094)
+    position: const Offset(221.14285278320312, 475.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694401),
     pointer: 6,
-    position: const Point(222.0, 480.5714416503906)
+    position: const Offset(222.0, 480.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694409),
     pointer: 6,
-    position: const Point(222.85714721679688, 485.4285583496094)
+    position: const Offset(222.85714721679688, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694417),
     pointer: 6,
-    position: const Point(224.0, 489.71429443359375)
+    position: const Offset(224.0, 489.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694425),
     pointer: 6,
-    position: const Point(224.85714721679688, 492.8571472167969)
+    position: const Offset(224.85714721679688, 492.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694433),
     pointer: 6,
-    position: const Point(225.42857360839844, 495.4285583496094)
+    position: const Offset(225.42857360839844, 495.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694440),
     pointer: 6,
-    position: const Point(226.0, 497.1428527832031)
+    position: const Offset(226.0, 497.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694448),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.28570556640625)
+    position: const Offset(226.2857208251953, 498.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694456),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.8571472167969)
+    position: const Offset(226.2857208251953, 498.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694471),
     pointer: 6,
-    position: const Point(226.2857208251953, 498.28570556640625)
+    position: const Offset(226.2857208251953, 498.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694479),
     pointer: 6,
-    position: const Point(226.2857208251953, 496.5714416503906)
+    position: const Offset(226.2857208251953, 496.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694486),
     pointer: 6,
-    position: const Point(226.2857208251953, 493.71429443359375)
+    position: const Offset(226.2857208251953, 493.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694494),
     pointer: 6,
-    position: const Point(226.2857208251953, 490.0)
+    position: const Offset(226.2857208251953, 490.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694502),
     pointer: 6,
-    position: const Point(226.2857208251953, 486.0)
+    position: const Offset(226.2857208251953, 486.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694510),
     pointer: 6,
-    position: const Point(226.2857208251953, 480.5714416503906)
+    position: const Offset(226.2857208251953, 480.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694518),
     pointer: 6,
-    position: const Point(226.2857208251953, 475.71429443359375)
+    position: const Offset(226.2857208251953, 475.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694525),
     pointer: 6,
-    position: const Point(226.2857208251953, 468.8571472167969)
+    position: const Offset(226.2857208251953, 468.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694533),
     pointer: 6,
-    position: const Point(226.2857208251953, 461.4285583496094)
+    position: const Offset(226.2857208251953, 461.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694541),
     pointer: 6,
-    position: const Point(226.2857208251953, 452.5714416503906)
+    position: const Offset(226.2857208251953, 452.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694548),
     pointer: 6,
-    position: const Point(226.57142639160156, 442.28570556640625)
+    position: const Offset(226.57142639160156, 442.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694556),
     pointer: 6,
-    position: const Point(226.57142639160156, 432.28570556640625)
+    position: const Offset(226.57142639160156, 432.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694564),
     pointer: 6,
-    position: const Point(226.85714721679688, 423.4285583496094)
+    position: const Offset(226.85714721679688, 423.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694571),
     pointer: 6,
-    position: const Point(227.42857360839844, 416.0)
+    position: const Offset(227.42857360839844, 416.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694580),
     pointer: 6,
-    position: const Point(227.7142791748047, 410.0)
+    position: const Offset(227.7142791748047, 410.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694587),
     pointer: 6,
-    position: const Point(228.2857208251953, 404.28570556640625)
+    position: const Offset(228.2857208251953, 404.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694595),
     pointer: 6,
-    position: const Point(228.85714721679688, 399.71429443359375)
+    position: const Offset(228.85714721679688, 399.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694603),
     pointer: 6,
-    position: const Point(229.14285278320312, 395.4285583496094)
+    position: const Offset(229.14285278320312, 395.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694610),
     pointer: 6,
-    position: const Point(229.42857360839844, 392.28570556640625)
+    position: const Offset(229.42857360839844, 392.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694618),
     pointer: 6,
-    position: const Point(229.7142791748047, 390.0)
+    position: const Offset(229.7142791748047, 390.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694625),
     pointer: 6,
-    position: const Point(229.7142791748047, 388.0)
+    position: const Offset(229.7142791748047, 388.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694633),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.8571472167969)
+    position: const Offset(229.7142791748047, 386.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694641),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.28570556640625)
+    position: const Offset(229.7142791748047, 386.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694648),
     pointer: 6,
-    position: const Point(229.7142791748047, 386.0)
+    position: const Offset(229.7142791748047, 386.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694657),
     pointer: 6,
-    position: const Point(228.85714721679688, 386.0)
+    position: const Offset(228.85714721679688, 386.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694665),
     pointer: 6,
-    position: const Point(228.0, 388.0)
+    position: const Offset(228.0, 388.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694672),
     pointer: 6,
-    position: const Point(226.0, 392.5714416503906)
+    position: const Offset(226.0, 392.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694680),
     pointer: 6,
-    position: const Point(224.0, 397.71429443359375)
+    position: const Offset(224.0, 397.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694688),
     pointer: 6,
-    position: const Point(222.0, 404.28570556640625)
+    position: const Offset(222.0, 404.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694695),
     pointer: 6,
-    position: const Point(219.7142791748047, 411.1428527832031)
+    position: const Offset(219.7142791748047, 411.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694703),
     pointer: 6,
-    position: const Point(218.2857208251953, 418.0)
+    position: const Offset(218.2857208251953, 418.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694710),
     pointer: 6,
-    position: const Point(217.14285278320312, 425.4285583496094)
+    position: const Offset(217.14285278320312, 425.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694718),
     pointer: 6,
-    position: const Point(215.7142791748047, 433.4285583496094)
+    position: const Offset(215.7142791748047, 433.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694726),
     pointer: 6,
-    position: const Point(214.85714721679688, 442.28570556640625)
+    position: const Offset(214.85714721679688, 442.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694734),
     pointer: 6,
-    position: const Point(214.0, 454.0)
+    position: const Offset(214.0, 454.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694742),
     pointer: 6,
-    position: const Point(214.0, 469.4285583496094)
+    position: const Offset(214.0, 469.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694749),
     pointer: 6,
-    position: const Point(215.42857360839844, 485.4285583496094)
+    position: const Offset(215.42857360839844, 485.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694757),
     pointer: 6,
-    position: const Point(217.7142791748047, 502.8571472167969)
+    position: const Offset(217.7142791748047, 502.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694765),
     pointer: 6,
-    position: const Point(221.14285278320312, 521.4285888671875)
+    position: const Offset(221.14285278320312, 521.4285888671875)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694772),
     pointer: 6,
-    position: const Point(224.57142639160156, 541.1428833007812)
+    position: const Offset(224.57142639160156, 541.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694780),
     pointer: 6,
-    position: const Point(229.14285278320312, 561.1428833007812)
+    position: const Offset(229.14285278320312, 561.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216694788),
     pointer: 6,
-    position: const Point(233.42857360839844, 578.8571166992188)
+    position: const Offset(233.42857360839844, 578.8571166992188)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216694802),
     pointer: 6,
-    position: const Point(233.42857360839844, 578.8571166992188)
+    position: const Offset(233.42857360839844, 578.8571166992188)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216695344),
     pointer: 7,
-    position: const Point(253.42857360839844, 310.5714416503906)
+    position: const Offset(253.42857360839844, 310.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695352),
     pointer: 7,
-    position: const Point(253.42857360839844, 310.5714416503906)
+    position: const Offset(253.42857360839844, 310.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695359),
     pointer: 7,
-    position: const Point(252.85714721679688, 318.0)
+    position: const Offset(252.85714721679688, 318.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695367),
     pointer: 7,
-    position: const Point(251.14285278320312, 322.0)
+    position: const Offset(251.14285278320312, 322.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695375),
     pointer: 7,
-    position: const Point(248.85714721679688, 327.1428527832031)
+    position: const Offset(248.85714721679688, 327.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695382),
     pointer: 7,
-    position: const Point(246.0, 334.8571472167969)
+    position: const Offset(246.0, 334.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695390),
     pointer: 7,
-    position: const Point(242.57142639160156, 344.5714416503906)
+    position: const Offset(242.57142639160156, 344.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695397),
     pointer: 7,
-    position: const Point(238.85714721679688, 357.4285583496094)
+    position: const Offset(238.85714721679688, 357.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695406),
     pointer: 7,
-    position: const Point(235.7142791748047, 371.71429443359375)
+    position: const Offset(235.7142791748047, 371.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695414),
     pointer: 7,
-    position: const Point(232.2857208251953, 386.8571472167969)
+    position: const Offset(232.2857208251953, 386.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695421),
     pointer: 7,
-    position: const Point(229.42857360839844, 402.0)
+    position: const Offset(229.42857360839844, 402.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695429),
     pointer: 7,
-    position: const Point(227.42857360839844, 416.8571472167969)
+    position: const Offset(227.42857360839844, 416.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695437),
     pointer: 7,
-    position: const Point(226.2857208251953, 431.4285583496094)
+    position: const Offset(226.2857208251953, 431.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695444),
     pointer: 7,
-    position: const Point(226.2857208251953, 446.0)
+    position: const Offset(226.2857208251953, 446.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695452),
     pointer: 7,
-    position: const Point(227.7142791748047, 460.28570556640625)
+    position: const Offset(227.7142791748047, 460.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695459),
     pointer: 7,
-    position: const Point(230.0, 475.1428527832031)
+    position: const Offset(230.0, 475.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695467),
     pointer: 7,
-    position: const Point(232.2857208251953, 489.71429443359375)
+    position: const Offset(232.2857208251953, 489.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695475),
     pointer: 7,
-    position: const Point(235.7142791748047, 504.0)
+    position: const Offset(235.7142791748047, 504.0)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216695490),
     pointer: 7,
-    position: const Point(235.7142791748047, 504.0)
+    position: const Offset(235.7142791748047, 504.0)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216695885),
     pointer: 8,
-    position: const Point(238.85714721679688, 524.0)
+    position: const Offset(238.85714721679688, 524.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695908),
     pointer: 8,
-    position: const Point(236.2857208251953, 515.7142944335938)
+    position: const Offset(236.2857208251953, 515.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695916),
     pointer: 8,
-    position: const Point(234.85714721679688, 509.1428527832031)
+    position: const Offset(234.85714721679688, 509.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695924),
     pointer: 8,
-    position: const Point(232.57142639160156, 498.5714416503906)
+    position: const Offset(232.57142639160156, 498.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695931),
     pointer: 8,
-    position: const Point(230.57142639160156, 483.71429443359375)
+    position: const Offset(230.57142639160156, 483.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695939),
     pointer: 8,
-    position: const Point(229.14285278320312, 466.5714416503906)
+    position: const Offset(229.14285278320312, 466.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695947),
     pointer: 8,
-    position: const Point(229.14285278320312, 446.5714416503906)
+    position: const Offset(229.14285278320312, 446.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695955),
     pointer: 8,
-    position: const Point(230.57142639160156, 424.8571472167969)
+    position: const Offset(230.57142639160156, 424.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695963),
     pointer: 8,
-    position: const Point(232.57142639160156, 402.28570556640625)
+    position: const Offset(232.57142639160156, 402.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695970),
     pointer: 8,
-    position: const Point(235.14285278320312, 380.0)
+    position: const Offset(235.14285278320312, 380.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216695978),
     pointer: 8,
-    position: const Point(238.57142639160156, 359.4285583496094)
+    position: const Offset(238.57142639160156, 359.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216695993),
     pointer: 8,
-    position: const Point(238.57142639160156, 359.4285583496094)
+    position: const Offset(238.57142639160156, 359.4285583496094)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216696429),
     pointer: 9,
-    position: const Point(238.2857208251953, 568.5714111328125)
+    position: const Offset(238.2857208251953, 568.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696459),
     pointer: 9,
-    position: const Point(234.0, 560.0)
+    position: const Offset(234.0, 560.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696467),
     pointer: 9,
-    position: const Point(231.42857360839844, 553.1428833007812)
+    position: const Offset(231.42857360839844, 553.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696475),
     pointer: 9,
-    position: const Point(228.2857208251953, 543.1428833007812)
+    position: const Offset(228.2857208251953, 543.1428833007812)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696483),
     pointer: 9,
-    position: const Point(225.42857360839844, 528.8571166992188)
+    position: const Offset(225.42857360839844, 528.8571166992188)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696491),
     pointer: 9,
-    position: const Point(223.14285278320312, 512.2857055664062)
+    position: const Offset(223.14285278320312, 512.2857055664062)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696498),
     pointer: 9,
-    position: const Point(222.0, 495.4285583496094)
+    position: const Offset(222.0, 495.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696506),
     pointer: 9,
-    position: const Point(221.7142791748047, 477.4285583496094)
+    position: const Offset(221.7142791748047, 477.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696514),
     pointer: 9,
-    position: const Point(221.7142791748047, 458.28570556640625)
+    position: const Offset(221.7142791748047, 458.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696521),
     pointer: 9,
-    position: const Point(223.14285278320312, 438.0)
+    position: const Offset(223.14285278320312, 438.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216696529),
     pointer: 9,
-    position: const Point(224.2857208251953, 416.28570556640625)
+    position: const Offset(224.2857208251953, 416.28570556640625)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216696544),
     pointer: 9,
-    position: const Point(224.2857208251953, 416.28570556640625)
+    position: const Offset(224.2857208251953, 416.28570556640625)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216696974),
     pointer: 10,
-    position: const Point(218.57142639160156, 530.5714111328125)
+    position: const Offset(218.57142639160156, 530.5714111328125)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697012),
     pointer: 10,
-    position: const Point(220.2857208251953, 522.0)
+    position: const Offset(220.2857208251953, 522.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697020),
     pointer: 10,
-    position: const Point(221.14285278320312, 517.7142944335938)
+    position: const Offset(221.14285278320312, 517.7142944335938)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697028),
     pointer: 10,
-    position: const Point(222.2857208251953, 511.71429443359375)
+    position: const Offset(222.2857208251953, 511.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697036),
     pointer: 10,
-    position: const Point(224.0, 504.28570556640625)
+    position: const Offset(224.0, 504.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697044),
     pointer: 10,
-    position: const Point(227.14285278320312, 490.5714416503906)
+    position: const Offset(227.14285278320312, 490.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697052),
     pointer: 10,
-    position: const Point(229.42857360839844, 474.0)
+    position: const Offset(229.42857360839844, 474.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697059),
     pointer: 10,
-    position: const Point(231.42857360839844, 454.5714416503906)
+    position: const Offset(231.42857360839844, 454.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697067),
     pointer: 10,
-    position: const Point(233.7142791748047, 431.1428527832031)
+    position: const Offset(233.7142791748047, 431.1428527832031)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697082),
     pointer: 10,
-    position: const Point(233.7142791748047, 431.1428527832031)
+    position: const Offset(233.7142791748047, 431.1428527832031)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216697435),
     pointer: 11,
-    position: const Point(257.1428527832031, 285.1428527832031)
+    position: const Offset(257.1428527832031, 285.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697465),
     pointer: 11,
-    position: const Point(251.7142791748047, 296.8571472167969)
+    position: const Offset(251.7142791748047, 296.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697473),
     pointer: 11,
-    position: const Point(248.2857208251953, 304.0)
+    position: const Offset(248.2857208251953, 304.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697481),
     pointer: 11,
-    position: const Point(244.57142639160156, 314.8571472167969)
+    position: const Offset(244.57142639160156, 314.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697489),
     pointer: 11,
-    position: const Point(240.2857208251953, 329.1428527832031)
+    position: const Offset(240.2857208251953, 329.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697497),
     pointer: 11,
-    position: const Point(236.85714721679688, 345.1428527832031)
+    position: const Offset(236.85714721679688, 345.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697505),
     pointer: 11,
-    position: const Point(233.7142791748047, 361.4285583496094)
+    position: const Offset(233.7142791748047, 361.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697512),
     pointer: 11,
-    position: const Point(231.14285278320312, 378.28570556640625)
+    position: const Offset(231.14285278320312, 378.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697520),
     pointer: 11,
-    position: const Point(229.42857360839844, 395.4285583496094)
+    position: const Offset(229.42857360839844, 395.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697528),
     pointer: 11,
-    position: const Point(229.42857360839844, 412.8571472167969)
+    position: const Offset(229.42857360839844, 412.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697535),
     pointer: 11,
-    position: const Point(230.85714721679688, 430.8571472167969)
+    position: const Offset(230.85714721679688, 430.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697543),
     pointer: 11,
-    position: const Point(233.42857360839844, 449.71429443359375)
+    position: const Offset(233.42857360839844, 449.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697558),
     pointer: 11,
-    position: const Point(233.42857360839844, 449.71429443359375)
+    position: const Offset(233.42857360839844, 449.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216697749),
     pointer: 12,
-    position: const Point(246.0, 311.4285583496094)
+    position: const Offset(246.0, 311.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697780),
     pointer: 12,
-    position: const Point(244.57142639160156, 318.28570556640625)
+    position: const Offset(244.57142639160156, 318.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697787),
     pointer: 12,
-    position: const Point(243.14285278320312, 325.4285583496094)
+    position: const Offset(243.14285278320312, 325.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697795),
     pointer: 12,
-    position: const Point(241.42857360839844, 336.0)
+    position: const Offset(241.42857360839844, 336.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697803),
     pointer: 12,
-    position: const Point(239.7142791748047, 351.1428527832031)
+    position: const Offset(239.7142791748047, 351.1428527832031)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697811),
     pointer: 12,
-    position: const Point(238.2857208251953, 368.5714416503906)
+    position: const Offset(238.2857208251953, 368.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697819),
     pointer: 12,
-    position: const Point(238.0, 389.4285583496094)
+    position: const Offset(238.0, 389.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697826),
     pointer: 12,
-    position: const Point(239.14285278320312, 412.0)
+    position: const Offset(239.14285278320312, 412.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697834),
     pointer: 12,
-    position: const Point(242.2857208251953, 438.0)
+    position: const Offset(242.2857208251953, 438.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697842),
     pointer: 12,
-    position: const Point(247.42857360839844, 466.8571472167969)
+    position: const Offset(247.42857360839844, 466.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216697849),
     pointer: 12,
-    position: const Point(254.2857208251953, 497.71429443359375)
+    position: const Offset(254.2857208251953, 497.71429443359375)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216697864),
     pointer: 12,
-    position: const Point(254.2857208251953, 497.71429443359375)
+    position: const Offset(254.2857208251953, 497.71429443359375)
   ),
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216698321),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698328),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698344),
     pointer: 13,
-    position: const Point(249.14285278320312, 314.0)
+    position: const Offset(249.14285278320312, 314.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698351),
     pointer: 13,
-    position: const Point(247.42857360839844, 319.4285583496094)
+    position: const Offset(247.42857360839844, 319.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698359),
     pointer: 13,
-    position: const Point(245.14285278320312, 326.8571472167969)
+    position: const Offset(245.14285278320312, 326.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698366),
     pointer: 13,
-    position: const Point(241.7142791748047, 339.4285583496094)
+    position: const Offset(241.7142791748047, 339.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698374),
     pointer: 13,
-    position: const Point(238.57142639160156, 355.71429443359375)
+    position: const Offset(238.57142639160156, 355.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698382),
     pointer: 13,
-    position: const Point(236.2857208251953, 374.28570556640625)
+    position: const Offset(236.2857208251953, 374.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698390),
     pointer: 13,
-    position: const Point(235.14285278320312, 396.5714416503906)
+    position: const Offset(235.14285278320312, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698398),
     pointer: 13,
-    position: const Point(236.57142639160156, 421.4285583496094)
+    position: const Offset(236.57142639160156, 421.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698406),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216698421),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
 ];
 
@@ -1541,33 +1541,33 @@
   const PointerDownEvent(
     timeStamp: const Duration(milliseconds: 216698321),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
 
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698328),
     pointer: 13,
-    position: const Point(250.0, 306.0)
+    position: const Offset(250.0, 306.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698344),
     pointer: 13,
-    position: const Point(249.14285278320312, 314.0)
+    position: const Offset(249.14285278320312, 314.0)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698351),
     pointer: 13,
-    position: const Point(247.42857360839844, 319.4285583496094)
+    position: const Offset(247.42857360839844, 319.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698359),
     pointer: 13,
-    position: const Point(245.14285278320312, 326.8571472167969)
+    position: const Offset(245.14285278320312, 326.8571472167969)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698366),
     pointer: 13,
-    position: const Point(241.7142791748047, 339.4285583496094)
+    position: const Offset(241.7142791748047, 339.4285583496094)
   ),
 
   // The pointer "stops" here because we've introduced a 40+ms gap
@@ -1577,31 +1577,31 @@
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698374 + 40),
     pointer: 13,
-    position: const Point(238.57142639160156, 355.71429443359375)
+    position: const Offset(238.57142639160156, 355.71429443359375)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698382 + 40),
     pointer: 13,
-    position: const Point(236.2857208251953, 374.28570556640625)
+    position: const Offset(236.2857208251953, 374.28570556640625)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698390 + 40),
     pointer: 13,
-    position: const Point(235.14285278320312, 396.5714416503906)
+    position: const Offset(235.14285278320312, 396.5714416503906)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698398 + 40),
     pointer: 13,
-    position: const Point(236.57142639160156, 421.4285583496094)
+    position: const Offset(236.57142639160156, 421.4285583496094)
   ),
   const PointerMoveEvent(
     timeStamp: const Duration(milliseconds: 216698406 + 40),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
   const PointerUpEvent(
     timeStamp: const Duration(milliseconds: 216698421 + 40),
     pointer: 13,
-    position: const Point(241.14285278320312, 451.4285583496094)
+    position: const Offset(241.14285278320312, 451.4285583496094)
   ),
 ];
diff --git a/packages/flutter/test/material/app_bar_test.dart b/packages/flutter/test/material/app_bar_test.dart
index e1e17d0..b5e8c53 100644
--- a/packages/flutter/test/material/app_bar_test.dart
+++ b/packages/flutter/test/material/app_bar_test.dart
@@ -70,9 +70,9 @@
     );
 
     final Finder title = find.text('X');
-    Point center = tester.getCenter(title);
+    Offset center = tester.getCenter(title);
     Size size = tester.getSize(title);
-    expect(center.x, lessThan(400 - size.width / 2.0));
+    expect(center.dx, lessThan(400 - size.width / 2.0));
 
     // Clear the widget tree to avoid animating between Android and iOS.
     await tester.pumpWidget(new Container(key: new UniqueKey()));
@@ -90,8 +90,8 @@
 
     center = tester.getCenter(title);
     size = tester.getSize(title);
-    expect(center.x, greaterThan(400 - size.width / 2.0));
-    expect(center.x, lessThan(400 + size.width / 2.0));
+    expect(center.dx, greaterThan(400 - size.width / 2.0));
+    expect(center.dx, lessThan(400 + size.width / 2.0));
   });
 
   testWidgets('AppBar centerTitle:true centers on Android', (WidgetTester tester) async {
@@ -109,10 +109,10 @@
 
 
     final Finder title = find.text('X');
-    final Point center = tester.getCenter(title);
+    final Offset center = tester.getCenter(title);
     final Size size = tester.getSize(title);
-    expect(center.x, greaterThan(400 - size.width / 2.0));
-    expect(center.x, lessThan(400 + size.width / 2.0));
+    expect(center.dx, greaterThan(400 - size.width / 2.0));
+    expect(center.dx, lessThan(400 + size.width / 2.0));
   });
 
   testWidgets('AppBar centerTitle:false title left edge is 16.0 ', (WidgetTester tester) async {
@@ -127,7 +127,7 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.text('X')).x, 16.0);
+    expect(tester.getTopLeft(find.text('X')).dx, 16.0);
   });
 
   testWidgets(
@@ -146,7 +146,7 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.text('X')).x, 72.0);
+    expect(tester.getTopLeft(find.text('X')).dx, 72.0);
   });
 
   testWidgets('AppBar centerTitle:false title overflow OK ', (WidgetTester tester) async {
@@ -176,7 +176,7 @@
     await tester.pumpWidget(buildApp());
 
     final Finder title = find.byKey(titleKey);
-    expect(tester.getTopLeft(title).x, 72.0);
+    expect(tester.getTopLeft(title).dx, 72.0);
     // The toolbar's contents are padded on the right by 4.0
     expect(tester.getSize(title).width, equals(800.0 - 72.0 - 4.0));
 
@@ -186,13 +186,13 @@
     ];
     await tester.pumpWidget(buildApp());
 
-    expect(tester.getTopLeft(title).x, 72.0);
+    expect(tester.getTopLeft(title).dx, 72.0);
     // The title shrinks by 200.0 to allow for the actions widgets.
     expect(tester.getSize(title).width, equals(800.0 - 72.0 - 4.0 - 200.0));
 
     leading = new Container(); // AppBar will constrain the width to 24.0
     await tester.pumpWidget(buildApp());
-    expect(tester.getTopLeft(title).x, 72.0);
+    expect(tester.getTopLeft(title).dx, 72.0);
     // Adding a leading widget shouldn't effect the title's size
     expect(tester.getSize(title).width, equals(800.0 - 72.0 - 4.0 - 200.0));
   });
@@ -229,7 +229,7 @@
     await tester.pumpWidget(buildApp());
 
     final Finder title = find.byKey(titleKey);
-    expect(tester.getTopLeft(title).x, 72.0);
+    expect(tester.getTopLeft(title).dx, 72.0);
     expect(tester.getSize(title).width, equals(700.0));
 
     // Centering a title with width 620 within the 800 pixel wide test widget
@@ -245,7 +245,7 @@
       const SizedBox(width: 48.0)
     ];
     await tester.pumpWidget(buildApp());
-    expect(tester.getTopLeft(title).x, 800 - 620 - 48 - 48 - 4);
+    expect(tester.getTopLeft(title).dx, 800 - 620 - 48 - 48 - 4);
     expect(tester.getSize(title).width, equals(620.0));
   });
 
@@ -311,7 +311,7 @@
     );
 
     // The vertical center of the widget with key, in global coordinates.
-    double yCenter(Key key) => tester.getCenter(find.byKey(key)).y;
+    double yCenter(Key key) => tester.getCenter(find.byKey(key)).dy;
 
     expect(yCenter(appBarKey), equals(yCenter(leadingKey)));
     expect(yCenter(appBarKey), equals(yCenter(titleKey)));
@@ -333,7 +333,7 @@
     );
 
     final Finder hamburger = find.byTooltip('Open navigation menu');
-    expect(tester.getTopLeft(hamburger), const Point(0.0, 0.0));
+    expect(tester.getTopLeft(hamburger), const Offset(0.0, 0.0));
     expect(tester.getSize(hamburger), const Size(56.0, 56.0));
   });
 
@@ -365,7 +365,7 @@
 
     final Finder addButton = find.byTooltip('Add');
     // Right padding is 4dp.
-    expect(tester.getTopRight(addButton), const Point(800.0 - 4.0, 0.0));
+    expect(tester.getTopRight(addButton), const Offset(800.0 - 4.0, 0.0));
     // It's still the size it was plus the 2 * 8dp padding from IconButton.
     expect(tester.getSize(addButton), const Size(60.0 + 2 * 8.0, 56.0));
 
diff --git a/packages/flutter/test/material/arc_test.dart b/packages/flutter/test/material/arc_test.dart
index f9ca2b6..8f9b30c 100644
--- a/packages/flutter/test/material/arc_test.dart
+++ b/packages/flutter/test/material/arc_test.dart
@@ -8,13 +8,13 @@
 void main() {
   test('MaterialPointArcTween control test', () {
     final MaterialPointArcTween a = new MaterialPointArcTween(
-      begin: Point.origin,
-      end: const Point(0.0, 10.0)
+      begin: Offset.zero,
+      end: const Offset(0.0, 10.0)
     );
 
     final MaterialPointArcTween b = new MaterialPointArcTween(
-      begin: Point.origin,
-      end: const Point(0.0, 10.0)
+      begin: Offset.zero,
+      end: const Offset(0.0, 10.0)
     );
 
     expect(a, hasOneLineDescription);
@@ -39,17 +39,17 @@
 
   test('on-axis MaterialPointArcTween', () {
     MaterialPointArcTween tween = new MaterialPointArcTween(
-      begin: Point.origin,
-      end: const Point(0.0, 10.0)
+      begin: Offset.zero,
+      end: const Offset(0.0, 10.0)
     );
-    expect(tween.lerp(0.5), equals(const Point(0.0, 5.0)));
+    expect(tween.lerp(0.5), equals(const Offset(0.0, 5.0)));
     expect(tween, hasOneLineDescription);
 
     tween = new MaterialPointArcTween(
-      begin: Point.origin,
-      end: const Point(10.0, 0.0)
+      begin: Offset.zero,
+      end: const Offset(10.0, 0.0)
     );
-    expect(tween.lerp(0.5), equals(const Point(5.0, 0.0)));
+    expect(tween.lerp(0.5), equals(const Offset(5.0, 0.0)));
   });
 
   test('on-axis MaterialRectArcTween', () {
@@ -68,19 +68,19 @@
   });
 
   test('MaterialPointArcTween', () {
-    final Point begin = const Point(180.0, 110.0);
-    final Point end = const Point(37.0, 250.0);
+    final Offset begin = const Offset(180.0, 110.0);
+    final Offset end = const Offset(37.0, 250.0);
 
     MaterialPointArcTween tween = new MaterialPointArcTween(begin: begin, end: end);
     expect(tween.lerp(0.0), begin);
-    expect((tween.lerp(0.25) - const Point(126.0, 120.0)).distance, closeTo(0.0, 2.0));
-    expect((tween.lerp(0.75) - const Point(48.0, 196.0)).distance, closeTo(0.0, 2.0));
+    expect((tween.lerp(0.25) - const Offset(126.0, 120.0)).distance, closeTo(0.0, 2.0));
+    expect((tween.lerp(0.75) - const Offset(48.0, 196.0)).distance, closeTo(0.0, 2.0));
     expect(tween.lerp(1.0), end);
 
     tween = new MaterialPointArcTween(begin: end, end: begin);
     expect(tween.lerp(0.0), end);
-    expect((tween.lerp(0.25) - const Point(91.0, 239.0)).distance, closeTo(0.0, 2.0));
-    expect((tween.lerp(0.75) - const Point(168.3, 163.8)).distance, closeTo(0.0, 2.0));
+    expect((tween.lerp(0.25) - const Offset(91.0, 239.0)).distance, closeTo(0.0, 2.0));
+    expect((tween.lerp(0.75) - const Offset(168.3, 163.8)).distance, closeTo(0.0, 2.0));
     expect(tween.lerp(1.0), begin);
   });
 
diff --git a/packages/flutter/test/material/bottom_navigation_bar_test.dart b/packages/flutter/test/material/bottom_navigation_bar_test.dart
index c8de2b4..283cb97 100644
--- a/packages/flutter/test/material/bottom_navigation_bar_test.dart
+++ b/packages/flutter/test/material/bottom_navigation_bar_test.dart
@@ -141,28 +141,28 @@
     // they grow.
 
     Iterable<RenderBox> actions = tester.renderObjectList(find.byType(InkResponse));
-    final Point originalOrigin = actions.elementAt(3).localToGlobal(Point.origin);
+    final Offset originalOrigin = actions.elementAt(3).localToGlobal(Offset.zero);
 
     await tester.tap(find.text('AC'));
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 100));
 
     actions = tester.renderObjectList(find.byType(InkResponse));
-    expect(actions.elementAt(3).localToGlobal(Point.origin), equals(originalOrigin));
+    expect(actions.elementAt(3).localToGlobal(Offset.zero), equals(originalOrigin));
 
     await tester.tap(find.text('Alarm'));
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 100));
 
     actions = tester.renderObjectList(find.byType(InkResponse));
-    expect(actions.elementAt(3).localToGlobal(Point.origin), equals(originalOrigin));
+    expect(actions.elementAt(3).localToGlobal(Offset.zero), equals(originalOrigin));
 
     await tester.tap(find.text('Time'));
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 100));
 
     actions = tester.renderObjectList(find.byType(InkResponse));
-    expect(actions.elementAt(3).localToGlobal(Point.origin), equals(originalOrigin));
+    expect(actions.elementAt(3).localToGlobal(Offset.zero), equals(originalOrigin));
   });
 
   testWidgets('BottomNavigationBar inherits shadowed app theme for shifting navbar', (WidgetTester tester) async {
diff --git a/packages/flutter/test/material/buttons_test.dart b/packages/flutter/test/material/buttons_test.dart
index 558a4bc..233a0ff 100644
--- a/packages/flutter/test/material/buttons_test.dart
+++ b/packages/flutter/test/material/buttons_test.dart
@@ -63,7 +63,7 @@
       ),
     );
 
-    final Point center = tester.getCenter(find.byType(MaterialButton));
+    final Offset center = tester.getCenter(find.byType(MaterialButton));
     final TestGesture gesture = await tester.startGesture(center);
     await tester.pump(); // start gesture
     await tester.pump(const Duration(milliseconds: 200)); // wait for splash to be well under way
diff --git a/packages/flutter/test/material/date_picker_test.dart b/packages/flutter/test/material/date_picker_test.dart
index de33bec..38f1513 100644
--- a/packages/flutter/test/material/date_picker_test.dart
+++ b/packages/flutter/test/material/date_picker_test.dart
@@ -55,19 +55,19 @@
     );
     expect(_selectedDate, equals(new DateTime(2016, DateTime.JULY, 26)));
 
-    await tester.tapAt(const Point(50.0, 100.0));
+    await tester.tapAt(const Offset(50.0, 100.0));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.JULY, 26)));
     await tester.pump(const Duration(seconds: 2));
 
-    await tester.tapAt(const Point(300.0, 100.0));
+    await tester.tapAt(const Offset(300.0, 100.0));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.JULY, 1)));
     await tester.pump(const Duration(seconds: 2));
 
-    await tester.tapAt(const Point(380.0, 20.0));
+    await tester.tapAt(const Offset(380.0, 20.0));
     await tester.pumpAndSettle(const Duration(milliseconds: 100));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.JULY, 1)));
 
-    await tester.tapAt(const Point(300.0, 100.0));
+    await tester.tapAt(const Offset(300.0, 100.0));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.AUGUST, 5)));
     await tester.pump(const Duration(seconds: 2));
 
@@ -75,7 +75,7 @@
     await tester.pumpAndSettle(const Duration(milliseconds: 100));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.AUGUST, 5)));
 
-    await tester.tapAt(const Point(45.0, 270.0));
+    await tester.tapAt(const Offset(45.0, 270.0));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.SEPTEMBER, 25)));
     await tester.pump(const Duration(seconds: 2));
 
@@ -83,7 +83,7 @@
     await tester.pumpAndSettle(const Duration(milliseconds: 100));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.SEPTEMBER, 25)));
 
-    await tester.tapAt(const Point(210.0, 180.0));
+    await tester.tapAt(const Offset(210.0, 180.0));
     expect(_selectedDate, equals(new DateTime(2016, DateTime.AUGUST, 17)));
   });
 
diff --git a/packages/flutter/test/material/dialog_test.dart b/packages/flutter/test/material/dialog_test.dart
index ae97b63..23a66f2 100644
--- a/packages/flutter/test/material/dialog_test.dart
+++ b/packages/flutter/test/material/dialog_test.dart
@@ -168,7 +168,7 @@
     expect(find.text('Dialog1'), findsOneWidget);
 
     // Tap on the barrier.
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
 
     await tester.pumpAndSettle(const Duration(seconds: 1));
     expect(find.text('Dialog1'), findsNothing);
@@ -188,7 +188,7 @@
     expect(find.text('Dialog2'), findsOneWidget);
 
     // Tap on the barrier, which shouldn't do anything this time.
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
 
     await tester.pumpAndSettle(const Duration(seconds: 1));
     expect(find.text('Dialog2'), findsOneWidget);
diff --git a/packages/flutter/test/material/dropdown_test.dart b/packages/flutter/test/material/dropdown_test.dart
index 971ab8a..9b679d3 100644
--- a/packages/flutter/test/material/dropdown_test.dart
+++ b/packages/flutter/test/material/dropdown_test.dart
@@ -47,12 +47,12 @@
   expect(boxes.length, equals(2));
   final RenderBox box0 = boxes[0];
   final RenderBox box1 = boxes[1];
-  expect(box0.localToGlobal(Point.origin), equals(box1.localToGlobal(Point.origin)));
+  expect(box0.localToGlobal(Offset.zero), equals(box1.localToGlobal(Offset.zero)));
   expect(box0.size, equals(box1.size));
 }
 
 bool sameGeometry(RenderBox box1, RenderBox box2) {
-  expect(box1.localToGlobal(Point.origin), equals(box2.localToGlobal(Point.origin)));
+  expect(box1.localToGlobal(Offset.zero), equals(box2.localToGlobal(Offset.zero)));
   expect(box1.size.height, equals(box2.size.height));
   return true;
 }
@@ -212,14 +212,14 @@
     await tester.pumpWidget(build());
     final RenderBox buttonBox = tester.renderObject(find.byKey(buttonKey));
     assert(buttonBox.attached);
-    final Point buttonOriginBeforeTap = buttonBox.localToGlobal(Point.origin);
+    final Offset buttonOriginBeforeTap = buttonBox.localToGlobal(Offset.zero);
 
     await tester.tap(find.text('two'));
     await tester.pump();
     await tester.pump(const Duration(seconds: 1)); // finish the menu animation
 
     // Tapping the dropdown button should not cause it to move.
-    expect(buttonBox.localToGlobal(Point.origin), equals(buttonOriginBeforeTap));
+    expect(buttonBox.localToGlobal(Offset.zero), equals(buttonOriginBeforeTap));
 
     // The selected dropdown item is both in menu we just popped up, and in
     // the IndexedStack contained by the dropdown button. Both of them should
@@ -228,7 +228,7 @@
     expect(itemBoxes.length, equals(2));
     for(RenderBox itemBox in itemBoxes) {
       assert(itemBox.attached);
-      expect(buttonBox.localToGlobal(Point.origin), equals(itemBox.localToGlobal(Point.origin)));
+      expect(buttonBox.localToGlobal(Offset.zero), equals(itemBox.localToGlobal(Offset.zero)));
       expect(buttonBox.size.height, equals(itemBox.size.height));
     }
 
@@ -264,9 +264,9 @@
 
     for(RenderBox itemBox in itemBoxes) {
       assert(itemBox.attached);
-      final Point buttonBoxCenter = buttonBox.size.center(buttonBox.localToGlobal(Point.origin));
-      final Point itemBoxCenter =  itemBox.size.center(itemBox.localToGlobal(Point.origin));
-      expect(buttonBoxCenter.y, equals(itemBoxCenter.y));
+      final Offset buttonBoxCenter = buttonBox.size.center(buttonBox.localToGlobal(Offset.zero));
+      final Offset itemBoxCenter =  itemBox.size.center(itemBox.localToGlobal(Offset.zero));
+      expect(buttonBoxCenter.dy, equals(itemBoxCenter.dy));
     }
 
     // The two RenderParagraph objects, for the 'two' items' Text children,
@@ -292,7 +292,7 @@
 
     // A Dropdown button with a null value should be the same size as a
     // one with a non-null value.
-    expect(buttonBox.localToGlobal(Point.origin), equals(buttonBoxNullValue.localToGlobal(Point.origin)));
+    expect(buttonBox.localToGlobal(Offset.zero), equals(buttonBoxNullValue.localToGlobal(Offset.zero)));
     expect(buttonBox.size, equals(buttonBoxNullValue.size));
   });
 
@@ -344,7 +344,7 @@
 
     // A Dropdown button with a null value and a hint should be the same size as a
     // one with a non-null value.
-    expect(buttonBox.localToGlobal(Point.origin), equals(buttonBoxHintValue.localToGlobal(Point.origin)));
+    expect(buttonBox.localToGlobal(Offset.zero), equals(buttonBoxHintValue.localToGlobal(Offset.zero)));
     expect(buttonBox.size, equals(buttonBoxHintValue.size));
   });
 
diff --git a/packages/flutter/test/material/flexible_space_bar_test.dart b/packages/flutter/test/material/flexible_space_bar_test.dart
index b705d13..7b6595f 100644
--- a/packages/flutter/test/material/flexible_space_bar_test.dart
+++ b/packages/flutter/test/material/flexible_space_bar_test.dart
@@ -21,9 +21,9 @@
     );
 
     final Finder title = find.text('X');
-    Point center = tester.getCenter(title);
+    Offset center = tester.getCenter(title);
     Size size = tester.getSize(title);
-    expect(center.x, lessThan(400 - size.width / 2.0));
+    expect(center.dx, lessThan(400.0 - size.width / 2.0));
 
     // Clear the widget tree to avoid animating between Android and iOS.
     await tester.pumpWidget(new Container(key: new UniqueKey()));
@@ -43,7 +43,7 @@
 
     center = tester.getCenter(title);
     size = tester.getSize(title);
-    expect(center.x, greaterThan(400 - size.width / 2.0));
-    expect(center.x, lessThan(400 + size.width / 2.0));
+    expect(center.dx, greaterThan(400.0 - size.width / 2.0));
+    expect(center.dx, lessThan(400.0 + size.width / 2.0));
   });
 }
diff --git a/packages/flutter/test/material/grid_title_test.dart b/packages/flutter/test/material/grid_title_test.dart
index b64b7e4..5592d7a 100644
--- a/packages/flutter/test/material/grid_title_test.dart
+++ b/packages/flutter/test/material/grid_title_test.dart
@@ -33,8 +33,8 @@
     expect(find.text('Header'), findsOneWidget);
     expect(find.text('Footer'), findsOneWidget);
 
-    expect(tester.getBottomLeft(find.byKey(headerKey)).y,
-           lessThan(tester.getTopLeft(find.byKey(footerKey)).y));
+    expect(tester.getBottomLeft(find.byKey(headerKey)).dy,
+           lessThan(tester.getTopLeft(find.byKey(footerKey)).dy));
 
     await tester.pumpWidget(new GridTile(child: const Text('Simple')));
 
diff --git a/packages/flutter/test/material/ink_paint_test.dart b/packages/flutter/test/material/ink_paint_test.dart
index 9b7f4e2..776908b 100644
--- a/packages/flutter/test/material/ink_paint_test.dart
+++ b/packages/flutter/test/material/ink_paint_test.dart
@@ -31,7 +31,7 @@
       ),
     );
 
-    final Point center = tester.getCenter(find.byType(InkWell));
+    final Offset center = tester.getCenter(find.byType(InkWell));
     final TestGesture gesture = await tester.startGesture(center);
     await tester.pump(); // start gesture
     await tester.pump(const Duration(milliseconds: 200)); // wait for splash to be well under way
diff --git a/packages/flutter/test/material/list_tile_test.dart b/packages/flutter/test/material/list_tile_test.dart
index 5bebac3..3ea3c75 100644
--- a/packages/flutter/test/material/list_tile_test.dart
+++ b/packages/flutter/test/material/list_tile_test.dart
@@ -73,10 +73,10 @@
       expect(find.text('trailing'), findsOneWidget);
     }
 
-    double left(String text) => tester.getTopLeft(find.text(text)).x;
-    double right(String text) => tester.getTopRight(find.text(text)).x;
-    double top(String text) => tester.getTopLeft(find.text(text)).y;
-    double bottom(String text) => tester.getBottomLeft(find.text(text)).y;
+    double left(String text) => tester.getTopLeft(find.text(text)).dx;
+    double right(String text) => tester.getTopRight(find.text(text)).dx;
+    double top(String text) => tester.getTopLeft(find.text(text)).dy;
+    double bottom(String text) => tester.getBottomLeft(find.text(text)).dy;
 
     // 16.0 padding to the left and right of the leading and trailing widgets
     void testHorizontalGeometry() {
diff --git a/packages/flutter/test/material/material_test.dart b/packages/flutter/test/material/material_test.dart
index d05ef13..7fa5dcb 100644
--- a/packages/flutter/test/material/material_test.dart
+++ b/packages/flutter/test/material/material_test.dart
@@ -42,7 +42,7 @@
   void paint(Canvas canvas, Size size) {
     log.add(size);
     final Paint paint = new Paint()..color = const Color(0xFF0000FF);
-    canvas.drawRect(Point.origin & size, paint);
+    canvas.drawRect(Offset.zero & size, paint);
   }
 
   @override
diff --git a/packages/flutter/test/material/modal_bottom_sheet_test.dart b/packages/flutter/test/material/modal_bottom_sheet_test.dart
index 7f12d2e..5147c70 100644
--- a/packages/flutter/test/material/modal_bottom_sheet_test.dart
+++ b/packages/flutter/test/material/modal_bottom_sheet_test.dart
@@ -58,7 +58,7 @@
     expect(showBottomSheetThenCalled, isFalse);
 
     // Tap above the the bottom sheet to dismiss it
-    await tester.tapAt(const Point(20.0, 20.0));
+    await tester.tapAt(const Offset(20.0, 20.0));
     await tester.pump(); // bottom sheet dismiss animation starts
     expect(showBottomSheetThenCalled, isTrue);
     await tester.pump(const Duration(seconds: 1)); // animation done
diff --git a/packages/flutter/test/material/page_test.dart b/packages/flutter/test/material/page_test.dart
index 26ad665..055e856 100644
--- a/packages/flutter/test/material/page_test.dart
+++ b/packages/flutter/test/material/page_test.dart
@@ -19,22 +19,22 @@
       )
     );
 
-    final Point widget1TopLeft = tester.getTopLeft(find.text('Page 1'));
+    final Offset widget1TopLeft = tester.getTopLeft(find.text('Page 1'));
 
     tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next');
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 1));
 
     Opacity widget2Opacity = tester.element(find.text('Page 2')).ancestorWidgetOfExactType(Opacity);
-    Point widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
+    Offset widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
     final Size widget2Size = tester.getSize(find.text('Page 2'));
 
     // Android transition is vertical only.
-    expect(widget1TopLeft.x == widget2TopLeft.x, true);
+    expect(widget1TopLeft.dx == widget2TopLeft.dx, true);
     // Page 1 is above page 2 mid-transition.
-    expect(widget1TopLeft.y < widget2TopLeft.y, true);
+    expect(widget1TopLeft.dy < widget2TopLeft.dy, true);
     // Animation begins 3/4 of the way up the page.
-    expect(widget2TopLeft.y < widget2Size.height / 4.0, true);
+    expect(widget2TopLeft.dy < widget2Size.height / 4.0, true);
     // Animation starts with page 2 being near transparent.
     expect(widget2Opacity.opacity < 0.01, true);
 
@@ -52,7 +52,7 @@
     widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
 
     // Page 2 starts to move down.
-    expect(widget1TopLeft.y < widget2TopLeft.y, true);
+    expect(widget1TopLeft.dy < widget2TopLeft.dy, true);
     // Page 2 starts to lose opacity.
     expect(widget2Opacity.opacity < 1.0, true);
 
@@ -75,23 +75,23 @@
       )
     );
 
-    final Point widget1InitialTopLeft = tester.getTopLeft(find.text('Page 1'));
+    final Offset widget1InitialTopLeft = tester.getTopLeft(find.text('Page 1'));
 
     tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next');
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 100));
 
-    Point widget1TransientTopLeft = tester.getTopLeft(find.text('Page 1'));
-    Point widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
+    Offset widget1TransientTopLeft = tester.getTopLeft(find.text('Page 1'));
+    Offset widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
 
     // Page 1 is moving to the left.
-    expect(widget1TransientTopLeft.x < widget1InitialTopLeft.x, true);
+    expect(widget1TransientTopLeft.dx < widget1InitialTopLeft.dx, true);
     // Page 1 isn't moving vertically.
-    expect(widget1TransientTopLeft.y == widget1InitialTopLeft.y, true);
+    expect(widget1TransientTopLeft.dy == widget1InitialTopLeft.dy, true);
     // iOS transition is horizontal only.
-    expect(widget1InitialTopLeft.y == widget2TopLeft.y, true);
+    expect(widget1InitialTopLeft.dy == widget2TopLeft.dy, true);
     // Page 2 is coming in from the right.
-    expect(widget2TopLeft.x > widget1InitialTopLeft.x, true);
+    expect(widget2TopLeft.dx > widget1InitialTopLeft.dx, true);
 
     await tester.pumpAndSettle();
 
@@ -107,13 +107,13 @@
     widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
 
     // Page 1 is coming back from the left.
-    expect(widget1TransientTopLeft.x < widget1InitialTopLeft.x, true);
+    expect(widget1TransientTopLeft.dx < widget1InitialTopLeft.dx, true);
     // Page 1 isn't moving vertically.
-    expect(widget1TransientTopLeft.y == widget1InitialTopLeft.y, true);
+    expect(widget1TransientTopLeft.dy == widget1InitialTopLeft.dy, true);
     // iOS transition is horizontal only.
-    expect(widget1InitialTopLeft.y == widget2TopLeft.y, true);
+    expect(widget1InitialTopLeft.dy == widget2TopLeft.dy, true);
     // Page 2 is leaving towards the right.
-    expect(widget2TopLeft.x > widget1InitialTopLeft.x, true);
+    expect(widget2TopLeft.dx > widget1InitialTopLeft.dx, true);
 
     await tester.pumpAndSettle();
 
@@ -134,7 +134,7 @@
       )
     );
 
-    final Point widget1InitialTopLeft = tester.getTopLeft(find.text('Page 1'));
+    final Offset widget1InitialTopLeft = tester.getTopLeft(find.text('Page 1'));
 
     tester.state<NavigatorState>(find.byType(Navigator)).push(new MaterialPageRoute<Null>(
       builder: (BuildContext context) {
@@ -146,15 +146,15 @@
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 100));
 
-    Point widget1TransientTopLeft = tester.getTopLeft(find.text('Page 1'));
-    Point widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
+    Offset widget1TransientTopLeft = tester.getTopLeft(find.text('Page 1'));
+    Offset widget2TopLeft = tester.getTopLeft(find.text('Page 2'));
 
     // Page 1 doesn't move.
     expect(widget1TransientTopLeft == widget1InitialTopLeft, true);
     // Fullscreen dialogs transitions vertically only.
-    expect(widget1InitialTopLeft.x == widget2TopLeft.x, true);
+    expect(widget1InitialTopLeft.dx == widget2TopLeft.dx, true);
     // Page 2 is coming in from the bottom.
-    expect(widget2TopLeft.y > widget1InitialTopLeft.y, true);
+    expect(widget2TopLeft.dy > widget1InitialTopLeft.dy, true);
 
     await tester.pumpAndSettle();
 
@@ -172,9 +172,9 @@
     // Page 1 doesn't move.
     expect(widget1TransientTopLeft == widget1InitialTopLeft, true);
     // Fullscreen dialogs transitions vertically only.
-    expect(widget1InitialTopLeft.x == widget2TopLeft.x, true);
+    expect(widget1InitialTopLeft.dx == widget2TopLeft.dx, true);
     // Page 2 is leaving towards the bottom.
-    expect(widget2TopLeft.y > widget1InitialTopLeft.y, true);
+    expect(widget2TopLeft.dy > widget1InitialTopLeft.dy, true);
 
     await tester.pumpAndSettle();
 
@@ -207,7 +207,7 @@
     expect(find.text('Page 2'), isOnstage);
 
     // Drag from left edge to invoke the gesture.
-    final TestGesture gesture = await tester.startGesture(const Point(5.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(5.0, 100.0));
     await gesture.moveBy(const Offset(400.0, 0.0));
     await tester.pump();
 
@@ -215,7 +215,7 @@
     expect(find.text('Page 2'), isOnstage);
 
     // Page 2 didn't move
-    expect(tester.getTopLeft(find.text('Page 2')), Point.origin);
+    expect(tester.getTopLeft(find.text('Page 2')), Offset.zero);
   });
 
   testWidgets('test back gesture on iOS', (WidgetTester tester) async {
@@ -238,7 +238,7 @@
     expect(find.text('Page 2'), isOnstage);
 
     // Drag from left edge to invoke the gesture.
-    final TestGesture gesture = await tester.startGesture(const Point(5.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(5.0, 100.0));
     await gesture.moveBy(const Offset(400.0, 0.0));
     await tester.pump();
 
@@ -247,17 +247,17 @@
     expect(find.text('Page 2'), isOnstage);
 
     // The route widget position needs to track the finger position very exactly.
-    expect(tester.getTopLeft(find.text('Page 2')), const Point(400.0, 0.0));
+    expect(tester.getTopLeft(find.text('Page 2')), const Offset(400.0, 0.0));
 
     await gesture.moveBy(const Offset(-200.0, 0.0));
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('Page 2')), const Point(200.0, 0.0));
+    expect(tester.getTopLeft(find.text('Page 2')), const Offset(200.0, 0.0));
 
     await gesture.moveBy(const Offset(-100.0, 200.0));
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('Page 2')), const Point(100.0, 0.0));
+    expect(tester.getTopLeft(find.text('Page 2')), const Offset(100.0, 0.0));
   });
 
   testWidgets('test no back gesture on iOS fullscreen dialogs', (WidgetTester tester) async {
@@ -280,7 +280,7 @@
     expect(find.text('Page 2'), isOnstage);
 
     // Drag from left edge to invoke the gesture.
-    final TestGesture gesture = await tester.startGesture(const Point(5.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(5.0, 100.0));
     await gesture.moveBy(const Offset(400.0, 0.0));
     await tester.pump();
 
@@ -288,6 +288,6 @@
     expect(find.text('Page 2'), isOnstage);
 
     // Page 2 didn't move
-    expect(tester.getTopLeft(find.text('Page 2')), Point.origin);
+    expect(tester.getTopLeft(find.text('Page 2')), Offset.zero);
   });
 }
diff --git a/packages/flutter/test/material/refresh_indicator_test.dart b/packages/flutter/test/material/refresh_indicator_test.dart
index 819ad01..32abf9f 100644
--- a/packages/flutter/test/material/refresh_indicator_test.dart
+++ b/packages/flutter/test/material/refresh_indicator_test.dart
@@ -92,7 +92,7 @@
     await tester.pump();
     await tester.pump(const Duration(seconds: 1));
     await tester.pump(const Duration(seconds: 1));
-    expect(tester.getCenter(find.byType(RefreshProgressIndicator)).y, lessThan(300.0));
+    expect(tester.getCenter(find.byType(RefreshProgressIndicator)).dy, lessThan(300.0));
   });
 
   testWidgets('RefreshIndicator - bottom - position', (WidgetTester tester) async {
@@ -117,7 +117,7 @@
     await tester.pump();
     await tester.pump(const Duration(seconds: 1));
     await tester.pump(const Duration(seconds: 1));
-    expect(tester.getCenter(find.byType(RefreshProgressIndicator)).y, greaterThan(300.0));
+    expect(tester.getCenter(find.byType(RefreshProgressIndicator)).dy, greaterThan(300.0));
   });
 
   testWidgets('RefreshIndicator - no movement', (WidgetTester tester) async {
diff --git a/packages/flutter/test/material/scaffold_test.dart b/packages/flutter/test/material/scaffold_test.dart
index fe6a42a..de4b512 100644
--- a/packages/flutter/test/material/scaffold_test.dart
+++ b/packages/flutter/test/material/scaffold_test.dart
@@ -204,7 +204,7 @@
     final ScrollableState scrollable = tester.state(find.byType(Scrollable));
     scrollable.position.jumpTo(500.0);
     expect(scrollable.position.pixels, equals(500.0));
-    await tester.tapAt(const Point(100.0, 10.0));
+    await tester.tapAt(const Offset(100.0, 10.0));
     await tester.pumpAndSettle();
     expect(scrollable.position.pixels, equals(0.0));
   });
@@ -214,7 +214,7 @@
     final ScrollableState scrollable = tester.state(find.byType(Scrollable));
     scrollable.position.jumpTo(500.0);
     expect(scrollable.position.pixels, equals(500.0));
-    await tester.tapAt(const Point(100.0, 10.0));
+    await tester.tapAt(const Offset(100.0, 10.0));
     await tester.pump();
     await tester.pump(const Duration(seconds: 1));
     expect(scrollable.position.pixels, equals(500.0));
@@ -256,8 +256,8 @@
     final RenderBox appBarBox = tester.renderObject(find.byType(AppBar));
     final RenderBox sheetBox = tester.renderObject(find.byKey(sheetKey));
 
-    final Point appBarBottomRight = appBarBox.localToGlobal(appBarBox.size.bottomRight(Point.origin));
-    final Point sheetTopRight = sheetBox.localToGlobal(sheetBox.size.topRight(Point.origin));
+    final Offset appBarBottomRight = appBarBox.localToGlobal(appBarBox.size.bottomRight(Offset.zero));
+    final Offset sheetTopRight = sheetBox.localToGlobal(sheetBox.size.topRight(Offset.zero));
 
     expect(appBarBottomRight, equals(sheetTopRight));
   });
@@ -372,7 +372,7 @@
         new Scaffold(body: new Container(key: testKey))
       );
       expect(tester.element(find.byKey(testKey)).size, const Size(800.0, 600.0));
-      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Point.origin), const Point(0.0, 0.0));
+      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Offset.zero), const Offset(0.0, 0.0));
     });
 
     testWidgets('body size with sized container', (WidgetTester tester) async {
@@ -381,7 +381,7 @@
         new Scaffold(body: new Container(key: testKey, height: 100.0))
       );
       expect(tester.element(find.byKey(testKey)).size, const Size(800.0, 100.0));
-      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Point.origin), const Point(0.0, 0.0));
+      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Offset.zero), const Offset(0.0, 0.0));
     });
 
     testWidgets('body size with centered container', (WidgetTester tester) async {
@@ -390,7 +390,7 @@
         new Scaffold(body: new Center(child: new Container(key: testKey)))
       );
       expect(tester.element(find.byKey(testKey)).size, const Size(800.0, 600.0));
-      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Point.origin), const Point(0.0, 0.0));
+      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Offset.zero), const Offset(0.0, 0.0));
     });
 
     testWidgets('body size with button', (WidgetTester tester) async {
@@ -399,7 +399,7 @@
         new Scaffold(body: new FlatButton(key: testKey, onPressed: () { }, child: const Text('')))
       );
       expect(tester.element(find.byKey(testKey)).size, const Size(88.0, 36.0));
-      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Point.origin), const Point(0.0, 0.0));
+      expect(tester.renderObject<RenderBox>(find.byKey(testKey)).localToGlobal(Offset.zero), const Offset(0.0, 0.0));
     });
   });
 }
diff --git a/packages/flutter/test/material/slider_test.dart b/packages/flutter/test/material/slider_test.dart
index 5a93f49..163e57b 100644
--- a/packages/flutter/test/material/slider_test.dart
+++ b/packages/flutter/test/material/slider_test.dart
@@ -147,7 +147,7 @@
       ),
     ));
 
-    final Point center = tester.getCenter(find.byType(Slider));
+    final Offset center = tester.getCenter(find.byType(Slider));
     final TestGesture gesture = await tester.startGesture(center);
 
     expect(value, equals(0.5));
diff --git a/packages/flutter/test/material/snack_bar_test.dart b/packages/flutter/test/material/snack_bar_test.dart
index 195997a..78ced10 100644
--- a/packages/flutter/test/material/snack_bar_test.dart
+++ b/packages/flutter/test/material/snack_bar_test.dart
@@ -323,16 +323,16 @@
     final RenderBox actionTextBox = tester.firstRenderObject(find.text('ACTION'));
     final RenderBox snackBarBox = tester.firstRenderObject(find.byType(SnackBar));
 
-    final Point textBottomLeft = textBox.localToGlobal(textBox.size.bottomLeft(Point.origin));
-    final Point textBottomRight = textBox.localToGlobal(textBox.size.bottomRight(Point.origin));
-    final Point actionTextBottomLeft = actionTextBox.localToGlobal(actionTextBox.size.bottomLeft(Point.origin));
-    final Point actionTextBottomRight = actionTextBox.localToGlobal(actionTextBox.size.bottomRight(Point.origin));
-    final Point snackBarBottomLeft = snackBarBox.localToGlobal(snackBarBox.size.bottomLeft(Point.origin));
-    final Point snackBarBottomRight = snackBarBox.localToGlobal(snackBarBox.size.bottomRight(Point.origin));
+    final Offset textBottomLeft = textBox.localToGlobal(textBox.size.bottomLeft(Offset.zero));
+    final Offset textBottomRight = textBox.localToGlobal(textBox.size.bottomRight(Offset.zero));
+    final Offset actionTextBottomLeft = actionTextBox.localToGlobal(actionTextBox.size.bottomLeft(Offset.zero));
+    final Offset actionTextBottomRight = actionTextBox.localToGlobal(actionTextBox.size.bottomRight(Offset.zero));
+    final Offset snackBarBottomLeft = snackBarBox.localToGlobal(snackBarBox.size.bottomLeft(Offset.zero));
+    final Offset snackBarBottomRight = snackBarBox.localToGlobal(snackBarBox.size.bottomRight(Offset.zero));
 
-    expect(textBottomLeft.x - snackBarBottomLeft.x, 24.0);
-    expect(actionTextBottomLeft.x - textBottomRight.x, 24.0);
-    expect(snackBarBottomRight.x - actionTextBottomRight.x, 24.0);
+    expect(textBottomLeft.dx - snackBarBottomLeft.dx, 24.0);
+    expect(actionTextBottomLeft.dx - textBottomRight.dx, 24.0);
+    expect(snackBarBottomRight.dx - actionTextBottomRight.dx, 24.0);
   });
 
   testWidgets('SnackBarClosedReason', (WidgetTester tester) async {
diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart
index ea27c9a..d666f9a 100644
--- a/packages/flutter/test/material/tabs_test.dart
+++ b/packages/flutter/test/material/tabs_test.dart
@@ -195,13 +195,13 @@
 
     expect(tester.getSize(find.byKey(tabBarKey)).width, equals(800.0));
     // The center of the FFFFFF item is to the right of the TabBar's center
-    expect(tester.getCenter(find.text('FFFFFF')).x, greaterThan(401.0));
+    expect(tester.getCenter(find.text('FFFFFF')).dx, greaterThan(401.0));
 
     await tester.tap(find.text('FFFFFF'));
     await tester.pumpAndSettle();
     expect(controller.index, 5);
     // The center of the FFFFFF item is now at the TabBar's center
-    expect(tester.getCenter(find.text('FFFFFF')).x, closeTo(400.0, 1.0));
+    expect(tester.getCenter(find.text('FFFFFF')).dx, closeTo(400.0, 1.0));
   });
 
 
@@ -214,11 +214,11 @@
     expect(controller.index, 0);
 
     // Fling-scroll the TabBar to the left
-    expect(tester.getCenter(find.text('HHHH')).x, lessThan(700.0));
+    expect(tester.getCenter(find.text('HHHH')).dx, lessThan(700.0));
     await tester.fling(find.byKey(tabBarKey), const Offset(-200.0, 0.0), 10000.0);
     await tester.pump();
     await tester.pump(const Duration(seconds: 1)); // finish the scroll animation
-    expect(tester.getCenter(find.text('HHHH')).x, lessThan(500.0));
+    expect(tester.getCenter(find.text('HHHH')).dx, lessThan(500.0));
 
     // Scrolling the TabBar doesn't change the selection
     expect(controller.index, 0);
@@ -310,7 +310,7 @@
     expect(controller.index, 0);
 
     // Fling to the left, switch from the 'LEFT' tab to the 'RIGHT'
-    Point flingStart = tester.getCenter(find.text('LEFT CHILD'));
+    Offset flingStart = tester.getCenter(find.text('LEFT CHILD'));
     await tester.flingFrom(flingStart, const Offset(-200.0, 0.0), 10000.0);
     await tester.pumpAndSettle();
     expect(controller.index, 1);
@@ -338,7 +338,7 @@
     final TabController controller = DefaultTabController.of(tester.element(find.text('LEFT')));
     expect(controller.index, 0);
 
-    final Point flingStart = tester.getCenter(find.text('LEFT CHILD'));
+    final Offset flingStart = tester.getCenter(find.text('LEFT CHILD'));
     await tester.flingFrom(flingStart, const Offset(200.0, 0.0), 10000.0);
     await tester.pump();
     await tester.pump(const Duration(seconds: 1)); // finish the scroll animation
@@ -359,7 +359,7 @@
     final TabController controller = DefaultTabController.of(tester.element(find.text('LEFT')));
     expect(controller.index, 0);
 
-    final Point flingStart = tester.getCenter(find.text('LEFT CHILD'));
+    final Offset flingStart = tester.getCenter(find.text('LEFT CHILD'));
     await tester.flingFrom(flingStart, const Offset(-200.0, 0.0), 10000.0);
     await tester.pump();
     // this is similar to a test above, but that one does many more pumps
@@ -382,7 +382,7 @@
     final TabController controller = DefaultTabController.of(tester.element(find.text('LEFT')));
     expect(controller.index, 0);
 
-    final Point flingStart = tester.getCenter(find.text('LEFT CHILD'));
+    final Offset flingStart = tester.getCenter(find.text('LEFT CHILD'));
     final TestGesture gesture = await tester.startGesture(flingStart);
     for (int index = 0; index > 50; index += 1) {
       await gesture.moveBy(const Offset(-10.0, 0.0));
@@ -440,7 +440,7 @@
     await tester.pump();
     await tester.pump(const Duration(seconds: 1)); // finish the scroll animation
     final RenderBox box = tester.renderObject(find.text('BBBBBB'));
-    expect(box.localToGlobal(Point.origin).x, greaterThan(0.0));
+    expect(box.localToGlobal(Offset.zero).dx, greaterThan(0.0));
   });
 
   testWidgets('TabController change notification', (WidgetTester tester) async {
@@ -465,12 +465,12 @@
     await tester.pumpAndSettle();
     expect(value, 'LEFT');
 
-    final Point leftFlingStart = tester.getCenter(find.text('LEFT CHILD'));
+    final Offset leftFlingStart = tester.getCenter(find.text('LEFT CHILD'));
     await tester.flingFrom(leftFlingStart, const Offset(-200.0, 0.0), 10000.0);
     await tester.pumpAndSettle();
     expect(value, 'RIGHT');
 
-    final Point rightFlingStart = tester.getCenter(find.text('RIGHT CHILD'));
+    final Offset rightFlingStart = tester.getCenter(find.text('RIGHT CHILD'));
     await tester.flingFrom(rightFlingStart, const Offset(200.0, 0.0), 10000.0);
     await tester.pumpAndSettle();
     expect(value, 'LEFT');
@@ -593,7 +593,7 @@
     await tester.pumpWidget(buildLeftRightApp(tabs: tabs, value: 'LEFT'));
 
     // Fling to the left, switch from the 'LEFT' tab to the 'RIGHT'
-    final Point flingStart = tester.getCenter(find.text('LEFT CHILD'));
+    final Offset flingStart = tester.getCenter(find.text('LEFT CHILD'));
     await tester.flingFrom(flingStart, const Offset(-200.0, 0.0), 10000.0);
     await tester.pump();
     await tester.pump(const Duration(seconds: 1)); // finish the scroll animation
@@ -653,7 +653,7 @@
 
     expect(controller.index, equals(0));
 
-    TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     expect(controller.index, equals(0));
 
     // Drag to the left and right, by less than the TabBarView's width.
@@ -674,7 +674,7 @@
     expect(find.text('First'), findsNothing);
     expect(find.text('Second'), findsOneWidget);
 
-    gesture = await tester.startGesture(const Point(100.0, 100.0));
+    gesture = await tester.startGesture(const Offset(100.0, 100.0));
     expect(controller.index, equals(1));
 
     // Drag to the left and right, by less than the TabBarView's width.
diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart
index 7ae0e72..106768c 100644
--- a/packages/flutter/test/material/text_field_test.dart
+++ b/packages/flutter/test/material/text_field_test.dart
@@ -65,7 +65,7 @@
     return renderEditable;
   }
 
-  Point textOffsetToPosition(WidgetTester tester, int offset) {
+  Offset textOffsetToPosition(WidgetTester tester, int offset) {
     final RenderEditable renderEditable = findRenderEditable(tester);
     final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(
       new TextSelection.collapsed(offset: offset),
@@ -217,7 +217,7 @@
 
     // Tap to reposition the caret.
     final int tapIndex = testValue.indexOf('e');
-    final Point ePos = textOffsetToPosition(tester, tapIndex);
+    final Offset ePos = textOffsetToPosition(tester, tapIndex);
     await tester.tapAt(ePos);
     await tester.pump();
 
@@ -257,7 +257,7 @@
     expect(controller.selection.isCollapsed, true);
 
     // Long press the 'e' to select 'def'.
-    final Point ePos = textOffsetToPosition(tester, testValue.indexOf('e'));
+    final Offset ePos = textOffsetToPosition(tester, testValue.indexOf('e'));
     final TestGesture gesture = await tester.startGesture(ePos, pointer: 7);
     await tester.pump(const Duration(seconds: 2));
     await gesture.up();
@@ -289,7 +289,7 @@
     await tester.pumpWidget(builder());
 
     // Long press the 'e' to select 'def'.
-    final Point ePos = textOffsetToPosition(tester, testValue.indexOf('e'));
+    final Offset ePos = textOffsetToPosition(tester, testValue.indexOf('e'));
     TestGesture gesture = await tester.startGesture(ePos, pointer: 7);
     await tester.pump(const Duration(seconds: 2));
     await gesture.up();
@@ -298,15 +298,14 @@
     final TextSelection selection = controller.selection;
 
     final RenderEditable renderEditable = findRenderEditable(tester);
-    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(
-        selection);
+    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(selection);
     expect(endpoints.length, 2);
 
     // Drag the right handle 2 letters to the right.
     // Note: use a small offset because the endpoint is on the very corner
     // of the handle.
-    Point handlePos = endpoints[1].point + const Offset(1.0, 1.0);
-    Point newHandlePos = textOffsetToPosition(tester, selection.extentOffset+2);
+    Offset handlePos = endpoints[1].point + const Offset(1.0, 1.0);
+    Offset newHandlePos = textOffsetToPosition(tester, selection.extentOffset+2);
     gesture = await tester.startGesture(handlePos, pointer: 7);
     await tester.pump();
     await gesture.moveTo(newHandlePos);
@@ -354,8 +353,7 @@
     await tester.tapAt(textOffsetToPosition(tester, testValue.indexOf('e')));
     await tester.pumpWidget(builder());
     RenderEditable renderEditable = findRenderEditable(tester);
-    List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(
-        controller.selection);
+    List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(controller.selection);
     await tester.tapAt(endpoints[0].point + const Offset(1.0, 1.0));
     await tester.pumpWidget(builder());
 
@@ -407,8 +405,7 @@
     await tester.tapAt(textOffsetToPosition(tester, testValue.indexOf('e')));
     await tester.pumpWidget(builder());
     final RenderEditable renderEditable = findRenderEditable(tester);
-    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(
-        controller.selection);
+    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(controller.selection);
     await tester.tapAt(endpoints[0].point + const Offset(1.0, 1.0));
     await tester.pumpWidget(builder());
 
@@ -501,16 +498,16 @@
     await tester.pumpWidget(builder());
 
     // Check that the text spans multiple lines.
-    final Point firstPos = textOffsetToPosition(tester, testValue.indexOf('First'));
-    final Point secondPos = textOffsetToPosition(tester, testValue.indexOf('Second'));
-    final Point thirdPos = textOffsetToPosition(tester, testValue.indexOf('Third'));
-    expect(firstPos.x, secondPos.x);
-    expect(firstPos.x, thirdPos.x);
-    expect(firstPos.y, lessThan(secondPos.y));
-    expect(secondPos.y, lessThan(thirdPos.y));
+    final Offset firstPos = textOffsetToPosition(tester, testValue.indexOf('First'));
+    final Offset secondPos = textOffsetToPosition(tester, testValue.indexOf('Second'));
+    final Offset thirdPos = textOffsetToPosition(tester, testValue.indexOf('Third'));
+    expect(firstPos.dx, secondPos.dx);
+    expect(firstPos.dx, thirdPos.dx);
+    expect(firstPos.dy, lessThan(secondPos.dy));
+    expect(secondPos.dy, lessThan(thirdPos.dy));
 
     // Long press the 'n' in 'until' to select the word.
-    final Point untilPos = textOffsetToPosition(tester, testValue.indexOf('until')+1);
+    final Offset untilPos = textOffsetToPosition(tester, testValue.indexOf('until')+1);
     TestGesture gesture = await tester.startGesture(untilPos, pointer: 7);
     await tester.pump(const Duration(seconds: 2));
     await gesture.up();
@@ -520,13 +517,12 @@
     expect(controller.selection.extentOffset, 44);
 
     final RenderEditable renderEditable = findRenderEditable(tester);
-    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(
-        controller.selection);
+    final List<TextSelectionPoint> endpoints = renderEditable.getEndpointsForSelection(controller.selection);
     expect(endpoints.length, 2);
 
     // Drag the right handle to the third line, just after 'Third'.
-    Point handlePos = endpoints[1].point + const Offset(1.0, 1.0);
-    Point newHandlePos = textOffsetToPosition(tester, testValue.indexOf('Third') + 5);
+    Offset handlePos = endpoints[1].point + const Offset(1.0, 1.0);
+    Offset newHandlePos = textOffsetToPosition(tester, testValue.indexOf('Third') + 5);
     gesture = await tester.startGesture(handlePos, pointer: 7);
     await tester.pump();
     await gesture.moveTo(newHandlePos);
@@ -585,10 +581,10 @@
     final RenderBox inputBox = findInputBox();
 
     // Check that the last line of text is not displayed.
-    final Point firstPos = textOffsetToPosition(tester, kFourLines.indexOf('First'));
-    final Point fourthPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth'));
-    expect(firstPos.x, fourthPos.x);
-    expect(firstPos.y, lessThan(fourthPos.y));
+    final Offset firstPos = textOffsetToPosition(tester, kFourLines.indexOf('First'));
+    final Offset fourthPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth'));
+    expect(firstPos.dx, fourthPos.dx);
+    expect(firstPos.dy, lessThan(fourthPos.dy));
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(firstPos)), isTrue);
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(fourthPos)), isFalse);
 
@@ -604,10 +600,10 @@
     await tester.pump();
 
     // Now the first line is scrolled up, and the fourth line is visible.
-    Point newFirstPos = textOffsetToPosition(tester, kFourLines.indexOf('First'));
-    Point newFourthPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth'));
+    Offset newFirstPos = textOffsetToPosition(tester, kFourLines.indexOf('First'));
+    Offset newFourthPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth'));
 
-    expect(newFirstPos.y, lessThan(firstPos.y));
+    expect(newFirstPos.dy, lessThan(firstPos.dy));
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(newFirstPos)), isFalse);
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(newFourthPos)), isTrue);
 
@@ -615,7 +611,7 @@
 
     // Long press the 'i' in 'Fourth line' to select the word.
     await tester.pump(const Duration(seconds: 1));
-    final Point untilPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth line')+8);
+    final Offset untilPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth line')+8);
     gesture = await tester.startGesture(untilPos, pointer: 7);
     await tester.pump(const Duration(seconds: 1));
     await gesture.up();
@@ -626,8 +622,8 @@
     expect(endpoints.length, 2);
 
     // Drag the left handle to the first line, just after 'First'.
-    final Point handlePos = endpoints[0].point + const Offset(-1.0, 1.0);
-    final Point newHandlePos = textOffsetToPosition(tester, kFourLines.indexOf('First') + 5);
+    final Offset handlePos = endpoints[0].point + const Offset(-1.0, 1.0);
+    final Offset newHandlePos = textOffsetToPosition(tester, kFourLines.indexOf('First') + 5);
     gesture = await tester.startGesture(handlePos, pointer: 7);
     await tester.pump(const Duration(seconds: 1));
     await gesture.moveTo(newHandlePos + const Offset(0.0, -10.0));
@@ -639,7 +635,7 @@
     // cursor visible, back to its original position.
     newFirstPos = textOffsetToPosition(tester, kFourLines.indexOf('First'));
     newFourthPos = textOffsetToPosition(tester, kFourLines.indexOf('Fourth'));
-    expect(newFirstPos.y, firstPos.y);
+    expect(newFirstPos.dy, firstPos.dy);
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(newFirstPos)), isTrue);
     expect(inputBox.hitTest(new HitTestResult(), position: inputBox.globalToLocal(newFourthPos)), isFalse);
   });
@@ -795,7 +791,7 @@
 
     await tester.pumpWidget(builder());
 
-    Point pos = tester.getTopLeft(find.text('Second'));
+    Offset pos = tester.getTopLeft(find.text('Second'));
 
     // Focus the Input. The label should start animating upwards.
     await tester.tap(find.byKey(secondKey));
@@ -803,14 +799,14 @@
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 50));
 
-    Point newPos = tester.getTopLeft(find.text('Second'));
-    expect(newPos.y, lessThan(pos.y));
+    Offset newPos = tester.getTopLeft(find.text('Second'));
+    expect(newPos.dy, lessThan(pos.dy));
 
     // Label should still be sliding upward.
     await tester.pump(const Duration(milliseconds: 50));
     pos = newPos;
     newPos = tester.getTopLeft(find.text('Second'));
-    expect(newPos.y, lessThan(pos.y));
+    expect(newPos.dy, lessThan(pos.dy));
   });
 
   testWidgets('No space between Input icon and text', (WidgetTester tester) async {
@@ -827,9 +823,9 @@
       ),
     );
 
-    final double iconRight = tester.getTopRight(find.byType(Icon)).x;
-    expect(iconRight, equals(tester.getTopLeft(find.text('label')).x));
-    expect(iconRight, equals(tester.getTopLeft(find.byType(EditableText)).x));
+    final double iconRight = tester.getTopRight(find.byType(Icon)).dx;
+    expect(iconRight, equals(tester.getTopLeft(find.text('label')).dx));
+    expect(iconRight, equals(tester.getTopLeft(find.byType(EditableText)).dx));
   });
 
   testWidgets('Collapsed hint text placement', (WidgetTester tester) async {
@@ -864,20 +860,20 @@
     );
 
     final RenderEditable editable = findRenderEditable(tester);
-    Point topLeft = editable.localToGlobal(
-        editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft
+    Offset topLeft = editable.localToGlobal(
+      editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft,
     );
 
-    expect(topLeft.x, equals(399.0));
+    expect(topLeft.dx, equals(399.0));
 
     await tester.enterText(find.byType(EditableText), 'abcd');
     await tester.pump();
 
     topLeft = editable.localToGlobal(
-        editable.getLocalRectForCaret(const TextPosition(offset: 2)).topLeft
+      editable.getLocalRectForCaret(const TextPosition(offset: 2)).topLeft,
     );
 
-    expect(topLeft.x, equals(399.0));
+    expect(topLeft.dx, equals(399.0));
   });
 
   testWidgets('Can align to center within center', (WidgetTester tester) async {
@@ -898,20 +894,20 @@
     );
 
     final RenderEditable editable = findRenderEditable(tester);
-    Point topLeft = editable.localToGlobal(
-        editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft
+    Offset topLeft = editable.localToGlobal(
+      editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft,
     );
 
-    expect(topLeft.x, equals(399.0));
+    expect(topLeft.dx, equals(399.0));
 
     await tester.enterText(find.byType(EditableText), 'abcd');
     await tester.pump();
 
     topLeft = editable.localToGlobal(
-        editable.getLocalRectForCaret(const TextPosition(offset: 2)).topLeft
+      editable.getLocalRectForCaret(const TextPosition(offset: 2)).topLeft,
     );
 
-    expect(topLeft.x, equals(399.0));
+    expect(topLeft.dx, equals(399.0));
   });
 
   testWidgets('Controller can update server', (WidgetTester tester) async {
diff --git a/packages/flutter/test/material/time_picker_test.dart b/packages/flutter/test/material/time_picker_test.dart
index d1dd701..1d60422 100644
--- a/packages/flutter/test/material/time_picker_test.dart
+++ b/packages/flutter/test/material/time_picker_test.dart
@@ -35,7 +35,7 @@
   }
 }
 
-Future<Point> startPicker(WidgetTester tester, ValueChanged<TimeOfDay> onChanged) async {
+Future<Offset> startPicker(WidgetTester tester, ValueChanged<TimeOfDay> onChanged) async {
   await tester.pumpWidget(new _TimePickerLauncher(onChanged: onChanged));
   await tester.tap(find.text('X'));
   await tester.pumpAndSettle(const Duration(seconds: 1));
@@ -51,24 +51,24 @@
   testWidgets('tap-select an hour', (WidgetTester tester) async {
     TimeOfDay result;
 
-    Point center = await startPicker(tester, (TimeOfDay time) { result = time; });
-    await tester.tapAt(new Point(center.x, center.y - 50.0)); // 12:00 AM
+    Offset center = await startPicker(tester, (TimeOfDay time) { result = time; });
+    await tester.tapAt(new Offset(center.dx, center.dy - 50.0)); // 12:00 AM
     await finishPicker(tester);
     expect(result, equals(const TimeOfDay(hour: 0, minute: 0)));
 
     center = await startPicker(tester, (TimeOfDay time) { result = time; });
-    await tester.tapAt(new Point(center.x + 50.0, center.y));
+    await tester.tapAt(new Offset(center.dx + 50.0, center.dy));
     await finishPicker(tester);
     expect(result, equals(const TimeOfDay(hour: 3, minute: 0)));
 
     center = await startPicker(tester, (TimeOfDay time) { result = time; });
-    await tester.tapAt(new Point(center.x, center.y + 50.0));
+    await tester.tapAt(new Offset(center.dx, center.dy + 50.0));
     await finishPicker(tester);
     expect(result, equals(const TimeOfDay(hour: 6, minute: 0)));
 
     center = await startPicker(tester, (TimeOfDay time) { result = time; });
-    await tester.tapAt(new Point(center.x, center.y + 50.0));
-    await tester.tapAt(new Point(center.x - 50, center.y));
+    await tester.tapAt(new Offset(center.dx, center.dy + 50.0));
+    await tester.tapAt(new Offset(center.dx - 50, center.dy));
     await finishPicker(tester);
     expect(result, equals(const TimeOfDay(hour: 9, minute: 0)));
   });
@@ -76,11 +76,11 @@
   testWidgets('drag-select an hour', (WidgetTester tester) async {
     TimeOfDay result;
 
-    final Point center = await startPicker(tester, (TimeOfDay time) { result = time; });
-    final Point hour0 = new Point(center.x, center.y - 50.0); // 12:00 AM
-    final Point hour3 = new Point(center.x + 50.0, center.y);
-    final Point hour6 = new Point(center.x, center.y + 50.0);
-    final Point hour9 = new Point(center.x - 50.0, center.y);
+    final Offset center = await startPicker(tester, (TimeOfDay time) { result = time; });
+    final Offset hour0 = new Offset(center.dx, center.dy - 50.0); // 12:00 AM
+    final Offset hour3 = new Offset(center.dx + 50.0, center.dy);
+    final Offset hour6 = new Offset(center.dx, center.dy + 50.0);
+    final Offset hour9 = new Offset(center.dx - 50.0, center.dy);
 
     TestGesture gesture;
 
@@ -129,36 +129,36 @@
     });
 
     testWidgets('tap-select vibrates once', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      await tester.tapAt(new Point(center.x, center.y - 50.0));
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      await tester.tapAt(new Offset(center.dx, center.dy - 50.0));
       await finishPicker(tester);
       expect(hapticFeedbackCount, 1);
     });
 
     testWidgets('quick successive tap-selects vibrate once', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      await tester.tapAt(new Point(center.x, center.y - 50.0));
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      await tester.tapAt(new Offset(center.dx, center.dy - 50.0));
       await tester.pump(kFastFeedbackInterval);
-      await tester.tapAt(new Point(center.x, center.y + 50.0));
+      await tester.tapAt(new Offset(center.dx, center.dy + 50.0));
       await finishPicker(tester);
       expect(hapticFeedbackCount, 1);
     });
 
     testWidgets('slow successive tap-selects vibrate once per tap', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      await tester.tapAt(new Point(center.x, center.y - 50.0));
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      await tester.tapAt(new Offset(center.dx, center.dy - 50.0));
       await tester.pump(kSlowFeedbackInterval);
-      await tester.tapAt(new Point(center.x, center.y + 50.0));
+      await tester.tapAt(new Offset(center.dx, center.dy + 50.0));
       await tester.pump(kSlowFeedbackInterval);
-      await tester.tapAt(new Point(center.x, center.y - 50.0));
+      await tester.tapAt(new Offset(center.dx, center.dy - 50.0));
       await finishPicker(tester);
       expect(hapticFeedbackCount, 3);
     });
 
     testWidgets('drag-select vibrates once', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      final Point hour0 = new Point(center.x, center.y - 50.0);
-      final Point hour3 = new Point(center.x + 50.0, center.y);
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      final Offset hour0 = new Offset(center.dx, center.dy - 50.0);
+      final Offset hour3 = new Offset(center.dx + 50.0, center.dy);
 
       final TestGesture gesture = await tester.startGesture(hour3);
       await gesture.moveBy(hour0 - hour3);
@@ -168,9 +168,9 @@
     });
 
     testWidgets('quick drag-select vibrates once', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      final Point hour0 = new Point(center.x, center.y - 50.0);
-      final Point hour3 = new Point(center.x + 50.0, center.y);
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      final Offset hour0 = new Offset(center.dx, center.dy - 50.0);
+      final Offset hour3 = new Offset(center.dx + 50.0, center.dy);
 
       final TestGesture gesture = await tester.startGesture(hour3);
       await gesture.moveBy(hour0 - hour3);
@@ -184,9 +184,9 @@
     });
 
     testWidgets('slow drag-select vibrates once', (WidgetTester tester) async {
-      final Point center = await startPicker(tester, (TimeOfDay time) { });
-      final Point hour0 = new Point(center.x, center.y - 50.0);
-      final Point hour3 = new Point(center.x + 50.0, center.y);
+      final Offset center = await startPicker(tester, (TimeOfDay time) { });
+      final Offset hour0 = new Offset(center.dx, center.dy - 50.0);
+      final Offset hour3 = new Offset(center.dx + 50.0, center.dy);
 
       final TestGesture gesture = await tester.startGesture(hour3);
       await gesture.moveBy(hour0 - hour3);
diff --git a/packages/flutter/test/material/tooltip_test.dart b/packages/flutter/test/material/tooltip_test.dart
index 42bb7ec..f9d8485 100644
--- a/packages/flutter/test/material/tooltip_test.dart
+++ b/packages/flutter/test/material/tooltip_test.dart
@@ -74,11 +74,11 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent.parent.parent.parent.parent;
 
-    final Point tipInGlobal = tip.localToGlobal(tip.size.topCenter(Point.origin));
+    final Offset tipInGlobal = tip.localToGlobal(tip.size.topCenter(Offset.zero));
     // The exact position of the left side depends on the font the test framework
     // happens to pick, so we don't test that.
-    expect(tipInGlobal.x, 300.0);
-    expect(tipInGlobal.y, 20.0);
+    expect(tipInGlobal.dx, 300.0);
+    expect(tipInGlobal.dy, 20.0);
   });
 
   testWidgets('Does tooltip end up in the right place - top left', (WidgetTester tester) async {
@@ -127,7 +127,7 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent.parent.parent.parent.parent;
     expect(tip.size.height, equals(20.0)); // 10.0 height + 5.0 padding * 2 (top, bottom)
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)), equals(const Point(10.0, 20.0)));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)), equals(const Offset(10.0, 20.0)));
   });
 
   testWidgets('Does tooltip end up in the right place - center prefer above fits', (WidgetTester tester) async {
@@ -177,8 +177,8 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent;
     expect(tip.size.height, equals(100.0));
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)).y, equals(100.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).y, equals(200.0));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)).dy, equals(100.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dy, equals(200.0));
   });
 
   testWidgets('Does tooltip end up in the right place - center prefer above does not fit', (WidgetTester tester) async {
@@ -239,8 +239,8 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent;
     expect(tip.size.height, equals(190.0));
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)).y, equals(399.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).y, equals(589.0));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)).dy, equals(399.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dy, equals(589.0));
   });
 
   testWidgets('Does tooltip end up in the right place - center prefer below fits', (WidgetTester tester) async {
@@ -289,8 +289,8 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent;
     expect(tip.size.height, equals(190.0));
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)).y, equals(400.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).y, equals(590.0));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)).dy, equals(400.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dy, equals(590.0));
   });
 
   testWidgets('Does tooltip end up in the right place - way off to the right', (WidgetTester tester) async {
@@ -340,9 +340,9 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent;
     expect(tip.size.height, equals(10.0));
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)).y, equals(310.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).x, equals(790.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).y, equals(320.0));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)).dy, equals(310.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dx, equals(790.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dy, equals(320.0));
   });
 
   testWidgets('Does tooltip end up in the right place - near the edge', (WidgetTester tester) async {
@@ -392,9 +392,9 @@
 
     final RenderBox tip = tester.renderObject(find.text(tooltipText)).parent;
     expect(tip.size.height, equals(10.0));
-    expect(tip.localToGlobal(tip.size.topLeft(Point.origin)).y, equals(310.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).x, equals(790.0));
-    expect(tip.localToGlobal(tip.size.bottomRight(Point.origin)).y, equals(320.0));
+    expect(tip.localToGlobal(tip.size.topLeft(Offset.zero)).dy, equals(310.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dx, equals(790.0));
+    expect(tip.localToGlobal(tip.size.bottomRight(Offset.zero)).dy, equals(320.0));
   });
 
   testWidgets('Tooltip stays around', (WidgetTester tester) async {
@@ -497,7 +497,7 @@
     expect(find.text(tooltipText), findsOneWidget);
     await tester.pumpWidget(buildApp('NEW'));
     expect(find.text(tooltipText), findsOneWidget);
-    await tester.tapAt(const Point(5.0, 5.0));
+    await tester.tapAt(const Offset(5.0, 5.0));
     await tester.pump();
     await tester.pump(const Duration(seconds: 1));
     expect(find.text(tooltipText), findsNothing);
diff --git a/packages/flutter/test/material/two_level_list_test.dart b/packages/flutter/test/material/two_level_list_test.dart
index 0cad958..a9b8fb4 100644
--- a/packages/flutter/test/material/two_level_list_test.dart
+++ b/packages/flutter/test/material/two_level_list_test.dart
@@ -59,7 +59,7 @@
     expect(find.text('Sublist'), findsOneWidget);
     expect(find.text('Bottom'), findsOneWidget);
 
-    double getY(Key key) => tester.getTopLeft(find.byKey(key)).y;
+    double getY(Key key) => tester.getTopLeft(find.byKey(key)).dy;
     double getHeight(Key key) => tester.getSize(find.byKey(key)).height;
 
     expect(getY(topKey), lessThan(getY(sublistKey)));
diff --git a/packages/flutter/test/material/user_accounts_drawer_header_test.dart b/packages/flutter/test/material/user_accounts_drawer_header_test.dart
index 79008f2..bb5b5d2 100644
--- a/packages/flutter/test/material/user_accounts_drawer_header_test.dart
+++ b/packages/flutter/test/material/user_accounts_drawer_header_test.dart
@@ -63,18 +63,18 @@
     box = tester.renderObject(find.byType(UserAccountsDrawerHeader));
     expect(box.size.height, equals(160.0 + 8.0 + 1.0)); // height + bottom margin + bottom edge)
 
-    final Point topLeft = tester.getTopLeft(find.byType(UserAccountsDrawerHeader));
-    final Point topRight = tester.getTopRight(find.byType(UserAccountsDrawerHeader));
+    final Offset topLeft = tester.getTopLeft(find.byType(UserAccountsDrawerHeader));
+    final Offset topRight = tester.getTopRight(find.byType(UserAccountsDrawerHeader));
 
-    final Point avatarATopLeft = tester.getTopLeft(find.byKey(avatarA));
-    final Point avatarDTopRight = tester.getTopRight(find.byKey(avatarD));
-    final Point avatarCTopRight = tester.getTopRight(find.byKey(avatarC));
+    final Offset avatarATopLeft = tester.getTopLeft(find.byKey(avatarA));
+    final Offset avatarDTopRight = tester.getTopRight(find.byKey(avatarD));
+    final Offset avatarCTopRight = tester.getTopRight(find.byKey(avatarC));
 
-    expect(avatarATopLeft.x - topLeft.x, equals(16.0));
-    expect(avatarATopLeft.y - topLeft.y, equals(16.0));
-    expect(topRight.x - avatarDTopRight.x, equals(16.0));
-    expect(avatarDTopRight.y - topRight.y, equals(16.0));
-    expect(avatarDTopRight.x - avatarCTopRight.x, equals(40.0 + 16.0)); // size + space between
+    expect(avatarATopLeft.dx - topLeft.dx, equals(16.0));
+    expect(avatarATopLeft.dy - topLeft.dy, equals(16.0));
+    expect(topRight.dx - avatarDTopRight.dx, equals(16.0));
+    expect(avatarDTopRight.dy - topRight.dy, equals(16.0));
+    expect(avatarDTopRight.dx - avatarCTopRight.dx, equals(40.0 + 16.0)); // size + space between
   });
 
 
@@ -116,8 +116,8 @@
       onDetailsPressed: () { },
     ));
     expect(
-      tester.getCenter(find.text('accountName')).y,
-      tester.getCenter(find.byType(Icon)).y
+      tester.getCenter(find.text('accountName')).dy,
+      tester.getCenter(find.byType(Icon)).dy
     );
 
     await tester.pumpWidget(buildFrame(
@@ -125,8 +125,8 @@
       onDetailsPressed: () { },
     ));
     expect(
-      tester.getCenter(find.text('accountEmail')).y,
-      tester.getCenter(find.byType(Icon)).y
+      tester.getCenter(find.text('accountEmail')).dy,
+      tester.getCenter(find.byType(Icon)).dy
     );
 
     await tester.pumpWidget(buildFrame(
@@ -135,16 +135,16 @@
       onDetailsPressed: () { },
     ));
     expect(
-      tester.getCenter(find.text('accountEmail')).y,
-      tester.getCenter(find.byType(Icon)).y
+      tester.getCenter(find.text('accountEmail')).dy,
+      tester.getCenter(find.byType(Icon)).dy
     );
     expect(
-      tester.getBottomLeft(find.text('accountEmail')).y,
-      greaterThan(tester.getBottomLeft(find.text('accountName')).y)
+      tester.getBottomLeft(find.text('accountEmail')).dy,
+      greaterThan(tester.getBottomLeft(find.text('accountName')).dy)
     );
     expect(
-      tester.getBottomLeft(find.text('accountEmail')).x,
-      tester.getBottomLeft(find.text('accountName')).x
+      tester.getBottomLeft(find.text('accountEmail')).dx,
+      tester.getBottomLeft(find.text('accountName')).dx
     );
 
     await tester.pumpWidget(buildFrame(
@@ -163,12 +163,12 @@
       accountName: const Text('accountName'),
     ));
     expect(
-      tester.getBottomLeft(find.byKey(avatarA)).x,
-      tester.getBottomLeft(find.text('accountName')).x
+      tester.getBottomLeft(find.byKey(avatarA)).dx,
+      tester.getBottomLeft(find.text('accountName')).dx
     );
     expect(
-      tester.getBottomLeft(find.text('accountName')).y,
-      greaterThan(tester.getBottomLeft(find.byKey(avatarA)).y)
+      tester.getBottomLeft(find.text('accountName')).dy,
+      greaterThan(tester.getBottomLeft(find.byKey(avatarA)).dy)
     );
   });
 }
diff --git a/packages/flutter/test/rendering/mock_canvas.dart b/packages/flutter/test/rendering/mock_canvas.dart
index 4f65f02..5cf5079 100644
--- a/packages/flutter/test/rendering/mock_canvas.dart
+++ b/packages/flutter/test/rendering/mock_canvas.dart
@@ -549,15 +549,15 @@
   @override
   void verifyArguments(List<dynamic> arguments) {
     super.verifyArguments(arguments);
-    final Point pointArgument = arguments[0];
+    final Offset pointArgument = arguments[0];
     if (x != null && y != null) {
-      final Point point = new Point(x, y);
+      final Offset point = new Offset(x, y);
       if (point != pointArgument)
         throw 'called $methodName with a center coordinate, $pointArgument, which was not exactly the expected coordinate ($point).';
     } else {
-      if (x != null && pointArgument.x != x)
+      if (x != null && pointArgument.dx != x)
         throw 'called $methodName with a center coordinate, $pointArgument, whose x-coordinate not exactly the expected coordinate (${x.toStringAsFixed(1)}).';
-      if (y != null && pointArgument.y != y)
+      if (y != null && pointArgument.dy != y)
         throw 'called $methodName with a center coordinate, $pointArgument, whose y-coordinate not exactly the expected coordinate (${y.toStringAsFixed(1)}).';
     }
     final double radiusArgument = arguments[1];
@@ -569,7 +569,7 @@
   void debugFillDescription(List<String> description) {
     super.debugFillDescription(description);
     if (x != null && y != null) {
-      description.add('point ${new Point(x, y)}');
+      description.add('point ${new Offset(x, y)}');
     } else {
       if (x != null)
         description.add('x-coordinate ${x.toStringAsFixed(1)}');
diff --git a/packages/flutter/test/rendering/rendering_tester.dart b/packages/flutter/test/rendering/rendering_tester.dart
index f978ca0..cf41289 100644
--- a/packages/flutter/test/rendering/rendering_tester.dart
+++ b/packages/flutter/test/rendering/rendering_tester.dart
@@ -136,5 +136,5 @@
   void performLayout() { }
 
   @override
-  bool hitTestSelf(Point position) => true;
+  bool hitTestSelf(Offset position) => true;
 }
diff --git a/packages/flutter/test/rendering/slivers_block_test.dart b/packages/flutter/test/rendering/slivers_block_test.dart
index d508aaa..9c705f6 100644
--- a/packages/flutter/test/rendering/slivers_block_test.dart
+++ b/packages/flutter/test/rendering/slivers_block_test.dart
@@ -89,8 +89,8 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -98,8 +98,8 @@
     // make sure that layout is stable by laying out again
     inner.markNeedsLayout();
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -107,8 +107,8 @@
     // now try various scroll offsets
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -116,8 +116,8 @@
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
     expect(a.attached, false);
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
     expect(d.attached, false);
     expect(e.attached, false);
 
@@ -125,15 +125,15 @@
     pumpFrame();
     expect(a.attached, false);
     expect(b.attached, false);
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
     expect(e.attached, false);
 
     // try going back up
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -163,8 +163,8 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -172,8 +172,8 @@
     // make sure that layout is stable by laying out again
     inner.markNeedsLayout();
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -181,8 +181,8 @@
     // now try various scroll offsets
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
@@ -190,8 +190,8 @@
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
     expect(a.attached, false);
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
     expect(d.attached, false);
     expect(e.attached, false);
 
@@ -199,15 +199,15 @@
     pumpFrame();
     expect(a.attached, false);
     expect(b.attached, false);
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
     expect(e.attached, false);
 
     // try going back up
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
     expect(c.attached, false);
     expect(d.attached, false);
     expect(e.attached, false);
diff --git a/packages/flutter/test/rendering/slivers_layout_test.dart b/packages/flutter/test/rendering/slivers_layout_test.dart
index daca2da..2533a1f 100644
--- a/packages/flutter/test/rendering/slivers_layout_test.dart
+++ b/packages/flutter/test/rendering/slivers_layout_test.dart
@@ -34,37 +34,37 @@
     expect(layouts, 0);
     layout(root);
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 200.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 200.0));
 
     sliver.child = box = new RenderSizedBox(const Size(100.0, 300.0));
     expect(layouts, 1);
     pumpFrame();
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 150.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 150.0));
 
     viewport.offset = new ViewportOffset.fixed(20.0);
     expect(layouts, 1);
     pumpFrame();
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 130.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 130.0));
 
     viewport.offset = new ViewportOffset.fixed(-20.0);
     expect(layouts, 1);
     pumpFrame();
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 170.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 170.0));
 
     viewport.anchor = 20.0 / 600.0;
     expect(layouts, 1);
     pumpFrame();
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 190.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 190.0));
 
     viewport.axisDirection = AxisDirection.up;
     expect(layouts, 1);
     pumpFrame();
     expect(layouts, 1);
-    expect(box.localToGlobal(box.size.center(Point.origin)), const Point(400.0, 600.0 - 190.0));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), const Offset(400.0, 600.0 - 190.0));
   });
 
 }
diff --git a/packages/flutter/test/rendering/slivers_test.dart b/packages/flutter/test/rendering/slivers_test.dart
index 8549a0e..bf64d5d 100644
--- a/packages/flutter/test/rendering/slivers_test.dart
+++ b/packages/flutter/test/rendering/slivers_test.dart
@@ -34,44 +34,44 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
-    expect(a.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 400.0));
-    expect(b.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 800.0));
-    expect(c.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
-    expect(d.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
-    expect(e.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
+    expect(a.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 400.0));
+    expect(b.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 800.0));
+    expect(c.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
+    expect(d.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
+    expect(e.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -600.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -600.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -900.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -500.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -900.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -500.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(130.0, 150.0));
+    root.hitTest(result, position: const Offset(130.0, 150.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -93,38 +93,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 800.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 800.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 1100.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 700.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 1100.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 700.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(150.0, 350.0));
+    root.hitTest(result, position: const Offset(150.0, 350.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -146,38 +146,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(400.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(400.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-600.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-600.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-900.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(-500.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-100.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(300.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(700.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-900.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(-500.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-100.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(300.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(700.0, 0.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(150.0, 450.0));
+    root.hitTest(result, position: const Offset(150.0, 450.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -199,38 +199,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(400.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(400.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(1000.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(1000.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(1300.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(900.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(500.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(100.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-300.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(1300.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(900.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(500.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(100.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-300.0, 0.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(550.0, 150.0));
+    root.hitTest(result, position: const Offset(550.0, 150.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -264,44 +264,44 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
-    expect(a.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 400.0));
-    expect(b.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 800.0));
-    expect(c.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
-    expect(d.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
-    expect(e.localToGlobal(const Point(800.0, 400.0)), const Point(800.0, 1000.0));
+    expect(a.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 400.0));
+    expect(b.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 800.0));
+    expect(c.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
+    expect(d.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
+    expect(e.localToGlobal(const Offset(800.0, 400.0)), const Offset(800.0, 1000.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -600.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -600.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -900.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -500.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 600.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -900.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -500.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 600.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(130.0, 150.0));
+    root.hitTest(result, position: const Offset(130.0, 150.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -323,38 +323,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 200.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -200.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 200.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -200.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 800.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 400.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 800.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 400.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 1100.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 700.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 300.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -100.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, -400.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 1100.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 700.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 300.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -100.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, -400.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(150.0, 350.0));
+    root.hitTest(result, position: const Offset(150.0, 350.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -376,38 +376,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(400.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(400.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-600.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(800.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-600.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(800.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(-900.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(-500.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-100.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(300.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(700.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(-900.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(-500.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-100.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(300.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(700.0, 0.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(150.0, 450.0));
+    root.hitTest(result, position: const Offset(150.0, 450.0));
     expect(result.path.first.target, equals(c));
   });
 
@@ -429,38 +429,38 @@
     expect(root.size.width, equals(800.0));
     expect(root.size.height, equals(600.0));
 
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(400.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(0.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(400.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(0.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(200.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(600.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(1000.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(600.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(200.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(-200.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-400.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(1000.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(600.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(200.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(-200.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-400.0, 0.0));
 
     root.offset = new ViewportOffset.fixed(900.0);
     pumpFrame();
-    expect(a.localToGlobal(const Point(0.0, 0.0)), const Point(1300.0, 0.0));
-    expect(b.localToGlobal(const Point(0.0, 0.0)), const Point(900.0, 0.0));
-    expect(c.localToGlobal(const Point(0.0, 0.0)), const Point(500.0, 0.0));
-    expect(d.localToGlobal(const Point(0.0, 0.0)), const Point(100.0, 0.0));
-    expect(e.localToGlobal(const Point(0.0, 0.0)), const Point(-300.0, 0.0));
+    expect(a.localToGlobal(const Offset(0.0, 0.0)), const Offset(1300.0, 0.0));
+    expect(b.localToGlobal(const Offset(0.0, 0.0)), const Offset(900.0, 0.0));
+    expect(c.localToGlobal(const Offset(0.0, 0.0)), const Offset(500.0, 0.0));
+    expect(d.localToGlobal(const Offset(0.0, 0.0)), const Offset(100.0, 0.0));
+    expect(e.localToGlobal(const Offset(0.0, 0.0)), const Offset(-300.0, 0.0));
 
     final HitTestResult result = new HitTestResult();
-    root.hitTest(result, position: const Point(550.0, 150.0));
+    root.hitTest(result, position: const Offset(550.0, 150.0));
     expect(result.path.first.target, equals(c));
   });
 
diff --git a/packages/flutter/test/rendering/transform_test.dart b/packages/flutter/test/rendering/transform_test.dart
index 5e788bc..7b2da80 100644
--- a/packages/flutter/test/rendering/transform_test.dart
+++ b/packages/flutter/test/rendering/transform_test.dart
@@ -9,8 +9,8 @@
 
 import 'rendering_tester.dart';
 
-Point round(Point value) {
-  return new Point(value.x.roundToDouble(), value.y.roundToDouble());
+Offset round(Offset value) {
+  return new Offset(value.dx.roundToDouble(), value.dy.roundToDouble());
 }
 
 void main() {
@@ -22,14 +22,14 @@
       child: inner = new RenderSizedBox(const Size(100.0, 100.0)),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(inner.globalToLocal(const Point(0.0, 0.0)), equals(const Point(0.0, 0.0)));
-    expect(inner.globalToLocal(const Point(100.0, 100.0)), equals(const Point(100.0, 100.0)));
-    expect(inner.globalToLocal(const Point(25.0, 75.0)), equals(const Point(25.0, 75.0)));
-    expect(inner.globalToLocal(const Point(50.0, 50.0)), equals(const Point(50.0, 50.0)));
-    expect(inner.localToGlobal(const Point(0.0, 0.0)), equals(const Point(0.0, 0.0)));
-    expect(inner.localToGlobal(const Point(100.0, 100.0)), equals(const Point(100.0, 100.0)));
-    expect(inner.localToGlobal(const Point(25.0, 75.0)), equals(const Point(25.0, 75.0)));
-    expect(inner.localToGlobal(const Point(50.0, 50.0)), equals(const Point(50.0, 50.0)));
+    expect(inner.globalToLocal(const Offset(0.0, 0.0)), equals(const Offset(0.0, 0.0)));
+    expect(inner.globalToLocal(const Offset(100.0, 100.0)), equals(const Offset(100.0, 100.0)));
+    expect(inner.globalToLocal(const Offset(25.0, 75.0)), equals(const Offset(25.0, 75.0)));
+    expect(inner.globalToLocal(const Offset(50.0, 50.0)), equals(const Offset(50.0, 50.0)));
+    expect(inner.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(0.0, 0.0)));
+    expect(inner.localToGlobal(const Offset(100.0, 100.0)), equals(const Offset(100.0, 100.0)));
+    expect(inner.localToGlobal(const Offset(25.0, 75.0)), equals(const Offset(25.0, 75.0)));
+    expect(inner.localToGlobal(const Offset(50.0, 50.0)), equals(const Offset(50.0, 50.0)));
   });
 
   test('RenderTransform - identity with internal offset', () {
@@ -43,14 +43,14 @@
       ),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(inner.globalToLocal(const Point(0.0, 0.0)), equals(const Point(-20.0, 0.0)));
-    expect(inner.globalToLocal(const Point(100.0, 100.0)), equals(const Point(80.0, 100.0)));
-    expect(inner.globalToLocal(const Point(25.0, 75.0)), equals(const Point(5.0, 75.0)));
-    expect(inner.globalToLocal(const Point(50.0, 50.0)), equals(const Point(30.0, 50.0)));
-    expect(inner.localToGlobal(const Point(0.0, 0.0)), equals(const Point(20.0, 0.0)));
-    expect(inner.localToGlobal(const Point(100.0, 100.0)), equals(const Point(120.0, 100.0)));
-    expect(inner.localToGlobal(const Point(25.0, 75.0)), equals(const Point(45.0, 75.0)));
-    expect(inner.localToGlobal(const Point(50.0, 50.0)), equals(const Point(70.0, 50.0)));
+    expect(inner.globalToLocal(const Offset(0.0, 0.0)), equals(const Offset(-20.0, 0.0)));
+    expect(inner.globalToLocal(const Offset(100.0, 100.0)), equals(const Offset(80.0, 100.0)));
+    expect(inner.globalToLocal(const Offset(25.0, 75.0)), equals(const Offset(5.0, 75.0)));
+    expect(inner.globalToLocal(const Offset(50.0, 50.0)), equals(const Offset(30.0, 50.0)));
+    expect(inner.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(20.0, 0.0)));
+    expect(inner.localToGlobal(const Offset(100.0, 100.0)), equals(const Offset(120.0, 100.0)));
+    expect(inner.localToGlobal(const Offset(25.0, 75.0)), equals(const Offset(45.0, 75.0)));
+    expect(inner.localToGlobal(const Offset(50.0, 50.0)), equals(const Offset(70.0, 50.0)));
   });
 
   test('RenderTransform - translation', () {
@@ -61,14 +61,14 @@
       child: inner = new RenderSizedBox(const Size(100.0, 100.0)),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(inner.globalToLocal(const Point(0.0, 0.0)), equals(const Point(-50.0, -200.0)));
-    expect(inner.globalToLocal(const Point(100.0, 100.0)), equals(const Point(50.0, -100.0)));
-    expect(inner.globalToLocal(const Point(25.0, 75.0)), equals(const Point(-25.0, -125.0)));
-    expect(inner.globalToLocal(const Point(50.0, 50.0)), equals(const Point(0.0, -150.0)));
-    expect(inner.localToGlobal(const Point(0.0, 0.0)), equals(const Point(50.0, 200.0)));
-    expect(inner.localToGlobal(const Point(100.0, 100.0)), equals(const Point(150.0, 300.0)));
-    expect(inner.localToGlobal(const Point(25.0, 75.0)), equals(const Point(75.0, 275.0)));
-    expect(inner.localToGlobal(const Point(50.0, 50.0)), equals(const Point(100.0, 250.0)));
+    expect(inner.globalToLocal(const Offset(0.0, 0.0)), equals(const Offset(-50.0, -200.0)));
+    expect(inner.globalToLocal(const Offset(100.0, 100.0)), equals(const Offset(50.0, -100.0)));
+    expect(inner.globalToLocal(const Offset(25.0, 75.0)), equals(const Offset(-25.0, -125.0)));
+    expect(inner.globalToLocal(const Offset(50.0, 50.0)), equals(const Offset(0.0, -150.0)));
+    expect(inner.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(50.0, 200.0)));
+    expect(inner.localToGlobal(const Offset(100.0, 100.0)), equals(const Offset(150.0, 300.0)));
+    expect(inner.localToGlobal(const Offset(25.0, 75.0)), equals(const Offset(75.0, 275.0)));
+    expect(inner.localToGlobal(const Offset(50.0, 50.0)), equals(const Offset(100.0, 250.0)));
   });
 
   test('RenderTransform - translation with internal offset', () {
@@ -82,14 +82,14 @@
       ),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(inner.globalToLocal(const Point(0.0, 0.0)), equals(const Point(-70.0, -200.0)));
-    expect(inner.globalToLocal(const Point(100.0, 100.0)), equals(const Point(30.0, -100.0)));
-    expect(inner.globalToLocal(const Point(25.0, 75.0)), equals(const Point(-45.0, -125.0)));
-    expect(inner.globalToLocal(const Point(50.0, 50.0)), equals(const Point(-20.0, -150.0)));
-    expect(inner.localToGlobal(const Point(0.0, 0.0)), equals(const Point(70.0, 200.0)));
-    expect(inner.localToGlobal(const Point(100.0, 100.0)), equals(const Point(170.0, 300.0)));
-    expect(inner.localToGlobal(const Point(25.0, 75.0)), equals(const Point(95.0, 275.0)));
-    expect(inner.localToGlobal(const Point(50.0, 50.0)), equals(const Point(120.0, 250.0)));
+    expect(inner.globalToLocal(const Offset(0.0, 0.0)), equals(const Offset(-70.0, -200.0)));
+    expect(inner.globalToLocal(const Offset(100.0, 100.0)), equals(const Offset(30.0, -100.0)));
+    expect(inner.globalToLocal(const Offset(25.0, 75.0)), equals(const Offset(-45.0, -125.0)));
+    expect(inner.globalToLocal(const Offset(50.0, 50.0)), equals(const Offset(-20.0, -150.0)));
+    expect(inner.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(70.0, 200.0)));
+    expect(inner.localToGlobal(const Offset(100.0, 100.0)), equals(const Offset(170.0, 300.0)));
+    expect(inner.localToGlobal(const Offset(25.0, 75.0)), equals(const Offset(95.0, 275.0)));
+    expect(inner.localToGlobal(const Offset(50.0, 50.0)), equals(const Offset(120.0, 250.0)));
   });
 
   test('RenderTransform - rotation', () {
@@ -100,14 +100,14 @@
       child: inner = new RenderSizedBox(const Size(100.0, 100.0)),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(round(inner.globalToLocal(const Point(0.0, 0.0))), equals(const Point(100.0, 100.0)));
-    expect(round(inner.globalToLocal(const Point(100.0, 100.0))), equals(const Point(0.0, 0.0)));
-    expect(round(inner.globalToLocal(const Point(25.0, 75.0))), equals(const Point(75.0, 25.0)));
-    expect(round(inner.globalToLocal(const Point(50.0, 50.0))), equals(const Point(50.0, 50.0)));
-    expect(round(inner.localToGlobal(const Point(0.0, 0.0))), equals(const Point(100.0, 100.0)));
-    expect(round(inner.localToGlobal(const Point(100.0, 100.0))), equals(const Point(0.0, 0.0)));
-    expect(round(inner.localToGlobal(const Point(25.0, 75.0))), equals(const Point(75.0, 25.0)));
-    expect(round(inner.localToGlobal(const Point(50.0, 50.0))), equals(const Point(50.0, 50.0)));
+    expect(round(inner.globalToLocal(const Offset(0.0, 0.0))), equals(const Offset(100.0, 100.0)));
+    expect(round(inner.globalToLocal(const Offset(100.0, 100.0))), equals(const Offset(0.0, 0.0)));
+    expect(round(inner.globalToLocal(const Offset(25.0, 75.0))), equals(const Offset(75.0, 25.0)));
+    expect(round(inner.globalToLocal(const Offset(50.0, 50.0))), equals(const Offset(50.0, 50.0)));
+    expect(round(inner.localToGlobal(const Offset(0.0, 0.0))), equals(const Offset(100.0, 100.0)));
+    expect(round(inner.localToGlobal(const Offset(100.0, 100.0))), equals(const Offset(0.0, 0.0)));
+    expect(round(inner.localToGlobal(const Offset(25.0, 75.0))), equals(const Offset(75.0, 25.0)));
+    expect(round(inner.localToGlobal(const Offset(50.0, 50.0))), equals(const Offset(50.0, 50.0)));
   });
 
   test('RenderTransform - rotation with internal offset', () {
@@ -121,14 +121,14 @@
       ),
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
-    expect(round(inner.globalToLocal(const Point(0.0, 0.0))), equals(const Point(80.0, 100.0)));
-    expect(round(inner.globalToLocal(const Point(100.0, 100.0))), equals(const Point(-20.0, 0.0)));
-    expect(round(inner.globalToLocal(const Point(25.0, 75.0))), equals(const Point(55.0, 25.0)));
-    expect(round(inner.globalToLocal(const Point(50.0, 50.0))), equals(const Point(30.0, 50.0)));
-    expect(round(inner.localToGlobal(const Point(0.0, 0.0))), equals(const Point(80.0, 100.0)));
-    expect(round(inner.localToGlobal(const Point(100.0, 100.0))), equals(const Point(-20.0, 0.0)));
-    expect(round(inner.localToGlobal(const Point(25.0, 75.0))), equals(const Point(55.0, 25.0)));
-    expect(round(inner.localToGlobal(const Point(50.0, 50.0))), equals(const Point(30.0, 50.0)));
+    expect(round(inner.globalToLocal(const Offset(0.0, 0.0))), equals(const Offset(80.0, 100.0)));
+    expect(round(inner.globalToLocal(const Offset(100.0, 100.0))), equals(const Offset(-20.0, 0.0)));
+    expect(round(inner.globalToLocal(const Offset(25.0, 75.0))), equals(const Offset(55.0, 25.0)));
+    expect(round(inner.globalToLocal(const Offset(50.0, 50.0))), equals(const Offset(30.0, 50.0)));
+    expect(round(inner.localToGlobal(const Offset(0.0, 0.0))), equals(const Offset(80.0, 100.0)));
+    expect(round(inner.localToGlobal(const Offset(100.0, 100.0))), equals(const Offset(-20.0, 0.0)));
+    expect(round(inner.localToGlobal(const Offset(25.0, 75.0))), equals(const Offset(55.0, 25.0)));
+    expect(round(inner.localToGlobal(const Offset(50.0, 50.0))), equals(const Offset(30.0, 50.0)));
   });
 
   test('RenderTransform - perspective - globalToLocal', () {
@@ -140,12 +140,12 @@
     );
     layout(sizer, constraints: new BoxConstraints.tight(const Size(100.0, 100.0)), alignment: FractionalOffset.topLeft);
 
-    expect(round(inner.globalToLocal(const Point(25.0, 50.0))), equals(const Point(25.0, 50.0)));
-    expect(inner.globalToLocal(const Point(25.0, 17.0)).y, greaterThan(0.0));
-    expect(inner.globalToLocal(const Point(25.0, 17.0)).y, lessThan(10.0));
-    expect(inner.globalToLocal(const Point(25.0, 73.0)).y, greaterThan(90.0));
-    expect(inner.globalToLocal(const Point(25.0, 73.0)).y, lessThan(100.0));
-    expect(inner.globalToLocal(const Point(25.0, 17.0)).y, equals(-inner.globalToLocal(const Point(25.0, 73.0)).y));
+    expect(round(inner.globalToLocal(const Offset(25.0, 50.0))), equals(const Offset(25.0, 50.0)));
+    expect(inner.globalToLocal(const Offset(25.0, 17.0)).dy, greaterThan(0.0));
+    expect(inner.globalToLocal(const Offset(25.0, 17.0)).dy, lessThan(10.0));
+    expect(inner.globalToLocal(const Offset(25.0, 73.0)).dy, greaterThan(90.0));
+    expect(inner.globalToLocal(const Offset(25.0, 73.0)).dy, lessThan(100.0));
+    expect(inner.globalToLocal(const Offset(25.0, 17.0)).dy, equals(-inner.globalToLocal(const Offset(25.0, 73.0)).dy));
   }, skip: true); // https://github.com/flutter/flutter/issues/6080
 
   test('RenderTransform - perspective - localToGlobal', () {
@@ -159,9 +159,9 @@
 
     // the inner widget has a height of about half a pixel at this rotation, so
     // everything should end up around the middle of the outer box.
-    expect(inner.localToGlobal(const Point(25.0, 50.0)), equals(const Point(25.0, 50.0)));
-    expect(round(inner.localToGlobal(const Point(25.0, 75.0))), equals(const Point(25.0, 50.0)));
-    expect(round(inner.localToGlobal(const Point(25.0, 100.0))), equals(const Point(25.0, 50.0)));
+    expect(inner.localToGlobal(const Offset(25.0, 50.0)), equals(const Offset(25.0, 50.0)));
+    expect(round(inner.localToGlobal(const Offset(25.0, 75.0))), equals(const Offset(25.0, 50.0)));
+    expect(round(inner.localToGlobal(const Offset(25.0, 100.0))), equals(const Offset(25.0, 50.0)));
   });
 }
 
diff --git a/packages/flutter/test/ui/rrect_test.dart b/packages/flutter/test/ui/rrect_test.dart
index 6b698cf..a5e3fcb 100644
--- a/packages/flutter/test/ui/rrect_test.dart
+++ b/packages/flutter/test/ui/rrect_test.dart
@@ -16,14 +16,14 @@
       bottomLeft: Radius.zero
     );
 
-    expect(rrect.contains(const Point(1.0, 1.0)), isFalse);
-    expect(rrect.contains(const Point(1.1, 1.1)), isFalse);
-    expect(rrect.contains(const Point(1.15, 1.15)), isTrue);
-    expect(rrect.contains(const Point(2.0, 1.0)), isFalse);
-    expect(rrect.contains(const Point(1.93, 1.07)), isFalse);
-    expect(rrect.contains(const Point(1.97, 1.7)), isFalse);
-    expect(rrect.contains(const Point(1.7, 1.97)), isTrue);
-    expect(rrect.contains(const Point(1.0, 1.99)), isTrue);
+    expect(rrect.contains(const Offset(1.0, 1.0)), isFalse);
+    expect(rrect.contains(const Offset(1.1, 1.1)), isFalse);
+    expect(rrect.contains(const Offset(1.15, 1.15)), isTrue);
+    expect(rrect.contains(const Offset(2.0, 1.0)), isFalse);
+    expect(rrect.contains(const Offset(1.93, 1.07)), isFalse);
+    expect(rrect.contains(const Offset(1.97, 1.7)), isFalse);
+    expect(rrect.contains(const Offset(1.7, 1.97)), isTrue);
+    expect(rrect.contains(const Offset(1.0, 1.99)), isTrue);
   });
 
   test("RRect.contains() large radii", () {
@@ -35,13 +35,13 @@
       bottomLeft: Radius.zero
     );
 
-    expect(rrect.contains(const Point(1.0, 1.0)), isFalse);
-    expect(rrect.contains(const Point(1.1, 1.1)), isFalse);
-    expect(rrect.contains(const Point(1.15, 1.15)), isTrue);
-    expect(rrect.contains(const Point(2.0, 1.0)), isFalse);
-    expect(rrect.contains(const Point(1.93, 1.07)), isFalse);
-    expect(rrect.contains(const Point(1.97, 1.7)), isFalse);
-    expect(rrect.contains(const Point(1.7, 1.97)), isTrue);
-    expect(rrect.contains(const Point(1.0, 1.99)), isTrue);
+    expect(rrect.contains(const Offset(1.0, 1.0)), isFalse);
+    expect(rrect.contains(const Offset(1.1, 1.1)), isFalse);
+    expect(rrect.contains(const Offset(1.15, 1.15)), isTrue);
+    expect(rrect.contains(const Offset(2.0, 1.0)), isFalse);
+    expect(rrect.contains(const Offset(1.93, 1.07)), isFalse);
+    expect(rrect.contains(const Offset(1.97, 1.7)), isFalse);
+    expect(rrect.contains(const Offset(1.7, 1.97)), isTrue);
+    expect(rrect.contains(const Offset(1.0, 1.99)), isTrue);
   });
 }
diff --git a/packages/flutter/test/widgets/animated_positioned_test.dart b/packages/flutter/test/widgets/animated_positioned_test.dart
index 223355e..a3a87ad 100644
--- a/packages/flutter/test/widgets/animated_positioned_test.dart
+++ b/packages/flutter/test/widgets/animated_positioned_test.dart
@@ -41,12 +41,12 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
 
     await tester.pumpWidget(
       new Stack(
@@ -64,18 +64,18 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0 + 70.0 / 2.0, 30.0 + 110.0 / 2.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0 - (50.0 - 37.0) / 2.0 + (70.0 - (70.0 - 59.0) / 2.0) / 2.0,
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0 - (50.0 - 37.0) / 2.0 + (70.0 - (70.0 - 59.0) / 2.0) / 2.0,
                                                                                 30.0 + (31.0 - 30.0) / 2.0 + (110.0 - (110.0 - 71.0) / 2.0) / 2.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(37.0 + 59.0 / 2.0, 31.0 + 71.0 / 2.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(37.0 + 59.0 / 2.0, 31.0 + 71.0 / 2.0)));
   });
 
   testWidgets('AnimatedPositioned - interrupted animation', (WidgetTester tester) async {
@@ -99,12 +99,12 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0, 50.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0, 50.0)));
 
     await tester.pumpWidget(
       new Stack(
@@ -122,12 +122,12 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0, 50.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(100.0, 100.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(100.0, 100.0)));
 
     await tester.pumpWidget(
       new Stack(
@@ -145,17 +145,17 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(100.0, 100.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(100.0, 100.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(150.0, 150.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(150.0, 150.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(200.0, 200.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(200.0, 200.0)));
   });
 
   testWidgets('AnimatedPositioned - switching variables', (WidgetTester tester) async {
@@ -179,12 +179,12 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0, 50.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(50.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(50.0, 50.0)));
 
     await tester.pumpWidget(
       new Stack(
@@ -202,17 +202,17 @@
     );
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(350.0, 50.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(350.0, 50.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(350.0, 100.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(350.0, 100.0)));
 
     await tester.pump(const Duration(seconds: 1));
 
     box = key.currentContext.findRenderObject();
-    expect(box.localToGlobal(box.size.center(Point.origin)), equals(const Point(350.0, 150.0)));
+    expect(box.localToGlobal(box.size.center(Offset.zero)), equals(const Offset(350.0, 150.0)));
   });
 
 }
diff --git a/packages/flutter/test/widgets/clamp_overscrolls_test.dart b/packages/flutter/test/widgets/clamp_overscrolls_test.dart
index df9da33..20a3e2c 100644
--- a/packages/flutter/test/widgets/clamp_overscrolls_test.dart
+++ b/packages/flutter/test/widgets/clamp_overscrolls_test.dart
@@ -34,27 +34,27 @@
 
     // Scroll the target text widget by offset and then return its origin
     // in global coordinates.
-    Future<Point> locationAfterScroll(String target, Offset offset) async {
+    Future<Offset> locationAfterScroll(String target, Offset offset) async {
       await tester.dragFrom(tester.getTopLeft(find.text(target)), offset);
       await tester.pump();
       final RenderBox textBox = tester.renderObject(find.text(target));
-      final Point widgetOrigin = textBox.localToGlobal(Point.origin);
+      final Offset widgetOrigin = textBox.localToGlobal(Offset.zero);
       await tester.pump(const Duration(seconds: 1)); // Allow overscroll to settle
-      return new Future<Point>.value(widgetOrigin);
+      return new Future<Offset>.value(widgetOrigin);
     }
 
     await tester.pumpWidget(buildFrame(const BouncingScrollPhysics()));
-    Point origin = await locationAfterScroll('top', const Offset(0.0, 400.0));
-    expect(origin.y, greaterThan(0.0));
+    Offset origin = await locationAfterScroll('top', const Offset(0.0, 400.0));
+    expect(origin.dy, greaterThan(0.0));
     origin = await locationAfterScroll('bottom', const Offset(0.0, -400.0));
-    expect(origin.y, lessThan(500.0));
+    expect(origin.dy, lessThan(500.0));
 
 
     await tester.pumpWidget(buildFrame(const ClampingScrollPhysics()));
     origin = await locationAfterScroll('top', const Offset(0.0, 400.0));
-    expect(origin.y, equals(0.0));
+    expect(origin.dy, equals(0.0));
     origin = await locationAfterScroll('bottom', const Offset(0.0, -400.0));
-    expect(origin.y, equals(500.0));
+    expect(origin.dy, equals(500.0));
   });
 
   testWidgets('ClampingScrollPhysics affects ScrollPosition', (WidgetTester tester) async {
diff --git a/packages/flutter/test/widgets/clip_test.dart b/packages/flutter/test/widgets/clip_test.dart
index edc9339..57db909 100644
--- a/packages/flutter/test/widgets/clip_test.dart
+++ b/packages/flutter/test/widgets/clip_test.dart
@@ -49,11 +49,11 @@
     );
     expect(log, equals(<String>['getClip']));
 
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(log, equals(<String>['getClip']));
     log.clear();
 
-    await tester.tapAt(const Point(100.0, 100.0));
+    await tester.tapAt(const Offset(100.0, 100.0));
     expect(log, equals(<String>['tap']));
     log.clear();
   });
@@ -69,11 +69,11 @@
     );
     expect(log, equals(<String>[]));
 
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(log, equals(<String>[]));
     log.clear();
 
-    await tester.tapAt(const Point(400.0, 300.0));
+    await tester.tapAt(const Offset(400.0, 300.0));
     expect(log, equals(<String>['tap']));
     log.clear();
   });
@@ -92,11 +92,11 @@
     );
     expect(log, equals(<String>[]));
 
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(log, equals(<String>[]));
     log.clear();
 
-    await tester.tapAt(const Point(400.0, 300.0));
+    await tester.tapAt(const Offset(400.0, 300.0));
     expect(log, equals(<String>['tap']));
     log.clear();
   });
@@ -120,10 +120,10 @@
     );
     expect(log, equals(<String>['a']));
 
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(log, equals(<String>['a', 'tap']));
 
-    await tester.tapAt(const Point(100.0, 100.0));
+    await tester.tapAt(const Offset(100.0, 100.0));
     expect(log, equals(<String>['a', 'tap']));
 
     await tester.pumpWidget(
@@ -216,10 +216,10 @@
     );
     expect(log, equals(<String>['a', 'tap', 'a', 'b', 'c']));
 
-    await tester.tapAt(const Point(30.0, 30.0));
+    await tester.tapAt(const Offset(30.0, 30.0));
     expect(log, equals(<String>['a', 'tap', 'a', 'b', 'c', 'tap']));
 
-    await tester.tapAt(const Point(100.0, 100.0));
+    await tester.tapAt(const Offset(100.0, 100.0));
     expect(log, equals(<String>['a', 'tap', 'a', 'b', 'c', 'tap']));
   });
 
diff --git a/packages/flutter/test/widgets/coordinates_test.dart b/packages/flutter/test/widgets/coordinates_test.dart
index 2b3cb0b..7f6ac48 100644
--- a/packages/flutter/test/widgets/coordinates_test.dart
+++ b/packages/flutter/test/widgets/coordinates_test.dart
@@ -37,10 +37,10 @@
     );
 
     final RenderBox boxA = tester.renderObject(find.byKey(keyA));
-    expect(boxA.localToGlobal(const Point(0.0, 0.0)), equals(const Point(100.0, 100.0)));
+    expect(boxA.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(100.0, 100.0)));
 
     final RenderBox boxB = tester.renderObject(find.byKey(keyB));
-    expect(boxB.localToGlobal(const Point(0.0, 0.0)), equals(const Point(100.0, 200.0)));
-    expect(boxB.globalToLocal(const Point(110.0, 205.0)), equals(const Point(10.0, 5.0)));
+    expect(boxB.localToGlobal(const Offset(0.0, 0.0)), equals(const Offset(100.0, 200.0)));
+    expect(boxB.globalToLocal(const Offset(110.0, 205.0)), equals(const Offset(10.0, 5.0)));
   });
 }
diff --git a/packages/flutter/test/widgets/dismissible_test.dart b/packages/flutter/test/widgets/dismissible_test.dart
index d788cdc..3ef7f53 100644
--- a/packages/flutter/test/widgets/dismissible_test.dart
+++ b/packages/flutter/test/widgets/dismissible_test.dart
@@ -61,8 +61,8 @@
   assert(gestureDirection != DismissDirection.horizontal);
   assert(gestureDirection != DismissDirection.vertical);
 
-  Point downLocation;
-  Point upLocation;
+  Offset downLocation;
+  Offset upLocation;
   switch (gestureDirection) {
     case DismissDirection.endToStart:
       // getTopRight() returns a point that's just beyond itemWidget's right
@@ -263,7 +263,7 @@
     dismissDirection = DismissDirection.down;
 
     await tester.pumpWidget(buildTest());
-    final Point location = tester.getTopLeft(find.text('0'));
+    final Offset location = tester.getTopLeft(find.text('0'));
     final Offset offset = const Offset(0.0, 5.0);
     final TestGesture gesture = await tester.startGesture(location, pointer: 5);
     await gesture.moveBy(offset);
diff --git a/packages/flutter/test/widgets/draggable_test.dart b/packages/flutter/test/widgets/draggable_test.dart
index 8bb2d15..6b44ee8 100644
--- a/packages/flutter/test/widgets/draggable_test.dart
+++ b/packages/flutter/test/widgets/draggable_test.dart
@@ -37,7 +37,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(dragStartedCount, 0);
 
-    final Point firstLocation = tester.getCenter(find.text('Source'));
+    final Offset firstLocation = tester.getCenter(find.text('Source'));
     final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
     await tester.pump();
 
@@ -47,7 +47,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(dragStartedCount, 1);
 
-    final Point secondLocation = tester.getCenter(find.text('Target'));
+    final Offset secondLocation = tester.getCenter(find.text('Target'));
     await gesture.moveTo(secondLocation);
     await tester.pump();
 
@@ -69,7 +69,7 @@
 
   testWidgets('Drag and drop - dragging over button', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation;
+    Offset firstLocation, secondLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new Column(
@@ -159,7 +159,7 @@
 
   testWidgets('Drag and drop - tapping button', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation;
+    Offset firstLocation, secondLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new Column(
@@ -213,7 +213,7 @@
 
   testWidgets('Drag and drop - long press draggable, short press', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation;
+    Offset firstLocation, secondLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new Column(
@@ -259,7 +259,7 @@
 
   testWidgets('Drag and drop - long press draggable, long press', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation;
+    Offset firstLocation, secondLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new Column(
@@ -307,7 +307,7 @@
 
   testWidgets('Drag and drop - horizontal and vertical draggables in vertical block', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation, thirdLocation;
+    Offset firstLocation, secondLocation, thirdLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new ListView(
@@ -357,7 +357,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 2']));
-    expect(tester.getCenter(find.text('Target')).y, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dy, greaterThan(0.0));
     events.clear();
 
     // horizontal draggable drags horizontally
@@ -374,7 +374,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 1']));
-    expect(tester.getCenter(find.text('Target')).y, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dy, greaterThan(0.0));
     events.clear();
 
     // vertical draggable drags horizontally when there's no competition
@@ -392,7 +392,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 2']));
-    expect(tester.getCenter(find.text('Target')).y, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dy, greaterThan(0.0));
     events.clear();
 
     // horizontal draggable doesn't drag vertically when there is competition
@@ -413,7 +413,7 @@
 
   testWidgets('Drag and drop - horizontal and vertical draggables in horizontal block', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation, thirdLocation;
+    Offset firstLocation, secondLocation, thirdLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new ListView(
@@ -464,7 +464,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 1']));
-    expect(tester.getCenter(find.text('Target')).x, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dx, greaterThan(0.0));
     events.clear();
 
     // vertical draggable drags vertically
@@ -481,7 +481,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 2']));
-    expect(tester.getCenter(find.text('Target')).x, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dx, greaterThan(0.0));
     events.clear();
 
     // horizontal draggable drags vertically when there's no competition
@@ -499,7 +499,7 @@
     await gesture.up();
     await tester.pump();
     expect(events, equals(<String>['drop 1']));
-    expect(tester.getCenter(find.text('Target')).x, greaterThan(0.0));
+    expect(tester.getCenter(find.text('Target')).dx, greaterThan(0.0));
     events.clear();
 
     // vertical draggable doesn't drag horizontally when there is competition
@@ -549,7 +549,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isFalse);
 
-    final Point firstLocation = tester.getCenter(find.text('Source'));
+    final Offset firstLocation = tester.getCenter(find.text('Source'));
     final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
     await tester.pump();
 
@@ -559,7 +559,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isFalse);
 
-    final Point secondLocation = tester.getCenter(find.text('Target'));
+    final Offset secondLocation = tester.getCenter(find.text('Target'));
     await gesture.moveTo(secondLocation);
     await tester.pump();
 
@@ -617,7 +617,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isFalse);
 
-    final Point firstLocation = tester.getTopLeft(find.text('Source'));
+    final Offset firstLocation = tester.getTopLeft(find.text('Source'));
     final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
     await tester.pump();
 
@@ -627,7 +627,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isFalse);
 
-    final Point secondLocation = tester.getCenter(find.text('Target'));
+    final Offset secondLocation = tester.getCenter(find.text('Target'));
     await gesture.moveTo(secondLocation);
     await tester.pump();
 
@@ -646,7 +646,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isTrue);
     expect(onDraggableCanceledVelocity, equals(Velocity.zero));
-    expect(onDraggableCanceledOffset, equals(new Offset(secondLocation.x, secondLocation.y)));
+    expect(onDraggableCanceledOffset, equals(new Offset(secondLocation.dx, secondLocation.dy)));
   });
 
   testWidgets('Drag and drop - onDraggableDropped called if dropped on non-accepting target with correct velocity', (WidgetTester tester) async {
@@ -685,7 +685,7 @@
     expect(find.text('Target'), findsOneWidget);
     expect(onDraggableCanceledCalled, isFalse);
 
-    final Point flingStart = tester.getTopLeft(find.text('Source'));
+    final Offset flingStart = tester.getTopLeft(find.text('Source'));
     await tester.flingFrom(flingStart, const Offset(0.0, 100.0), 1000.0);
     await tester.pump();
 
@@ -696,7 +696,7 @@
     expect(onDraggableCanceledCalled, isTrue);
     expect(onDraggableCanceledVelocity.pixelsPerSecond.dx.abs(), lessThan(0.0000001));
     expect((onDraggableCanceledVelocity.pixelsPerSecond.dy - 1000.0).abs(), lessThan(0.0000001));
-    expect(onDraggableCanceledOffset, equals(new Offset(flingStart.x, flingStart.y) + const Offset(0.0, 100.0)));
+    expect(onDraggableCanceledOffset, equals(new Offset(flingStart.dx, flingStart.dy) + const Offset(0.0, 100.0)));
   });
 
   testWidgets('Drag and drop - allow pass thru of unaccepted data test', (WidgetTester tester) async {
@@ -755,9 +755,9 @@
     expect(find.text('Target1'), findsOneWidget);
     expect(find.text('Target2'), findsOneWidget);
 
-    final Point intLocation = tester.getCenter(find.text('IntSource'));
-    final Point doubleLocation = tester.getCenter(find.text('DoubleSource'));
-    final Point targetLocation = tester.getCenter(find.text('Target1'));
+    final Offset intLocation = tester.getCenter(find.text('IntSource'));
+    final Offset doubleLocation = tester.getCenter(find.text('DoubleSource'));
+    final Offset targetLocation = tester.getCenter(find.text('Target1'));
 
     // Drag the double draggable.
     final TestGesture doubleGesture = await tester.startGesture(doubleLocation, pointer: 7);
@@ -853,8 +853,8 @@
       )
     ));
 
-    final Point dragTargetLocation = tester.getCenter(find.text('Source'));
-    final Point targetLocation = tester.getCenter(find.text('Target1'));
+    final Offset dragTargetLocation = tester.getCenter(find.text('Source'));
+    final Offset targetLocation = tester.getCenter(find.text('Target1'));
 
     for (int i = 0; i < 2; i += 1) {
       final TestGesture gesture = await tester.startGesture(dragTargetLocation);
@@ -898,8 +898,8 @@
 
     await tester.pumpWidget(build(0));
 
-    final Point firstLocation = tester.getCenter(find.text('Source'));
-    final Point secondLocation = tester.getCenter(find.text('Target'));
+    final Offset firstLocation = tester.getCenter(find.text('Source'));
+    final Offset secondLocation = tester.getCenter(find.text('Target'));
 
     expect(accepted, isEmpty);
     expect(find.text('Source'), findsOneWidget);
@@ -1010,7 +1010,7 @@
       ]
     ));
 
-    await tester.startGesture(const Point(10.0, 10.0));
+    await tester.startGesture(const Offset(10.0, 10.0));
     expect(didTap, isFalse);
 
     // This tears down the draggable without terminating the gesture sequence,
@@ -1045,8 +1045,8 @@
       ]
     ));
 
-    final TestGesture firstGesture = await tester.startGesture(const Point(10.0, 10.0), pointer: 24);
-    final TestGesture secondGesture = await tester.startGesture(const Point(10.0, 20.0), pointer: 25);
+    final TestGesture firstGesture = await tester.startGesture(const Offset(10.0, 10.0), pointer: 24);
+    final TestGesture secondGesture = await tester.startGesture(const Offset(10.0, 20.0), pointer: 25);
 
     await firstGesture.moveBy(const Offset(100.0, 0.0));
     await secondGesture.up();
@@ -1054,7 +1054,7 @@
 
   testWidgets('DragTarget does not set state when remove from the tree', (WidgetTester tester) async {
     final List<String> events = <String>[];
-    Point firstLocation, secondLocation;
+    Offset firstLocation, secondLocation;
 
     await tester.pumpWidget(new MaterialApp(
       home: new Column(
@@ -1137,7 +1137,7 @@
     expect(find.text('Dragging'), findsNothing);
     expect(find.text('Target'), findsOneWidget);
 
-    final Point firstLocation = tester.getCenter(find.text('Source'));
+    final Offset firstLocation = tester.getCenter(find.text('Source'));
     final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
     await tester.pump();
 
@@ -1164,7 +1164,7 @@
     expect(find.text('Dragging'), findsOneWidget);
     expect(find.text('Target'), findsOneWidget);
 
-    final Point secondLocation = tester.getCenter(find.text('Target'));
+    final Offset secondLocation = tester.getCenter(find.text('Target'));
     await gesture.moveTo(secondLocation);
     await tester.pump();
 
@@ -1254,7 +1254,7 @@
   expect(find.text('Target'), findsOneWidget);
   expect(dragStartedCount, 0);
 
-  final Point firstLocation = tester.getCenter(find.text('Source'));
+  final Offset firstLocation = tester.getCenter(find.text('Source'));
   final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
   await tester.pump();
 
@@ -1265,7 +1265,7 @@
   expect(dragStartedCount, 1);
 
 
-  final Point secondLocation = tester.getBottomRight(find.text('Target'));
+  final Offset secondLocation = tester.getBottomRight(find.text('Target'));
   await gesture.moveTo(secondLocation);
   await tester.pump();
 
@@ -1275,8 +1275,8 @@
   expect(find.text('Target'), findsOneWidget);
   expect(dragStartedCount, 1);
 
-  final Point feedbackTopLeft = tester.getTopLeft(find.text('Dragging'));
-  final Point sourceTopLeft = tester.getTopLeft(find.text('Source'));
+  final Offset feedbackTopLeft = tester.getTopLeft(find.text('Dragging'));
+  final Offset sourceTopLeft = tester.getTopLeft(find.text('Source'));
   final Offset dragOffset = secondLocation - firstLocation;
   expect(feedbackTopLeft, equals(sourceTopLeft + dragOffset));
 }
diff --git a/packages/flutter/test/widgets/drawer_test.dart b/packages/flutter/test/widgets/drawer_test.dart
index 587c63d..b22b623 100644
--- a/packages/flutter/test/widgets/drawer_test.dart
+++ b/packages/flutter/test/widgets/drawer_test.dart
@@ -62,7 +62,7 @@
     expect(find.text('drawer'), findsOneWidget);
     await tester.pump(const Duration(seconds: 1)); // ditto
     expect(find.text('drawer'), findsOneWidget);
-    await tester.tapAt(const Point(750.0, 100.0)); // on the mask
+    await tester.tapAt(const Offset(750.0, 100.0)); // on the mask
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 10));
     // drawer should be starting to animate away
@@ -101,25 +101,25 @@
     await tester.pump(const Duration(seconds: 1)); // animation done
     expect(find.text('drawer'), findsOneWidget);
 
-    await tester.tapAt(const Point(750.0, 100.0)); // on the mask
+    await tester.tapAt(const Offset(750.0, 100.0)); // on the mask
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 10));
     // drawer should be starting to animate away
     final RenderBox textBox = tester.renderObject(find.text('drawer'));
-    final double textLeft = textBox.localToGlobal(Point.origin).x;
+    final double textLeft = textBox.localToGlobal(Offset.zero).dx;
     expect(textLeft, lessThan(0.0));
 
-    final TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     // drawer should be stopped.
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 10));
-    expect(textBox.localToGlobal(Point.origin).x, equals(textLeft));
+    expect(textBox.localToGlobal(Offset.zero).dx, equals(textLeft));
 
     await gesture.moveBy(const Offset(0.0, 50.0));
     // drawer should be returning to visible
     await tester.pump();
     await tester.pump(const Duration(seconds: 1));
-    expect(textBox.localToGlobal(Point.origin).x, equals(0.0));
+    expect(textBox.localToGlobal(Offset.zero).dx, equals(0.0));
 
     await gesture.up();
   });
diff --git a/packages/flutter/test/widgets/ensure_visible_test.dart b/packages/flutter/test/widgets/ensure_visible_test.dart
index e2fc1a4..b7e5b2e 100644
--- a/packages/flutter/test/widgets/ensure_visible_test.dart
+++ b/packages/flutter/test/widgets/ensure_visible_test.dart
@@ -68,24 +68,24 @@
 
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
 
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).y, equals(300.0));
+      expect(tester.getTopLeft(findKey(6)).dy, equals(300.0));
 
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(4)).dy, equals(500.0));
 
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dy, equals(100.0));
 
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
     });
 
     testWidgets('SingleChildScollView ensureVisible Axis.horizontal', (WidgetTester tester) async {
@@ -95,24 +95,24 @@
 
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
 
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).x, equals(500.0));
+      expect(tester.getTopLeft(findKey(6)).dx, equals(500.0));
 
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(4)).dx, equals(700.0));
 
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dx, equals(100.0));
 
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
     });
 
     testWidgets('SingleChildScollView ensureVisible Axis.vertical reverse', (WidgetTester tester) async {
@@ -122,24 +122,24 @@
 
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
 
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).y, equals(300.0));
+      expect(tester.getBottomRight(findKey(0)).dy, equals(300.0));
 
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dy, equals(100.0));
 
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(6)).dy, equals(500.0));
 
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
     });
 
     testWidgets('SingleChildScollView ensureVisible Axis.horizontal reverse', (WidgetTester tester) async {
@@ -149,24 +149,24 @@
 
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
 
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).x, equals(300.0));
+      expect(tester.getBottomRight(findKey(0)).dx, equals(300.0));
 
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dx, equals(100.0));
 
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(6)).dx, equals(700.0));
 
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
     });
 
     testWidgets('SingleChildScollView ensureVisible rotated child', (WidgetTester tester) async {
@@ -211,11 +211,11 @@
 
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).y, closeTo(100.0, 0.1));
+      expect(tester.getBottomRight(findKey(0)).dy, closeTo(100.0, 0.1));
 
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).y, closeTo(500.0, 0.1));
+      expect(tester.getTopLeft(findKey(0)).dy, closeTo(500.0, 0.1));
     });
   });
 
@@ -232,28 +232,28 @@
       await prepare(480.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).y, equals(300.0));
+      expect(tester.getTopLeft(findKey(6)).dy, equals(300.0));
 
       await prepare(735.0);
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(4)).dy, equals(500.0));
 
       await prepare(123.0);
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dy, equals(100.0));
 
       await prepare(523.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
     });
 
     testWidgets('ListView ensureVisible Axis.horizontal', (WidgetTester tester) async {
@@ -268,28 +268,28 @@
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
 
       await prepare(843.0);
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).x, equals(500.0));
+      expect(tester.getTopLeft(findKey(6)).dx, equals(500.0));
 
       await prepare(415.0);
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(4)).dx, equals(700.0));
 
       await prepare(46.0);
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dx, equals(100.0));
 
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
     });
 
     testWidgets('ListView ensureVisible Axis.vertical reverse', (WidgetTester tester) async {
@@ -304,28 +304,28 @@
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
 
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(0)).dy, equals(500.0));
 
       await prepare(230.0);
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dy, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).y, equals(300.0));
+      expect(tester.getBottomRight(findKey(6)).dy, equals(300.0));
 
       await prepare(345.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
     });
 
     testWidgets('ListView ensureVisible Axis.horizontal reverse', (WidgetTester tester) async {
@@ -340,28 +340,28 @@
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
 
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(0)).dx, equals(700.0));
 
       await prepare(230.0);
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dx, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).x, equals(300.0));
+      expect(tester.getBottomRight(findKey(6)).dx, equals(300.0));
 
       await prepare(345.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
     });
 
     // TODO(abarth): Unskip this test. See https://github.com/flutter/flutter/issues/7919
@@ -463,11 +463,11 @@
       await prepare(321.0);
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).y, closeTo(100.0, 0.1));
+      expect(tester.getBottomRight(findKey(0)).dy, closeTo(100.0, 0.1));
 
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).y, closeTo(500.0, 0.1));
+      expect(tester.getTopLeft(findKey(0)).dy, closeTo(500.0, 0.1));
     });
   });
 
@@ -484,28 +484,28 @@
       await prepare(480.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).y, equals(300.0));
+      expect(tester.getTopLeft(findKey(6)).dy, equals(300.0));
 
       await prepare(735.0);
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(4)).dy, equals(500.0));
 
       await prepare(123.0);
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dy, equals(100.0));
 
       await prepare(523.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dy, equals(100.0));
     });
 
     testWidgets('ListView ensureVisible Axis.horizontal', (WidgetTester tester) async {
@@ -520,28 +520,28 @@
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
 
       await prepare(843.0);
       Scrollable.ensureVisible(findContext(6));
       await tester.pump();
-      expect(tester.getTopLeft(findKey(6)).x, equals(500.0));
+      expect(tester.getTopLeft(findKey(6)).dx, equals(500.0));
 
       await prepare(415.0);
       Scrollable.ensureVisible(findContext(4), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(4)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(4)).dx, equals(700.0));
 
       await prepare(46.0);
       Scrollable.ensureVisible(findContext(0), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(0)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(0)).dx, equals(100.0));
 
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getTopLeft(findKey(3)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(3)).dx, equals(100.0));
     });
 
     testWidgets('ListView ensureVisible Axis.vertical reverse', (WidgetTester tester) async {
@@ -556,28 +556,28 @@
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
 
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(0)).dy, equals(500.0));
 
       await prepare(230.0);
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).y, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dy, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).y, equals(300.0));
+      expect(tester.getBottomRight(findKey(6)).dy, equals(300.0));
 
       await prepare(345.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).y, equals(500.0));
+      expect(tester.getBottomRight(findKey(3)).dy, equals(500.0));
     });
 
     testWidgets('ListView ensureVisible Axis.horizontal reverse', (WidgetTester tester) async {
@@ -592,28 +592,28 @@
       await prepare(211.0);
       Scrollable.ensureVisible(findContext(3));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
 
       await prepare(23.0);
       Scrollable.ensureVisible(findContext(0));
       await tester.pump();
-      expect(tester.getBottomRight(findKey(0)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(0)).dx, equals(700.0));
 
       await prepare(230.0);
       Scrollable.ensureVisible(findContext(2), alignment: 1.0);
       await tester.pump();
-      expect(tester.getTopLeft(findKey(2)).x, equals(100.0));
+      expect(tester.getTopLeft(findKey(2)).dx, equals(100.0));
 
       await prepare(1083.0);
       Scrollable.ensureVisible(findContext(6), alignment: 1.0);
       await tester.pump();
-      expect(tester.getBottomRight(findKey(6)).x, equals(300.0));
+      expect(tester.getBottomRight(findKey(6)).dx, equals(300.0));
 
       await prepare(345.0);
       Scrollable.ensureVisible(findContext(3), duration: const Duration(seconds: 1));
       await tester.pump();
       await tester.pump(const Duration(milliseconds: 1020));
-      expect(tester.getBottomRight(findKey(3)).x, equals(700.0));
+      expect(tester.getBottomRight(findKey(3)).dx, equals(700.0));
     });
   });
 }
diff --git a/packages/flutter/test/widgets/fitted_box_test.dart b/packages/flutter/test/widgets/fitted_box_test.dart
index 71b605a..82c218b 100644
--- a/packages/flutter/test/widgets/fitted_box_test.dart
+++ b/packages/flutter/test/widgets/fitted_box_test.dart
@@ -35,10 +35,10 @@
     expect(insideBox.size.width, 100.0);
     expect(insideBox.size.height, 50.0);
 
-    final Point insidePoint = insideBox.localToGlobal(const Point(100.0, 50.0));
-    final Point outsidePoint = outsideBox.localToGlobal(const Point(200.0, 100.0));
+    final Offset insidePoint = insideBox.localToGlobal(const Offset(100.0, 50.0));
+    final Offset outsidePoint = outsideBox.localToGlobal(const Offset(200.0, 100.0));
 
-    expect(outsidePoint, equals(const Point(500.0, 350.0)));
+    expect(outsidePoint, equals(const Offset(500.0, 350.0)));
     expect(insidePoint, equals(outsidePoint));
   });
 
@@ -71,8 +71,8 @@
     expect(insideBox.size.width, 100.0);
     expect(insideBox.size.height, 50.0);
 
-    final Point insidePoint = insideBox.localToGlobal(const Point(100.0, 0.0));
-    final Point outsidePoint = outsideBox.localToGlobal(const Point(200.0, 50.0));
+    final Offset insidePoint = insideBox.localToGlobal(const Offset(100.0, 0.0));
+    final Offset outsidePoint = outsideBox.localToGlobal(const Offset(200.0, 50.0));
 
     expect(insidePoint, equals(outsidePoint));
   });
@@ -107,8 +107,8 @@
     expect(insideBox.size.width, 100.0);
     expect(insideBox.size.height, 50.0);
 
-    final Point insidePoint = insideBox.localToGlobal(const Point(50.0, 25.0));
-    final Point outsidePoint = outsideBox.localToGlobal(const Point(100.0, 100.0));
+    final Offset insidePoint = insideBox.localToGlobal(const Offset(50.0, 25.0));
+    final Offset outsidePoint = outsideBox.localToGlobal(const Offset(100.0, 100.0));
 
     expect(insidePoint, equals(outsidePoint));
   });
diff --git a/packages/flutter/test/widgets/flow_test.dart b/packages/flutter/test/widgets/flow_test.dart
index d2510ce..4fca0f6 100644
--- a/packages/flutter/test/widgets/flow_test.dart
+++ b/packages/flutter/test/widgets/flow_test.dart
@@ -74,14 +74,14 @@
     expect(log, equals(<int>[0, 1, 2]));
 
     log.clear();
-    await tester.tapAt(const Point(20.0, 90.0));
+    await tester.tapAt(const Offset(20.0, 90.0));
     expect(log, equals(<int>[1]));
 
     startOffset.value = 50.0;
     await tester.pump();
 
     log.clear();
-    await tester.tapAt(const Point(20.0, 90.0));
+    await tester.tapAt(const Offset(20.0, 90.0));
     expect(log, equals(<int>[0]));
   });
 }
diff --git a/packages/flutter/test/widgets/fractionally_sized_box_test.dart b/packages/flutter/test/widgets/fractionally_sized_box_test.dart
index 993b10c..911d862 100644
--- a/packages/flutter/test/widgets/fractionally_sized_box_test.dart
+++ b/packages/flutter/test/widgets/fractionally_sized_box_test.dart
@@ -27,6 +27,6 @@
     ));
     final RenderBox box = inner.currentContext.findRenderObject();
     expect(box.size, equals(const Size(50.0, 25.0)));
-    expect(box.localToGlobal(Point.origin), equals(const Point(25.0, 37.5)));
+    expect(box.localToGlobal(Offset.zero), equals(const Offset(25.0, 37.5)));
   });
 }
diff --git a/packages/flutter/test/widgets/gesture_detector_test.dart b/packages/flutter/test/widgets/gesture_detector_test.dart
index 62aa845..11897b9 100644
--- a/packages/flutter/test/widgets/gesture_detector_test.dart
+++ b/packages/flutter/test/widgets/gesture_detector_test.dart
@@ -33,14 +33,14 @@
     expect(updatedDragDelta, isNull);
     expect(didEndDrag, isFalse);
 
-    final Point firstLocation = const Point(10.0, 10.0);
+    final Offset firstLocation = const Offset(10.0, 10.0);
     final TestGesture gesture = await tester.startGesture(firstLocation, pointer: 7);
     expect(didStartDrag, isTrue);
     didStartDrag = false;
     expect(updatedDragDelta, isNull);
     expect(didEndDrag, isFalse);
 
-    final Point secondLocation = const Point(10.0, 9.0);
+    final Offset secondLocation = const Offset(10.0, 9.0);
     await gesture.moveTo(secondLocation);
     expect(didStartDrag, isFalse);
     expect(updatedDragDelta, -1.0);
@@ -60,8 +60,8 @@
     int gestureCount = 0;
     double dragDistance = 0.0;
 
-    final Point downLocation = const Point(10.0, 10.0);
-    final Point upLocation = const Point(10.0, 20.0);
+    final Offset downLocation = const Offset(10.0, 10.0);
+    final Offset upLocation = const Offset(10.0, 20.0);
 
     final Widget widget = new GestureDetector(
       onVerticalDragUpdate: (DragUpdateDetails details) { dragDistance += details.primaryDelta; },
@@ -118,7 +118,7 @@
     expect(panDelta, isNull);
     expect(didEndPan, isFalse);
 
-    await tester.dragFrom(const Point(10.0, 10.0), const Offset(20.0, 30.0));
+    await tester.dragFrom(const Offset(10.0, 10.0), const Offset(20.0, 30.0));
 
     expect(didStartPan, isTrue);
     expect(panDelta.dx, 20.0);
@@ -164,28 +164,28 @@
     didReceivePointerDown = false;
     didTap = false;
     await pumpWidgetTree(null);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didReceivePointerDown, isTrue);
     expect(didTap, isTrue);
 
     didReceivePointerDown = false;
     didTap = false;
     await pumpWidgetTree(HitTestBehavior.deferToChild);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didReceivePointerDown, isTrue);
     expect(didTap, isFalse);
 
     didReceivePointerDown = false;
     didTap = false;
     await pumpWidgetTree(HitTestBehavior.opaque);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didReceivePointerDown, isFalse);
     expect(didTap, isTrue);
 
     didReceivePointerDown = false;
     didTap = false;
     await pumpWidgetTree(HitTestBehavior.translucent);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didReceivePointerDown, isTrue);
     expect(didTap, isTrue);
 
@@ -203,7 +203,7 @@
       )
     );
     expect(didTap, isFalse);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didTap, isTrue);
   });
 
@@ -220,7 +220,7 @@
       )
     );
     expect(didTap, isFalse);
-    await tester.tapAt(const Point(10.0, 10.0));
+    await tester.tapAt(const Offset(10.0, 10.0));
     expect(didTap, isFalse);
   });
 }
diff --git a/packages/flutter/test/widgets/grid_view_test.dart b/packages/flutter/test/widgets/grid_view_test.dart
index 10ccabf..8a81c2a 100644
--- a/packages/flutter/test/widgets/grid_view_test.dart
+++ b/packages/flutter/test/widgets/grid_view_test.dart
@@ -66,7 +66,7 @@
     expect(find.text('Pennsylvania'), findsNothing);
 
     expect(tester.getCenter(find.text('Tennessee')),
-        equals(const Point(300.0, 100.0)));
+        equals(const Offset(300.0, 100.0)));
 
     await tester.tap(find.text('Tennessee'));
     expect(log, equals(<String>['Tennessee']));
@@ -120,7 +120,7 @@
     expect(find.text('Alabama'), findsNothing);
 
     expect(tester.getCenter(find.text('Tennessee')),
-        equals(const Point(300.0, 100.0)));
+        equals(const Offset(300.0, 100.0)));
 
     await tester.tap(find.text('Tennessee'));
     expect(log, equals(<String>['Tennessee']));
diff --git a/packages/flutter/test/widgets/heroes_test.dart b/packages/flutter/test/widgets/heroes_test.dart
index 7a0643d..7ccdc60 100644
--- a/packages/flutter/test/widgets/heroes_test.dart
+++ b/packages/flutter/test/widgets/heroes_test.dart
@@ -716,11 +716,11 @@
     await tester.pump();
     await tester.pump();
 
-    final double initialY = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double initialY = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(initialY, 200.0);
 
     await tester.pump(const Duration(milliseconds: 100));
-    final double yAt100ms = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double yAt100ms = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(yAt100ms, lessThan(200.0));
     expect(yAt100ms, greaterThan(100.0));
 
@@ -729,13 +729,13 @@
     await(tester.drag(find.byKey(routeContainerKey), const Offset(0.0, -25.0)));
     await tester.pump();
     await tester.pump(const Duration(milliseconds: 10));
-    final double yAt110ms = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double yAt110ms = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(yAt110ms, lessThan(yAt100ms));
     expect(yAt110ms, greaterThan(75.0));
 
     await tester.pump(const Duration(milliseconds: 300));
     await tester.pump();
-    final double finalHeroY = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double finalHeroY = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(finalHeroY, 75.0); // 100 less 25 for the scroll
   });
 
@@ -793,11 +793,11 @@
     await tester.pump();
     await tester.pump();
 
-    final double initialY = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double initialY = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(initialY, 200.0);
 
     await tester.pump(const Duration(milliseconds: 100));
-    final double yAt100ms = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double yAt100ms = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(yAt100ms, lessThan(200.0));
     expect(yAt100ms, greaterThan(100.0));
 
@@ -808,7 +808,7 @@
 
     // Flight continues (the hero will fade out) even though the destination
     // no longer exists.
-    final double yAt110ms = tester.getTopLeft(find.byKey(routeHeroKey)).y;
+    final double yAt110ms = tester.getTopLeft(find.byKey(routeHeroKey)).dy;
     expect(yAt110ms, lessThan(yAt100ms));
     expect(yAt110ms, greaterThan(100.0));
 
@@ -894,11 +894,11 @@
     await tester.pump();
     await tester.pump();
 
-    final double initialY = tester.getTopLeft(find.byKey(heroABKey)).y;
+    final double initialY = tester.getTopLeft(find.byKey(heroABKey)).dy;
     expect(initialY, 200.0);
 
     await tester.pump(const Duration(milliseconds: 200));
-    final double yAt200ms = tester.getTopLeft(find.byKey(heroABKey)).y;
+    final double yAt200ms = tester.getTopLeft(find.byKey(heroABKey)).dy;
     // Hero AB is mid flight.
     expect(yAt200ms, lessThan(200.0));
     expect(yAt200ms, greaterThan(100.0));
@@ -911,7 +911,7 @@
     // Hero AB's aborted flight finishes where it was expected although
     // it's been faded out.
     await tester.pump(const Duration(milliseconds: 100));
-    expect(tester.getTopLeft(find.byKey(heroABKey)).y, 100.0);
+    expect(tester.getTopLeft(find.byKey(heroABKey)).dy, 100.0);
 
     // One Opacity widget per Hero, only one now has opacity 0.0
     final Iterable<RenderOpacity> renderers = tester.renderObjectList(find.byType(Opacity));
@@ -920,7 +920,7 @@
 
     // Hero BC's flight finishes normally.
     await tester.pump(const Duration(milliseconds: 300));
-    expect(tester.getTopLeft(find.byKey(heroBCKey)).y, 0.0);
+    expect(tester.getTopLeft(find.byKey(heroBCKey)).dy, 0.0);
   });
 
   testWidgets('Stateful hero child state survives flight', (WidgetTester tester) async {
diff --git a/packages/flutter/test/widgets/hit_testing_test.dart b/packages/flutter/test/widgets/hit_testing_test.dart
index aea0013..d069d0b 100644
--- a/packages/flutter/test/widgets/hit_testing_test.dart
+++ b/packages/flutter/test/widgets/hit_testing_test.dart
@@ -9,7 +9,7 @@
 void main() {
   testWidgets('toString control test', (WidgetTester tester) async {
     await tester.pumpWidget(const Center(child: const Text('Hello')));
-    final HitTestResult result = tester.hitTestOnBinding(Point.origin);
+    final HitTestResult result = tester.hitTestOnBinding(Offset.zero);
     expect(result, hasOneLineDescription);
     expect(result.path.first, hasOneLineDescription);
   });
diff --git a/packages/flutter/test/widgets/hyperlink_test.dart b/packages/flutter/test/widgets/hyperlink_test.dart
index 6da255d..98b1352 100644
--- a/packages/flutter/test/widgets/hyperlink_test.dart
+++ b/packages/flutter/test/widgets/hyperlink_test.dart
@@ -48,21 +48,21 @@
     expect(didTapLeft, isFalse);
     expect(didTapRight, isFalse);
 
-    await tester.tapAt(box.localToGlobal(Point.origin) + const Offset(2.0, 2.0));
+    await tester.tapAt(box.localToGlobal(Offset.zero) + const Offset(2.0, 2.0));
 
     expect(didTapLeft, isTrue);
     expect(didTapRight, isFalse);
 
     didTapLeft = false;
 
-    await tester.tapAt(box.localToGlobal(Point.origin) + const Offset(30.0, 2.0));
+    await tester.tapAt(box.localToGlobal(Offset.zero) + const Offset(30.0, 2.0));
 
     expect(didTapLeft, isTrue);
     expect(didTapRight, isFalse);
 
     didTapLeft = false;
 
-    await tester.tapAt(box.localToGlobal(new Point(box.size.width, 0.0)) + const Offset(-2.0, 2.0));
+    await tester.tapAt(box.localToGlobal(new Offset(box.size.width, 0.0)) + const Offset(-2.0, 2.0));
 
     expect(didTapLeft, isFalse);
     expect(didTapRight, isTrue);
diff --git a/packages/flutter/test/widgets/list_view_correction_test.dart b/packages/flutter/test/widgets/list_view_correction_test.dart
index 7dc8a2f..caabf8a 100644
--- a/packages/flutter/test/widgets/list_view_correction_test.dart
+++ b/packages/flutter/test/widgets/list_view_correction_test.dart
@@ -23,7 +23,7 @@
     controller.jumpTo(1000.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('4')).y, equals(200.0));
+    expect(tester.getTopLeft(find.text('4')).dy, equals(200.0));
 
     await tester.pumpWidget(new ListView(
       controller: controller,
@@ -38,19 +38,19 @@
     ));
 
     expect(controller.offset, equals(1000.0));
-    expect(tester.getTopLeft(find.text('4')).y, equals(200.0));
+    expect(tester.getTopLeft(find.text('4')).dy, equals(200.0));
 
     controller.jumpTo(300.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('2')).y, equals(100.0));
+    expect(tester.getTopLeft(find.text('2')).dy, equals(100.0));
 
     controller.jumpTo(50.0);
 
     await tester.pump();
 
     expect(controller.offset, equals(0.0));
-    expect(tester.getTopLeft(find.text('2')).y, equals(200.0));
+    expect(tester.getTopLeft(find.text('2')).dy, equals(200.0));
   });
 
 }
diff --git a/packages/flutter/test/widgets/list_view_misc_test.dart b/packages/flutter/test/widgets/list_view_misc_test.dart
index 95cd389..959bd76 100644
--- a/packages/flutter/test/widgets/list_view_misc_test.dart
+++ b/packages/flutter/test/widgets/list_view_misc_test.dart
@@ -22,8 +22,8 @@
       )
     );
 
-    final Point middleOfContainer = tester.getCenter(find.text('Hello'));
-    final Point target = tester.getCenter(find.byKey(blockKey));
+    final Offset middleOfContainer = tester.getCenter(find.text('Hello'));
+    final Offset target = tester.getCenter(find.byKey(blockKey));
     final TestGesture gesture = await tester.startGesture(target);
     await gesture.moveBy(const Offset(0.0, -10.0));
 
@@ -47,11 +47,11 @@
       )
     );
 
-    final Point middleOfContainer = tester.getCenter(find.text('Hello'));
-    expect(middleOfContainer.x, equals(400.0));
-    expect(middleOfContainer.y, equals(1000.0));
+    final Offset middleOfContainer = tester.getCenter(find.text('Hello'));
+    expect(middleOfContainer.dx, equals(400.0));
+    expect(middleOfContainer.dy, equals(1000.0));
 
-    final Point target = tester.getCenter(find.byKey(blockKey));
+    final Offset target = tester.getCenter(find.byKey(blockKey));
     final TestGesture gesture = await tester.startGesture(target);
     await gesture.moveBy(const Offset(0.0, -10.0));
 
@@ -95,7 +95,7 @@
 
     await tester.pumpWidget(buildBlock(reverse: true));
 
-    final Point target = const Point(200.0, 200.0);
+    final Offset target = const Offset(200.0, 200.0);
     await tester.tapAt(target);
     expect(first, equals(0));
     expect(second, equals(1));
diff --git a/packages/flutter/test/widgets/list_view_viewporting_test.dart b/packages/flutter/test/widgets/list_view_viewporting_test.dart
index 983f030..474e3a6 100644
--- a/packages/flutter/test/widgets/list_view_viewporting_test.dart
+++ b/packages/flutter/test/widgets/list_view_viewporting_test.dart
@@ -257,8 +257,8 @@
     );
 
     final RenderBox firstBox = tester.renderObject(find.text('0'));
-    final Point upperLeft = firstBox.localToGlobal(Point.origin);
-    expect(upperLeft, equals(const Point(7.0, 3.0)));
+    final Offset upperLeft = firstBox.localToGlobal(Offset.zero);
+    expect(upperLeft, equals(const Offset(7.0, 3.0)));
     expect(firstBox.size.width, equals(800.0 - 12.0));
   });
 
diff --git a/packages/flutter/test/widgets/overflow_box_test.dart b/packages/flutter/test/widgets/overflow_box_test.dart
index 745f08b..933fb5c 100644
--- a/packages/flutter/test/widgets/overflow_box_test.dart
+++ b/packages/flutter/test/widgets/overflow_box_test.dart
@@ -26,7 +26,7 @@
       )
     ));
     final RenderBox box = inner.currentContext.findRenderObject();
-    expect(box.localToGlobal(Point.origin), equals(const Point(745.0, 565.0)));
+    expect(box.localToGlobal(Offset.zero), equals(const Offset(745.0, 565.0)));
     expect(box.size, equals(const Size(100.0, 50.0)));
   });
 
diff --git a/packages/flutter/test/widgets/overscroll_indicator_test.dart b/packages/flutter/test/widgets/overscroll_indicator_test.dart
index c7b8749..75a7e85 100644
--- a/packages/flutter/test/widgets/overscroll_indicator_test.dart
+++ b/packages/flutter/test/widgets/overscroll_indicator_test.dart
@@ -12,7 +12,7 @@
 
 final Matcher doesNotOverscroll = isNot(paints..circle());
 
-Future<Null> slowDrag(WidgetTester tester, Point start, Offset offset) async {
+Future<Null> slowDrag(WidgetTester tester, Offset start, Offset offset) async {
   final TestGesture gesture = await tester.startGesture(start);
   for (int index = 0; index < 10; index += 1) {
     await gesture.moveBy(offset);
@@ -42,13 +42,13 @@
     await tester.pump(const Duration(milliseconds: 100)); // animate
     expect(painter, doesNotOverscroll);
 
-    final TestGesture gesture = await tester.startGesture(const Point(200.0, 200.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(200.0, 200.0));
     await tester.pump(const Duration(milliseconds: 100)); // animate
     expect(painter, doesNotOverscroll);
     await gesture.up();
     expect(painter, doesNotOverscroll);
 
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(0.0, 5.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(0.0, 5.0));
     expect(painter, paints..circle(color: const Color(0x0DFFFFFF)));
 
     await tester.pumpAndSettle(const Duration(seconds: 1));
@@ -65,23 +65,23 @@
     );
     final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
 
-    await slowDrag(tester, const Point(400.0, 200.0), const Offset(0.0, 10.0));
+    await slowDrag(tester, const Offset(400.0, 200.0), const Offset(0.0, 10.0));
     expect(painter, paints..circle(x: 400.0));
-    await slowDrag(tester, const Point(100.0, 200.0), const Offset(0.0, 10.0));
+    await slowDrag(tester, const Offset(100.0, 200.0), const Offset(0.0, 10.0));
     expect(painter, paints..something((Symbol method, List<dynamic> arguments) {
       if (method != #drawCircle)
         return false;
-      final Point center = arguments[0];
-      if (center.x < 400.0)
+      final Offset center = arguments[0];
+      if (center.dx < 400.0)
         return true;
       throw 'Dragging on left hand side did not overscroll on left hand side.';
     }));
-    await slowDrag(tester, const Point(700.0, 200.0), const Offset(0.0, 10.0));
+    await slowDrag(tester, const Offset(700.0, 200.0), const Offset(0.0, 10.0));
     expect(painter, paints..something((Symbol method, List<dynamic> arguments) {
       if (method != #drawCircle)
         return false;
-      final Point center = arguments[0];
-      if (center.x > 400.0)
+      final Offset center = arguments[0];
+      if (center.dx > 400.0)
         return true;
       throw 'Dragging on right hand side did not overscroll on right hand side.';
     }));
@@ -99,7 +99,7 @@
       ),
     );
     final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
-    final TestGesture gesture = await tester.startGesture(const Point(300.0, 200.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(300.0, 200.0));
     await gesture.moveBy(const Offset(0.0, 10.0));
     await tester.pump(const Duration(milliseconds: 20));
     double oldX = 0.0;
@@ -109,10 +109,10 @@
       expect(painter, paints..something((Symbol method, List<dynamic> arguments) {
         if (method != #drawCircle)
           return false;
-        final Point center = arguments[0];
-        if (center.x <= oldX)
+        final Offset center = arguments[0];
+        if (center.dx <= oldX)
           throw 'Sliding to the right did not make the center of the radius slide to the right.';
-        oldX = center.x;
+        oldX = center.dx;
         return true;
       }));
     }
@@ -133,7 +133,7 @@
         ),
       );
       final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
-      await slowDrag(tester, const Point(200.0, 200.0), const Offset(0.0, 5.0));
+      await slowDrag(tester, const Offset(200.0, 200.0), const Offset(0.0, 5.0));
       expect(painter, paints..save()..circle()..restore()..save()..scale(y: -1.0)..restore()..restore());
 
       await tester.pumpAndSettle(const Duration(seconds: 1));
@@ -151,7 +151,7 @@
         ),
       );
       final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
-      await slowDrag(tester, const Point(200.0, 200.0), const Offset(0.0, 5.0));
+      await slowDrag(tester, const Offset(200.0, 200.0), const Offset(0.0, 5.0));
       expect(painter, paints..save()..scale(y: -1.0)..restore()..save()..circle()..restore()..restore());
 
       await tester.pumpAndSettle(const Duration(seconds: 1));
@@ -169,10 +169,10 @@
       ),
     );
     final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(0.0, 5.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(0.0, 5.0));
     expect(painter, paints..circle());
     expect(painter, isNot(paints..circle()..circle()));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(0.0, -5.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(0.0, -5.0));
     expect(painter, paints..circle()..circle());
 
     await tester.pumpAndSettle(const Duration(seconds: 1));
@@ -190,10 +190,10 @@
       ),
     );
     final RenderObject painter = tester.renderObject(find.byType(CustomPaint));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(5.0, 0.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(5.0, 0.0));
     expect(painter, paints..rotate(angle: math.PI / 2.0)..circle()..saveRestore());
     expect(painter, isNot(paints..circle()..circle()));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(-5.0, 0.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(-5.0, 0.0));
     expect(painter, paints..rotate(angle: math.PI / 2.0)..circle()
                           ..rotate(angle: math.PI / 2.0)..circle());
 
@@ -220,7 +220,7 @@
       ),
     );
 
-    await tester.dragFrom(const Point(100.0, 100.0), const Offset(0.0, 2000.0));
+    await tester.dragFrom(const Offset(100.0, 100.0), const Offset(0.0, 2000.0));
     await tester.pumpAndSettle();
   });
 
@@ -241,7 +241,7 @@
       ),
     );
     painter = tester.renderObject(find.byType(CustomPaint));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(5.0, 0.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(5.0, 0.0));
     expect(painter, paints..rotate(angle: math.PI / 2.0)..circle(color: const Color(0x0A00FF00)));
     expect(painter, isNot(paints..circle()..circle()));
 
@@ -259,7 +259,7 @@
       ),
     );
     painter = tester.renderObject(find.byType(CustomPaint));
-    await slowDrag(tester, const Point(200.0, 200.0), const Offset(5.0, 0.0));
+    await slowDrag(tester, const Offset(200.0, 200.0), const Offset(5.0, 0.0));
     expect(painter, paints..rotate(angle: math.PI / 2.0)..circle(color: const Color(0x0A0000FF))..saveRestore());
     expect(painter, isNot(paints..circle()..circle()));
   });
diff --git a/packages/flutter/test/widgets/page_transitions_test.dart b/packages/flutter/test/widgets/page_transitions_test.dart
index 0f73441..7350992 100644
--- a/packages/flutter/test/widgets/page_transitions_test.dart
+++ b/packages/flutter/test/widgets/page_transitions_test.dart
@@ -169,11 +169,11 @@
     expect(find.text('Settings'), isOnstage);
 
     // Settings text is heroing to its new location
-    Point settingsOffset = tester.getTopLeft(find.text('Settings'));
-    expect(settingsOffset.x, greaterThan(0.0));
-    expect(settingsOffset.x, lessThan(100.0));
-    expect(settingsOffset.y, greaterThan(0.0));
-    expect(settingsOffset.y, lessThan(100.0));
+    Offset settingsOffset = tester.getTopLeft(find.text('Settings'));
+    expect(settingsOffset.dx, greaterThan(0.0));
+    expect(settingsOffset.dx, lessThan(100.0));
+    expect(settingsOffset.dy, greaterThan(0.0));
+    expect(settingsOffset.dy, lessThan(100.0));
 
     await tester.pump(const Duration(seconds: 1));
 
@@ -181,7 +181,7 @@
     expect(find.text('Settings'), isOnstage);
 
     // Drag from left edge to invoke the gesture.
-    final TestGesture gesture = await tester.startGesture(const Point(5.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(5.0, 100.0));
     await gesture.moveBy(const Offset(50.0, 0.0));
     await tester.pump();
 
@@ -190,14 +190,14 @@
     expect(find.text('Settings'), isOnstage);
 
     // Home page is sliding in from the left, no heroes.
-    final Point homeOffset = tester.getTopLeft(find.text('Home'));
-    expect(homeOffset.x, lessThan(0.0));
-    expect(homeOffset.y, 0.0);
+    final Offset homeOffset = tester.getTopLeft(find.text('Home'));
+    expect(homeOffset.dx, lessThan(0.0));
+    expect(homeOffset.dy, 0.0);
 
     // Settings page is sliding off to the right, no heroes.
     settingsOffset = tester.getTopLeft(find.text('Settings'));
-    expect(settingsOffset.x, greaterThan(100.0));
-    expect(settingsOffset.y, 100.0);
+    expect(settingsOffset.dx, greaterThan(100.0));
+    expect(settingsOffset.dy, 100.0);
   });
 
   testWidgets('Check back gesture doesnt start during transitions', (WidgetTester tester) async {
@@ -224,7 +224,7 @@
 
     // Drag from left edge to invoke the gesture. (near bottom so we grab
     // the Settings page as it comes up).
-    TestGesture gesture = await tester.startGesture(const Point(5.0, 550.0));
+    TestGesture gesture = await tester.startGesture(const Offset(5.0, 550.0));
     await gesture.moveBy(const Offset(500.0, 0.0));
     await gesture.up();
     await tester.pump();
@@ -236,7 +236,7 @@
     expect(find.text('Settings'), isOnstage);
 
     // Try again now that we're settled.
-    gesture = await tester.startGesture(const Point(5.0, 550.0));
+    gesture = await tester.startGesture(const Offset(5.0, 550.0));
     await gesture.moveBy(const Offset(500.0, 0.0));
     await gesture.up();
     await tester.pump();
@@ -275,7 +275,7 @@
     await tester.pump(const Duration(seconds: 1));
 
     // Drag from left edge to invoke the gesture.
-    final TestGesture gesture = await tester.startGesture(const Point(5.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(5.0, 100.0));
     await gesture.moveBy(const Offset(500.0, 0.0));
     await gesture.up();
     await tester.pump();
diff --git a/packages/flutter/test/widgets/page_view_test.dart b/packages/flutter/test/widgets/page_view_test.dart
index 3689d04..02695f3 100644
--- a/packages/flutter/test/widgets/page_view_test.dart
+++ b/packages/flutter/test/widgets/page_view_test.dart
@@ -92,7 +92,7 @@
     ));
 
     Size sizeOf(int i) => tester.getSize(find.byKey(new ValueKey<int>(i)));
-    double leftOf(int i) => tester.getTopLeft(find.byKey(new ValueKey<int>(i))).x;
+    double leftOf(int i) => tester.getTopLeft(find.byKey(new ValueKey<int>(i))).dx;
 
     expect(leftOf(0), equals(0.0));
     expect(sizeOf(0), equals(const Size(800.0, 600.0)));
@@ -229,7 +229,7 @@
     expect(log, isEmpty);
 
     final TestGesture gesture =
-        await tester.startGesture(const Point(100.0, 100.0));
+        await tester.startGesture(const Offset(100.0, 100.0));
     // The page view is 800.0 wide, so this move is just short of halfway.
     await gesture.moveBy(const Offset(-380.0, 0.0));
 
@@ -287,23 +287,23 @@
 
     await tester.pumpWidget(build(controller));
 
-    expect(tester.getTopLeft(find.text('Alabama')), const Point(50.0, 0.0));
-    expect(tester.getTopLeft(find.text('Alaska')), const Point(750.0, 0.0));
+    expect(tester.getTopLeft(find.text('Alabama')), const Offset(50.0, 0.0));
+    expect(tester.getTopLeft(find.text('Alaska')), const Offset(750.0, 0.0));
 
     controller.jumpToPage(10);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('Georgia')), const Point(-650.0, 0.0));
-    expect(tester.getTopLeft(find.text('Hawaii')), const Point(50.0, 0.0));
-    expect(tester.getTopLeft(find.text('Idaho')), const Point(750.0, 0.0));
+    expect(tester.getTopLeft(find.text('Georgia')), const Offset(-650.0, 0.0));
+    expect(tester.getTopLeft(find.text('Hawaii')), const Offset(50.0, 0.0));
+    expect(tester.getTopLeft(find.text('Idaho')), const Offset(750.0, 0.0));
 
     controller = new PageController(viewportFraction: 39/40);
 
     await tester.pumpWidget(build(controller));
 
-    expect(tester.getTopLeft(find.text('Georgia')), const Point(-770.0, 0.0));
-    expect(tester.getTopLeft(find.text('Hawaii')), const Point(10.0, 0.0));
-    expect(tester.getTopLeft(find.text('Idaho')), const Point(790.0, 0.0));
+    expect(tester.getTopLeft(find.text('Georgia')), const Offset(-770.0, 0.0));
+    expect(tester.getTopLeft(find.text('Hawaii')), const Offset(10.0, 0.0));
+    expect(tester.getTopLeft(find.text('Idaho')), const Offset(790.0, 0.0));
   });
 
   testWidgets('PageView small viewportFraction', (WidgetTester tester) async {
@@ -327,24 +327,24 @@
 
     await tester.pumpWidget(build(controller));
 
-    expect(tester.getTopLeft(find.text('Alabama')), const Point(350.0, 0.0));
-    expect(tester.getTopLeft(find.text('Alaska')), const Point(450.0, 0.0));
-    expect(tester.getTopLeft(find.text('Arizona')), const Point(550.0, 0.0));
-    expect(tester.getTopLeft(find.text('Arkansas')), const Point(650.0, 0.0));
-    expect(tester.getTopLeft(find.text('California')), const Point(750.0, 0.0));
+    expect(tester.getTopLeft(find.text('Alabama')), const Offset(350.0, 0.0));
+    expect(tester.getTopLeft(find.text('Alaska')), const Offset(450.0, 0.0));
+    expect(tester.getTopLeft(find.text('Arizona')), const Offset(550.0, 0.0));
+    expect(tester.getTopLeft(find.text('Arkansas')), const Offset(650.0, 0.0));
+    expect(tester.getTopLeft(find.text('California')), const Offset(750.0, 0.0));
 
     controller.jumpToPage(10);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('Connecticut')), const Point(-50.0, 0.0));
-    expect(tester.getTopLeft(find.text('Delaware')), const Point(50.0, 0.0));
-    expect(tester.getTopLeft(find.text('Florida')), const Point(150.0, 0.0));
-    expect(tester.getTopLeft(find.text('Georgia')), const Point(250.0, 0.0));
-    expect(tester.getTopLeft(find.text('Hawaii')), const Point(350.0, 0.0));
-    expect(tester.getTopLeft(find.text('Idaho')), const Point(450.0, 0.0));
-    expect(tester.getTopLeft(find.text('Illinois')), const Point(550.0, 0.0));
-    expect(tester.getTopLeft(find.text('Indiana')), const Point(650.0, 0.0));
-    expect(tester.getTopLeft(find.text('Iowa')), const Point(750.0, 0.0));
+    expect(tester.getTopLeft(find.text('Connecticut')), const Offset(-50.0, 0.0));
+    expect(tester.getTopLeft(find.text('Delaware')), const Offset(50.0, 0.0));
+    expect(tester.getTopLeft(find.text('Florida')), const Offset(150.0, 0.0));
+    expect(tester.getTopLeft(find.text('Georgia')), const Offset(250.0, 0.0));
+    expect(tester.getTopLeft(find.text('Hawaii')), const Offset(350.0, 0.0));
+    expect(tester.getTopLeft(find.text('Idaho')), const Offset(450.0, 0.0));
+    expect(tester.getTopLeft(find.text('Illinois')), const Offset(550.0, 0.0));
+    expect(tester.getTopLeft(find.text('Indiana')), const Offset(650.0, 0.0));
+    expect(tester.getTopLeft(find.text('Iowa')), const Offset(750.0, 0.0));
   });
 
   testWidgets('PageView large viewportFraction', (WidgetTester tester) async {
@@ -369,13 +369,13 @@
 
     await tester.pumpWidget(build(controller));
 
-    expect(tester.getTopLeft(find.text('Alabama')), const Point(-100.0, 0.0));
-    expect(tester.getBottomRight(find.text('Alabama')), const Point(900.0, 600.0));
+    expect(tester.getTopLeft(find.text('Alabama')), const Offset(-100.0, 0.0));
+    expect(tester.getBottomRight(find.text('Alabama')), const Offset(900.0, 600.0));
 
     controller.jumpToPage(10);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.text('Hawaii')), const Point(-100.0, 0.0));
+    expect(tester.getTopLeft(find.text('Hawaii')), const Offset(-100.0, 0.0));
   });
 
   testWidgets('PageView does not report page changed on overscroll',
diff --git a/packages/flutter/test/widgets/rotated_box_test.dart b/packages/flutter/test/widgets/rotated_box_test.dart
index c6af571..65b0e3f 100644
--- a/packages/flutter/test/widgets/rotated_box_test.dart
+++ b/packages/flutter/test/widgets/rotated_box_test.dart
@@ -44,11 +44,11 @@
     expect(box.size.width, equals(65.0));
     expect(box.size.height, equals(175.0));
 
-    await tester.tapAt(const Point(420.0, 280.0));
+    await tester.tapAt(const Offset(420.0, 280.0));
     expect(log, equals(<String>['left']));
     log.clear();
 
-    await tester.tapAt(const Point(380.0, 320.0));
+    await tester.tapAt(const Offset(380.0, 320.0));
     expect(log, equals(<String>['right']));
     log.clear();
   });
diff --git a/packages/flutter/test/widgets/scroll_events_test.dart b/packages/flutter/test/widgets/scroll_events_test.dart
index 0a0f38a..fc21cb8 100644
--- a/packages/flutter/test/widgets/scroll_events_test.dart
+++ b/packages/flutter/test/widgets/scroll_events_test.dart
@@ -44,7 +44,7 @@
     await tester.pumpWidget(_buildScroller(log: log));
 
     expect(log, equals(<String>[]));
-    final TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     expect(log, equals(<String>['scroll-start']));
     await tester.pump(const Duration(seconds: 1));
     expect(log, equals(<String>['scroll-start']));
@@ -140,11 +140,11 @@
     await tester.pumpWidget(_buildScroller(log: log));
 
     expect(log, equals(<String>[]));
-    await tester.flingFrom(const Point(100.0, 100.0), const Offset(-50.0, -50.0), 500.0);
+    await tester.flingFrom(const Offset(100.0, 100.0), const Offset(-50.0, -50.0), 500.0);
     await tester.pump(const Duration(seconds: 1));
     log.removeWhere((String value) => value == 'scroll-update');
     expect(log, equals(<String>['scroll-start']));
-    await tester.flingFrom(const Point(100.0, 100.0), const Offset(-50.0, -50.0), 500.0);
+    await tester.flingFrom(const Offset(100.0, 100.0), const Offset(-50.0, -50.0), 500.0);
     log.removeWhere((String value) => value == 'scroll-update');
     expect(log, equals(<String>['scroll-start', 'scroll-end', 'scroll-start']));
     await tester.pump(const Duration(seconds: 1));
@@ -158,7 +158,7 @@
     await tester.pumpWidget(_buildScroller(log: log));
 
     expect(log, equals(<String>[]));
-    await tester.flingFrom(const Point(100.0, 100.0), const Offset(50.0, 50.0), 500.0);
+    await tester.flingFrom(const Offset(100.0, 100.0), const Offset(50.0, 50.0), 500.0);
     await tester.pump(const Duration(seconds: 1));
     await tester.pump(const Duration(seconds: 1));
     await tester.pump(const Duration(seconds: 1));
diff --git a/packages/flutter/test/widgets/scroll_interaction_test.dart b/packages/flutter/test/widgets/scroll_interaction_test.dart
index 4a3c994..c1186e2 100644
--- a/packages/flutter/test/widgets/scroll_interaction_test.dart
+++ b/packages/flutter/test/widgets/scroll_interaction_test.dart
@@ -18,7 +18,7 @@
 
     expect(scrollable.position.pixels, equals(0.0));
 
-    await tester.flingFrom(const Point(200.0, 300.0), const Offset(0.0, -200.0), 500.0);
+    await tester.flingFrom(const Offset(200.0, 300.0), const Offset(0.0, -200.0), 500.0);
     await tester.pump();
     await tester.pump(const Duration(seconds: 5));
 
@@ -26,7 +26,7 @@
 
     final double oldOffset = scrollable.position.pixels;
 
-    await tester.flingFrom(const Point(200.0, 300.0), const Offset(0.0, -200.0), 500.0);
+    await tester.flingFrom(const Offset(200.0, 300.0), const Offset(0.0, -200.0), 500.0);
     await tester.pump();
     await tester.pump(const Duration(seconds: 5));
 
diff --git a/packages/flutter/test/widgets/scroll_notification_test.dart b/packages/flutter/test/widgets/scroll_notification_test.dart
index ab571f7..631736a 100644
--- a/packages/flutter/test/widgets/scroll_notification_test.dart
+++ b/packages/flutter/test/widgets/scroll_notification_test.dart
@@ -20,13 +20,13 @@
       )
     ));
 
-    final TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     await tester.pump(const Duration(seconds: 1));
     expect(notification, const isInstanceOf<ScrollStartNotification>());
     expect(notification.depth, equals(0));
     final ScrollStartNotification start = notification;
     expect(start.dragDetails, isNotNull);
-    expect(start.dragDetails.globalPosition, equals(const Point(100.0, 100.0)));
+    expect(start.dragDetails.globalPosition, equals(const Offset(100.0, 100.0)));
 
     await gesture.moveBy(const Offset(-10.0, -10.0));
     await tester.pump(const Duration(seconds: 1));
@@ -34,7 +34,7 @@
     expect(notification.depth, equals(0));
     final ScrollUpdateNotification update = notification;
     expect(update.dragDetails, isNotNull);
-    expect(update.dragDetails.globalPosition, equals(const Point(90.0, 90.0)));
+    expect(update.dragDetails.globalPosition, equals(const Offset(90.0, 90.0)));
     expect(update.dragDetails.delta, equals(const Offset(0.0, -10.0)));
 
     await gesture.up();
@@ -76,7 +76,7 @@
       )
     ));
 
-    final TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     await tester.pump(const Duration(seconds: 1));
     await gesture.moveBy(const Offset(-10.0, -10.0));
     await tester.pump(const Duration(seconds: 1));
diff --git a/packages/flutter/test/widgets/scroll_view_test.dart b/packages/flutter/test/widgets/scroll_view_test.dart
index 6aa8d47..32e501c 100644
--- a/packages/flutter/test/widgets/scroll_view_test.dart
+++ b/packages/flutter/test/widgets/scroll_view_test.dart
@@ -38,7 +38,7 @@
     await tester.pump();
 
     expect(find.text('Alabama'), findsNothing);
-    expect(tester.getCenter(find.text('Massachusetts')), equals(const Point(400.0, 100.0)));
+    expect(tester.getCenter(find.text('Massachusetts')), equals(const Offset(400.0, 100.0)));
 
     await tester.tap(find.text('Massachusetts'));
     expect(log, equals(<String>['Massachusetts']));
@@ -109,7 +109,7 @@
     await tester.pump();
 
     expect(find.text('Alabama'), findsNothing);
-    expect(tester.getCenter(find.text('Massachusetts')), equals(const Point(400.0, 100.0)));
+    expect(tester.getCenter(find.text('Massachusetts')), equals(const Offset(400.0, 100.0)));
 
     await tester.tap(find.text('Massachusetts'));
     expect(log, equals(<String>['Massachusetts']));
@@ -138,7 +138,7 @@
 
     expect(log, isEmpty);
 
-    final TestGesture gesture = await tester.startGesture(const Point(100.0, 100.0));
+    final TestGesture gesture = await tester.startGesture(const Offset(100.0, 100.0));
     await gesture.moveBy(const Offset(0.0, -100.0));
 
     expect(log, equals(<Type>[
diff --git a/packages/flutter/test/widgets/scrollable_list_hit_testing_test.dart b/packages/flutter/test/widgets/scrollable_list_hit_testing_test.dart
index 8e5b9e1..3862101 100644
--- a/packages/flutter/test/widgets/scrollable_list_hit_testing_test.dart
+++ b/packages/flutter/test/widgets/scrollable_list_hit_testing_test.dart
@@ -102,17 +102,17 @@
         }).toList(),
       ),
     );
-    await tester.tapAt(const Point(200.0, 19.0));
+    await tester.tapAt(const Offset(200.0, 19.0));
     expect(tapped, equals(<int>[]));
-    await tester.tapAt(const Point(200.0, 21.0));
+    await tester.tapAt(const Offset(200.0, 21.0));
     expect(tapped, equals(<int>[0]));
-    await tester.tapAt(const Point(4.0, 400.0));
+    await tester.tapAt(const Offset(4.0, 400.0));
     expect(tapped, equals(<int>[0]));
-    await tester.tapAt(const Point(6.0, 400.0));
+    await tester.tapAt(const Offset(6.0, 400.0));
     expect(tapped, equals(<int>[0, 1]));
-    await tester.tapAt(const Point(800.0 - 14.0, 400.0));
+    await tester.tapAt(const Offset(800.0 - 14.0, 400.0));
     expect(tapped, equals(<int>[0, 1]));
-    await tester.tapAt(const Point(800.0 - 16.0, 400.0));
+    await tester.tapAt(const Offset(800.0 - 16.0, 400.0));
     expect(tapped, equals(<int>[0, 1, 1]));
   });
 
@@ -134,17 +134,17 @@
         }).toList(),
       ),
     );
-    await tester.tapAt(const Point(200.0, 600.0 - 9.0));
+    await tester.tapAt(const Offset(200.0, 600.0 - 9.0));
     expect(tapped, equals(<int>[]));
-    await tester.tapAt(const Point(200.0, 600.0 - 11.0));
+    await tester.tapAt(const Offset(200.0, 600.0 - 11.0));
     expect(tapped, equals(<int>[0]));
-    await tester.tapAt(const Point(4.0, 200.0));
+    await tester.tapAt(const Offset(4.0, 200.0));
     expect(tapped, equals(<int>[0]));
-    await tester.tapAt(const Point(6.0, 200.0));
+    await tester.tapAt(const Offset(6.0, 200.0));
     expect(tapped, equals(<int>[0, 1]));
-    await tester.tapAt(const Point(800.0 - 14.0, 200.0));
+    await tester.tapAt(const Offset(800.0 - 14.0, 200.0));
     expect(tapped, equals(<int>[0, 1]));
-    await tester.tapAt(const Point(800.0 - 16.0, 200.0));
+    await tester.tapAt(const Offset(800.0 - 16.0, 200.0));
     expect(tapped, equals(<int>[0, 1, 1]));
   });
 
@@ -170,7 +170,7 @@
     final ScrollableState scrollable = tester.state(find.byType(Scrollable));
     expect(scrollable.position.pixels, equals(0.0));
 
-    await tester.tapAt(const Point(200.0, 100.0));
+    await tester.tapAt(const Offset(200.0, 100.0));
     expect(tapped, equals(<int>[0]));
   });
 }
diff --git a/packages/flutter/test/widgets/semantics_debugger_test.dart b/packages/flutter/test/widgets/semantics_debugger_test.dart
index d4b5550..414c2c1 100644
--- a/packages/flutter/test/widgets/semantics_debugger_test.dart
+++ b/packages/flutter/test/widgets/semantics_debugger_test.dart
@@ -172,27 +172,27 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.byKey(childKey)).y, equals(0.0));
+    expect(tester.getTopLeft(find.byKey(childKey)).dy, equals(0.0));
 
     await tester.fling(find.byType(ListView), const Offset(0.0, -200.0), 200.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byKey(childKey)).y, equals(-480.0));
+    expect(tester.getTopLeft(find.byKey(childKey)).dy, equals(-480.0));
 
     await tester.fling(find.byType(ListView), const Offset(200.0, 0.0), 200.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byKey(childKey)).y, equals(-480.0));
+    expect(tester.getTopLeft(find.byKey(childKey)).dy, equals(-480.0));
 
     await tester.fling(find.byType(ListView), const Offset(-200.0, 0.0), 200.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byKey(childKey)).y, equals(-480.0));
+    expect(tester.getTopLeft(find.byKey(childKey)).dy, equals(-480.0));
 
     await tester.fling(find.byType(ListView), const Offset(0.0, 200.0), 200.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byKey(childKey)).y, equals(0.0));
+    expect(tester.getTopLeft(find.byKey(childKey)).dy, equals(0.0));
   });
 
   testWidgets('SemanticsDebugger long press', (WidgetTester tester) async {
diff --git a/packages/flutter/test/widgets/set_state_1_test.dart b/packages/flutter/test/widgets/set_state_1_test.dart
index 3f5f643..8de154a 100644
--- a/packages/flutter/test/widgets/set_state_1_test.dart
+++ b/packages/flutter/test/widgets/set_state_1_test.dart
@@ -62,7 +62,7 @@
 void main() {
   testWidgets('setState() smoke test', (WidgetTester tester) async {
     await tester.pumpWidget(new Outside());
-    final Point location = tester.getCenter(find.text('INSIDE'));
+    final Offset location = tester.getCenter(find.text('INSIDE'));
     final TestGesture gesture = await tester.startGesture(location);
     await tester.pump();
     await gesture.up();
diff --git a/packages/flutter/test/widgets/single_child_scroll_view_test.dart b/packages/flutter/test/widgets/single_child_scroll_view_test.dart
index 7cb2812..a66289a 100644
--- a/packages/flutter/test/widgets/single_child_scroll_view_test.dart
+++ b/packages/flutter/test/widgets/single_child_scroll_view_test.dart
@@ -43,11 +43,11 @@
     ));
 
     final RenderBox box = tester.renderObject(find.byType(Container));
-    expect(box.localToGlobal(Point.origin), equals(Point.origin));
+    expect(box.localToGlobal(Offset.zero), equals(Offset.zero));
 
     await tester.drag(find.byType(SingleChildScrollView), const Offset(-200.0, -200.0));
 
-    expect(box.localToGlobal(Point.origin), equals(const Point(0.0, -200.0)));
+    expect(box.localToGlobal(Offset.zero), equals(const Offset(0.0, -200.0)));
   });
 
   testWidgets('Changing controllers changes scroll position', (WidgetTester tester) async {
diff --git a/packages/flutter/test/widgets/slivers_appbar_floating_test.dart b/packages/flutter/test/widgets/slivers_appbar_floating_test.dart
index 668063d..e833f9e 100644
--- a/packages/flutter/test/widgets/slivers_appbar_floating_test.dart
+++ b/packages/flutter/test/widgets/slivers_appbar_floating_test.dart
@@ -18,7 +18,7 @@
 
 void verifyActualBoxPosition(WidgetTester tester, Finder finder, int index, Rect ideal) {
   final RenderBox box = tester.renderObjectList<RenderBox>(finder).elementAt(index);
-  final Rect rect = new Rect.fromPoints(box.localToGlobal(Point.origin), box.localToGlobal(box.size.bottomRight(Point.origin)));
+  final Rect rect = new Rect.fromPoints(box.localToGlobal(Offset.zero), box.localToGlobal(box.size.bottomRight(Offset.zero)));
   expect(rect, equals(ideal));
 }
 
@@ -201,15 +201,15 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 200.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 200.0));
 
     final ScrollPosition position = tester.state<ScrollableState>(find.byType(Scrollable)).position;
     position.jumpTo(-50.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 250.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 250.0));
   });
 }
 
diff --git a/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart b/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart
index d8ad36f..be89707 100644
--- a/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart
+++ b/packages/flutter/test/widgets/slivers_appbar_pinned_test.dart
@@ -18,7 +18,7 @@
 
 void verifyActualBoxPosition(WidgetTester tester, Finder finder, int index, Rect ideal) {
   final RenderBox box = tester.renderObjectList<RenderBox>(finder).elementAt(index);
-  final Rect rect = new Rect.fromPoints(box.localToGlobal(Point.origin), box.localToGlobal(box.size.bottomRight(Point.origin)));
+  final Rect rect = new Rect.fromPoints(box.localToGlobal(Offset.zero), box.localToGlobal(box.size.bottomRight(Offset.zero)));
   expect(rect, equals(ideal));
 }
 
@@ -196,27 +196,27 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 200.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 200.0));
 
     final ScrollPosition position = tester.state<ScrollableState>(find.byType(Scrollable)).position;
     position.jumpTo(-50.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 250.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 250.0));
 
     position.jumpTo(50.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 150.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 150.0));
 
     position.jumpTo(150.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 50.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 50.0));
   });
 }
 
diff --git a/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart b/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart
index 4a45ddc..8b9f7ac 100644
--- a/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart
+++ b/packages/flutter/test/widgets/slivers_appbar_scrolling_test.dart
@@ -64,7 +64,7 @@
     position.animateTo(RenderBigSliver.height + delegate.maxExtent - 5.0, curve: Curves.linear, duration: const Duration(minutes: 1));
     await tester.pumpAndSettle(const Duration(milliseconds: 1000));
     final RenderBox box = tester.renderObject<RenderBox>(find.byType(Container));
-    final Rect rect = new Rect.fromPoints(box.localToGlobal(Point.origin), box.localToGlobal(box.size.bottomRight(Point.origin)));
+    final Rect rect = new Rect.fromPoints(box.localToGlobal(Offset.zero), box.localToGlobal(box.size.bottomRight(Offset.zero)));
     expect(rect, equals(new Rect.fromLTWH(0.0, -195.0, 800.0, 200.0)));
   });
 
@@ -86,15 +86,15 @@
       ),
     );
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 200.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 200.0));
 
     final ScrollPosition position = tester.state<ScrollableState>(find.byType(Scrollable)).position;
     position.jumpTo(-50.0);
     await tester.pump();
 
-    expect(tester.getTopLeft(find.byType(Container)), Point.origin);
-    expect(tester.getTopLeft(find.text('X')), const Point(0.0, 250.0));
+    expect(tester.getTopLeft(find.byType(Container)), Offset.zero);
+    expect(tester.getTopLeft(find.text('X')), const Offset(0.0, 250.0));
   });
 }
 
diff --git a/packages/flutter/test/widgets/slivers_block_global_key_test.dart b/packages/flutter/test/widgets/slivers_block_global_key_test.dart
index 04d5a59..0bba4f3 100644
--- a/packages/flutter/test/widgets/slivers_block_global_key_test.dart
+++ b/packages/flutter/test/widgets/slivers_block_global_key_test.dart
@@ -36,9 +36,9 @@
   ));
 }
 
-void verify(WidgetTester tester, List<Point> answerKey, String text) {
-  final List<Point> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Point>(
-    (RenderBox target) => target.localToGlobal(const Point(0.0, 0.0))
+void verify(WidgetTester tester, List<Offset> answerKey, String text) {
+  final List<Offset> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Offset>(
+    (RenderBox target) => target.localToGlobal(const Offset(0.0, 0.0))
   ).toList();
   expect(testAnswers, equals(answerKey));
   final String foundText =
@@ -51,74 +51,74 @@
 void main() {
   testWidgets('Viewport+SliverBlock with GlobalKey reparenting', (WidgetTester tester) async {
     await test(tester, 0.0, <int>[1,2,3,4,5,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '1:1 2:1 3:1 4:1 5:1 6:1 ');
     // gen 2 - flipping the order:
     await test(tester, 0.0, <int>[9,8,7,6,5,4,3,2,1]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '9:2 8:2 7:2 6:1 5:1 4:1 ');
     // gen 3 - flipping the order back:
     await test(tester, 0.0, <int>[1,2,3,4,5,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '1:3 2:3 3:3 4:1 5:1 6:1 ');
     // gen 4 - removal:
     await test(tester, 0.0, <int>[1,2,3,5,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '1:3 2:3 3:3 5:1 6:1 7:4 ');
     // gen 5 - insertion:
     await test(tester, 0.0, <int>[1,2,3,4,5,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '1:3 2:3 3:3 4:5 5:1 6:1 ');
     // gen 6 - adjacent reordering:
     await test(tester, 0.0, <int>[1,2,3,5,4,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 500.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 500.0),
     ], '1:3 2:3 3:3 5:1 4:5 6:1 ');
     // gen 7 - scrolling:
     await test(tester, 120.0, <int>[1,2,3,5,4,6,7,8,9]);
-    verify(tester, <Point>[
-      const Point(0.0, -20.0),
-      const Point(0.0, 80.0),
-      const Point(0.0, 180.0),
-      const Point(0.0, 280.0),
-      const Point(0.0, 380.0),
-      const Point(0.0, 480.0),
-      const Point(0.0, 580.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -20.0),
+      const Offset(0.0, 80.0),
+      const Offset(0.0, 180.0),
+      const Offset(0.0, 280.0),
+      const Offset(0.0, 380.0),
+      const Offset(0.0, 480.0),
+      const Offset(0.0, 580.0),
     ], '2:3 3:3 5:1 4:5 6:1 7:7 8:7 ');
   });
 }
diff --git a/packages/flutter/test/widgets/slivers_block_test.dart b/packages/flutter/test/widgets/slivers_block_test.dart
index b8ab56f..7e2b67f 100644
--- a/packages/flutter/test/widgets/slivers_block_test.dart
+++ b/packages/flutter/test/widgets/slivers_block_test.dart
@@ -25,9 +25,9 @@
   ));
 }
 
-void verify(WidgetTester tester, List<Point> answerKey, String text) {
-  final List<Point> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Point>(
-    (RenderBox target) => target.localToGlobal(const Point(0.0, 0.0))
+void verify(WidgetTester tester, List<Offset> answerKey, String text) {
+  final List<Offset> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Offset>(
+    (RenderBox target) => target.localToGlobal(const Offset(0.0, 0.0))
   ).toList();
   expect(testAnswers, equals(answerKey));
   final String foundText =
@@ -41,33 +41,33 @@
   testWidgets('Viewport+SliverBlock basic test', (WidgetTester tester) async {
     await test(tester, 0.0);
     expect(tester.renderObject<RenderBox>(find.byType(Viewport)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 400.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 400.0),
     ], 'ab');
 
     await test(tester, 200.0);
-    verify(tester, <Point>[
-      const Point(0.0, -200.0),
-      const Point(0.0, 200.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -200.0),
+      const Offset(0.0, 200.0),
     ], 'ab');
 
     await test(tester, 600.0);
-    verify(tester, <Point>[
-      const Point(0.0, -200.0),
-      const Point(0.0, 200.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -200.0),
+      const Offset(0.0, 200.0),
     ], 'bc');
 
     await test(tester, 900.0);
-    verify(tester, <Point>[
-      const Point(0.0, -100.0),
-      const Point(0.0, 300.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -100.0),
+      const Offset(0.0, 300.0),
     ], 'cd');
 
     await test(tester, 200.0);
-    verify(tester, <Point>[
-      const Point(0.0, -200.0),
-      const Point(0.0, 200.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -200.0),
+      const Offset(0.0, 200.0),
     ], 'ab');
   });
 
@@ -86,10 +86,10 @@
         ),
       ],
     ));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 251.0),
-      const Point(0.0, 503.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 251.0),
+      const Offset(0.0, 503.0),
     ], 'abc');
     await tester.pumpWidget(new Viewport(
       offset: offset,
@@ -103,10 +103,10 @@
         ),
       ],
     ));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 253.0),
-      const Point(0.0, 504.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 253.0),
+      const Offset(0.0, 504.0),
     ], 'cab');
     await tester.pumpWidget(new Viewport(
       offset: offset,
@@ -120,10 +120,10 @@
         ),
       ],
     ));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 251.0),
-      const Point(0.0, 504.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 251.0),
+      const Offset(0.0, 504.0),
     ], 'acb');
     await tester.pumpWidget(new Viewport(
       offset: offset,
@@ -136,9 +136,9 @@
         ),
       ],
     ));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 251.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 251.0),
     ], 'ab');
     await tester.pumpWidget(new Viewport(
       offset: offset,
@@ -152,10 +152,10 @@
         ),
       ],
     ));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 251.0),
-      const Point(0.0, 504.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 251.0),
+      const Offset(0.0, 504.0),
     ], 'acb');
   });
 
diff --git a/packages/flutter/test/widgets/slivers_padding_test.dart b/packages/flutter/test/widgets/slivers_padding_test.dart
index 4d7fbb0..5d1ad5a 100644
--- a/packages/flutter/test/widgets/slivers_padding_test.dart
+++ b/packages/flutter/test/widgets/slivers_padding_test.dart
@@ -24,8 +24,8 @@
 void verify(WidgetTester tester, List<Rect> answerKey) {
   final List<Rect> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Rect>(
     (RenderBox target) {
-      final Point topLeft = target.localToGlobal(Point.origin);
-      final Point bottomRight = target.localToGlobal(target.size.bottomRight(Point.origin));
+      final Offset topLeft = target.localToGlobal(Offset.zero);
+      final Offset bottomRight = target.localToGlobal(target.size.bottomRight(Offset.zero));
       return new Rect.fromPoints(topLeft, bottomRight);
     }
   ).toList();
@@ -82,15 +82,15 @@
       new Rect.fromLTWH(0.0, 510.0, 800.0, 400.0),
     ]);
     HitTestResult result;
-    result = tester.hitTestOnBinding(const Point(10.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 10.0));
     expect(result.path.first.target, tester.firstRenderObject<RenderObject>(find.byType(Text)));
-    result = tester.hitTestOnBinding(const Point(10.0, 60.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 60.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(100.0, 100.0));
+    result = tester.hitTestOnBinding(const Offset(100.0, 100.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).skip(1).first);
-    result = tester.hitTestOnBinding(const Point(100.0, 490.0));
+    result = tester.hitTestOnBinding(const Offset(100.0, 490.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(10.0, 520.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 520.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).last);
   });
 
@@ -104,15 +104,15 @@
       new Rect.fromLTWH(0.0, 600.0-510.0-400.0, 800.0, 400.0),
     ]);
     HitTestResult result;
-    result = tester.hitTestOnBinding(const Point(10.0, 600.0-10.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 600.0-10.0));
     expect(result.path.first.target, tester.firstRenderObject<RenderObject>(find.byType(Text)));
-    result = tester.hitTestOnBinding(const Point(10.0, 600.0-60.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 600.0-60.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(100.0, 600.0-100.0));
+    result = tester.hitTestOnBinding(const Offset(100.0, 600.0-100.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).skip(1).first);
-    result = tester.hitTestOnBinding(const Point(100.0, 600.0-490.0));
+    result = tester.hitTestOnBinding(const Offset(100.0, 600.0-490.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(10.0, 600.0-520.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 600.0-520.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).last);
   });
 
@@ -126,15 +126,15 @@
       new Rect.fromLTWH(800.0-510.0-400.0, 0.0, 400.0, 600.0),
     ]);
     HitTestResult result;
-    result = tester.hitTestOnBinding(const Point(800.0-10.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(800.0-10.0, 10.0));
     expect(result.path.first.target, tester.firstRenderObject<RenderObject>(find.byType(Text)));
-    result = tester.hitTestOnBinding(const Point(800.0-60.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(800.0-60.0, 10.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(800.0-100.0, 100.0));
+    result = tester.hitTestOnBinding(const Offset(800.0-100.0, 100.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).skip(1).first);
-    result = tester.hitTestOnBinding(const Point(800.0-490.0, 100.0));
+    result = tester.hitTestOnBinding(const Offset(800.0-490.0, 100.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(800.0-520.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(800.0-520.0, 10.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).last);
   });
 
@@ -148,15 +148,15 @@
       new Rect.fromLTWH(510.0, 0.0, 400.0, 600.0),
     ]);
     HitTestResult result;
-    result = tester.hitTestOnBinding(const Point(10.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(10.0, 10.0));
     expect(result.path.first.target, tester.firstRenderObject<RenderObject>(find.byType(Text)));
-    result = tester.hitTestOnBinding(const Point(60.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(60.0, 10.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(100.0, 100.0));
+    result = tester.hitTestOnBinding(const Offset(100.0, 100.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).skip(1).first);
-    result = tester.hitTestOnBinding(const Point(490.0, 100.0));
+    result = tester.hitTestOnBinding(const Offset(490.0, 100.0));
     expect(result.path.first.target, const isInstanceOf<RenderView>());
-    result = tester.hitTestOnBinding(const Point(520.0, 10.0));
+    result = tester.hitTestOnBinding(const Offset(520.0, 10.0));
     expect(result.path.first.target, tester.renderObjectList<RenderObject>(find.byType(Text)).last);
   });
 
@@ -168,7 +168,7 @@
         const SliverToBoxAdapter(child: const SizedBox(width: 400.0, height: 400.0, child: const Text('x'))),
       ],
     ));
-    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Point.origin), const Point(0.0, 200.0));
+    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Offset.zero), const Offset(0.0, 200.0));
   });
 
   testWidgets('Viewport+SliverPadding changing padding', (WidgetTester tester) async {
@@ -180,7 +180,7 @@
         const SliverToBoxAdapter(child: const SizedBox(width: 201.0, child: const Text('x'))),
       ],
     ));
-    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Point.origin), const Point(399.0, 0.0));
+    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Offset.zero), const Offset(399.0, 0.0));
     await tester.pumpWidget(new Viewport(
       axisDirection: AxisDirection.left,
       offset: new ViewportOffset.fixed(0.0),
@@ -189,7 +189,7 @@
         const SliverToBoxAdapter(child: const SizedBox(width: 201.0, child: const Text('x'))),
       ],
     ));
-    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Point.origin), const Point(409.0, 0.0));
+    expect(tester.renderObject<RenderBox>(find.text('x')).localToGlobal(Offset.zero), const Offset(409.0, 0.0));
   });
 
   testWidgets('Viewport+SliverPadding changing direction', (WidgetTester tester) async {
diff --git a/packages/flutter/test/widgets/slivers_test.dart b/packages/flutter/test/widgets/slivers_test.dart
index 9b46be9..b23ccb0 100644
--- a/packages/flutter/test/widgets/slivers_test.dart
+++ b/packages/flutter/test/widgets/slivers_test.dart
@@ -20,9 +20,9 @@
   ));
 }
 
-void verify(WidgetTester tester, List<Point> idealPositions, List<bool> idealVisibles) {
-  final List<Point> actualPositions = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Point>(
-    (RenderBox target) => target.localToGlobal(const Point(0.0, 0.0))
+void verify(WidgetTester tester, List<Offset> idealPositions, List<bool> idealVisibles) {
+  final List<Offset> actualPositions = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Offset>(
+    (RenderBox target) => target.localToGlobal(const Offset(0.0, 0.0))
   ).toList();
   final List<bool> actualVisibles = tester.renderObjectList<RenderSliverToBoxAdapter>(find.byType(SliverToBoxAdapter)).map<bool>(
     (RenderSliverToBoxAdapter target) => target.geometry.visible
@@ -35,78 +35,78 @@
   testWidgets('Viewport basic test', (WidgetTester tester) async {
     await test(tester, 0.0);
     expect(tester.renderObject<RenderBox>(find.byType(Viewport)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[true, true, false, false, false]);
 
     await test(tester, 200.0);
-    verify(tester, <Point>[
-      const Point(0.0, -200.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -200.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[true, true, false, false, false]);
 
     await test(tester, 600.0);
-    verify(tester, <Point>[
-      const Point(0.0, -600.0),
-      const Point(0.0, -200.0),
-      const Point(0.0, 200.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -600.0),
+      const Offset(0.0, -200.0),
+      const Offset(0.0, 200.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[false, true, true, false, false]);
 
     await test(tester, 900.0);
-    verify(tester, <Point>[
-      const Point(0.0, -900.0),
-      const Point(0.0, -500.0),
-      const Point(0.0, -100.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -900.0),
+      const Offset(0.0, -500.0),
+      const Offset(0.0, -100.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 600.0),
     ], <bool>[false, false, true, true, false]);
   });
 
   testWidgets('Viewport anchor test', (WidgetTester tester) async {
     await test(tester, 0.0, anchor: 100.0);
     expect(tester.renderObject<RenderBox>(find.byType(Viewport)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 100.0),
-      const Point(0.0, 500.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 100.0),
+      const Offset(0.0, 500.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[true, true, false, false, false]);
 
     await test(tester, 200.0, anchor: 100.0);
-    verify(tester, <Point>[
-      const Point(0.0, -100.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -100.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[true, true, false, false, false]);
 
     await test(tester, 600.0, anchor: 100.0);
-    verify(tester, <Point>[
-      const Point(0.0, -500.0),
-      const Point(0.0, -100.0),
-      const Point(0.0, 300.0),
-      const Point(0.0, 600.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -500.0),
+      const Offset(0.0, -100.0),
+      const Offset(0.0, 300.0),
+      const Offset(0.0, 600.0),
+      const Offset(0.0, 600.0),
     ], <bool>[false, true, true, false, false]);
 
     await test(tester, 900.0, anchor: 100.0);
-    verify(tester, <Point>[
-      const Point(0.0, -800.0),
-      const Point(0.0, -400.0),
-      const Point(0.0, 0.0),
-      const Point(0.0, 400.0),
-      const Point(0.0, 600.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, -800.0),
+      const Offset(0.0, -400.0),
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 400.0),
+      const Offset(0.0, 600.0),
     ], <bool>[false, false, true, true, false]);
   });
 }
diff --git a/packages/flutter/test/widgets/transform_test.dart b/packages/flutter/test/widgets/transform_test.dart
index faadab9..407891a 100644
--- a/packages/flutter/test/widgets/transform_test.dart
+++ b/packages/flutter/test/widgets/transform_test.dart
@@ -51,9 +51,9 @@
     );
 
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(110.0, 110.0));
+    await tester.tapAt(const Offset(110.0, 110.0));
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(190.0, 150.0));
+    await tester.tapAt(const Offset(190.0, 150.0));
     expect(didReceiveTap, isTrue);
   });
 
@@ -100,9 +100,9 @@
     );
 
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(110.0, 110.0));
+    await tester.tapAt(const Offset(110.0, 110.0));
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(190.0, 150.0));
+    await tester.tapAt(const Offset(190.0, 150.0));
     expect(didReceiveTap, isTrue);
   });
 
@@ -148,9 +148,9 @@
     ));
 
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(110.0, 110.0));
+    await tester.tapAt(const Offset(110.0, 110.0));
     expect(didReceiveTap, isFalse);
-    await tester.tapAt(const Point(190.0, 150.0));
+    await tester.tapAt(const Offset(190.0, 150.0));
     expect(didReceiveTap, isTrue);
   });
 
diff --git a/packages/flutter/test/widgets/wrap_test.dart b/packages/flutter/test/widgets/wrap_test.dart
index 32e5281..4007b31 100644
--- a/packages/flutter/test/widgets/wrap_test.dart
+++ b/packages/flutter/test/widgets/wrap_test.dart
@@ -8,9 +8,9 @@
 
 import '../rendering/mock_canvas.dart';
 
-void verify(WidgetTester tester, List<Point> answerKey) {
-  final List<Point> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Point>(
-    (RenderBox target) => target.localToGlobal(Point.origin)
+void verify(WidgetTester tester, List<Offset> answerKey) {
+  final List<Offset> testAnswers = tester.renderObjectList<RenderBox>(find.byType(SizedBox)).map<Offset>(
+    (RenderBox target) => target.localToGlobal(Offset.zero)
   ).toList();
   expect(testAnswers, equals(answerKey));
 }
@@ -28,11 +28,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(300.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(300.0, 100.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(300.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(300.0, 100.0),
     ]);
 
     await tester.pumpWidget(
@@ -46,11 +46,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(100.0, 0.0),
-      const Point(400.0, 0.0),
-      const Point(100.0, 100.0),
-      const Point(400.0, 100.0),
+    verify(tester, <Offset>[
+      const Offset(100.0, 0.0),
+      const Offset(400.0, 0.0),
+      const Offset(100.0, 100.0),
+      const Offset(400.0, 100.0),
     ]);
 
     await tester.pumpWidget(
@@ -64,11 +64,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(200.0, 0.0),
-      const Point(500.0, 0.0),
-      const Point(200.0, 100.0),
-      const Point(500.0, 100.0),
+    verify(tester, <Offset>[
+      const Offset(200.0, 0.0),
+      const Offset(500.0, 0.0),
+      const Offset(200.0, 100.0),
+      const Offset(500.0, 100.0),
     ]);
 
     await tester.pumpWidget(
@@ -83,11 +83,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(300.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(300.0, 100.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(300.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(300.0, 100.0),
     ]);
 
     await tester.pumpWidget(
@@ -102,11 +102,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(0.0, 25.0),
-      const Point(300.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(300.0, 125.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 25.0),
+      const Offset(300.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(300.0, 125.0),
     ]);
 
     await tester.pumpWidget(
@@ -121,11 +121,11 @@
         ],
       ),
     );
-    verify(tester, <Point>[
-      const Point(0.0, 50.0),
-      const Point(300.0, 0.0),
-      const Point(0.0, 100.0),
-      const Point(300.0, 150.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 50.0),
+      const Offset(300.0, 0.0),
+      const Offset(0.0, 100.0),
+      const Offset(300.0, 150.0),
     ]);
 
   });
@@ -146,10 +146,10 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(95.0, 0.0),
-      const Point(200.0, 0.0),
-      const Point(405.0, 0.0),
+    verify(tester, <Offset>[
+      const Offset(95.0, 0.0),
+      const Offset(200.0, 0.0),
+      const Offset(405.0, 0.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -162,10 +162,10 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(200.0, 0.0),
-      const Point(500.0, 0.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(200.0, 0.0),
+      const Offset(500.0, 0.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -178,10 +178,10 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(30.0, 0.0),
-      const Point(195.0, 0.0),
-      const Point(460.0, 0.0),
+    verify(tester, <Offset>[
+      const Offset(30.0, 0.0),
+      const Offset(195.0, 0.0),
+      const Offset(460.0, 0.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -194,10 +194,10 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(45.0, 0.0),
-      const Point(195.0, 0.0),
-      const Point(445.0, 0.0),
+    verify(tester, <Offset>[
+      const Offset(45.0, 0.0),
+      const Offset(195.0, 0.0),
+      const Offset(445.0, 0.0),
     ]);
   });
 
@@ -214,12 +214,12 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 230.0),
-      const Point(100.0, 230.0),
-      const Point(300.0, 230.0),
-      const Point(0.0, 265.0),
-      const Point(0.0, 310.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 230.0),
+      const Offset(100.0, 230.0),
+      const Offset(300.0, 230.0),
+      const Offset(0.0, 265.0),
+      const Offset(0.0, 310.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -234,12 +234,12 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(100.0, 0.0),
-      const Point(300.0, 0.0),
-      const Point(0.0, 265.0),
-      const Point(0.0, 540.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(100.0, 0.0),
+      const Offset(300.0, 0.0),
+      const Offset(0.0, 265.0),
+      const Offset(0.0, 540.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -254,12 +254,12 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 75.0),
-      const Point(100.0, 75.0),
-      const Point(300.0, 75.0),
-      const Point(0.0, 260.0),
-      const Point(0.0, 455.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 75.0),
+      const Offset(100.0, 75.0),
+      const Offset(300.0, 75.0),
+      const Offset(0.0, 260.0),
+      const Offset(0.0, 455.0),
     ]);
 
     await tester.pumpWidget(new Wrap(
@@ -274,12 +274,12 @@
       ],
     ));
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(800.0, 600.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 115.0),
-      const Point(100.0, 115.0),
-      const Point(300.0, 115.0),
-      const Point(0.0, 265.0),
-      const Point(0.0, 425.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 115.0),
+      const Offset(100.0, 115.0),
+      const Offset(300.0, 115.0),
+      const Offset(0.0, 265.0),
+      const Offset(0.0, 425.0),
     ]);
 
   });
@@ -301,11 +301,11 @@
       ),
     );
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(600.0, 70.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 20.0),
-      const Point(100.0, 10.0),
-      const Point(300.0, 0.0),
-      const Point(200.0, 30.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 20.0),
+      const Offset(100.0, 10.0),
+      const Offset(300.0, 0.0),
+      const Offset(200.0, 30.0),
     ]);
 
     await tester.pumpWidget(
@@ -324,11 +324,11 @@
       ),
     );
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(700.0, 60.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(400.0, 10.0),
-      const Point(400.0, 40.0),
-      const Point(600.0, 50.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(400.0, 10.0),
+      const Offset(400.0, 40.0),
+      const Offset(600.0, 50.0),
     ]);
   });
 
@@ -350,11 +350,11 @@
       ),
     );
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(500.0, 130.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 20.0),
-      const Point(0.0, 50.0),
-      const Point(0.0, 90.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 20.0),
+      const Offset(0.0, 50.0),
+      const Offset(0.0, 90.0),
     ]);
   });
 
@@ -380,13 +380,13 @@
       ),
     );
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(150.0, 510.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(0.0, 260.0),
-      const Point(35.0, 0.0),
-      const Point(35.0, 260.0),
-      const Point(90.0, 0.0),
-      const Point(90.0, 260.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(0.0, 260.0),
+      const Offset(35.0, 0.0),
+      const Offset(35.0, 260.0),
+      const Offset(90.0, 0.0),
+      const Offset(90.0, 260.0),
     ]);
 
     await tester.pumpWidget(
@@ -408,13 +408,13 @@
       ),
     );
     expect(tester.renderObject<RenderBox>(find.byType(Wrap)).size, equals(const Size(270.0, 258.0)));
-    verify(tester, <Point>[
-      const Point(0.0, 0.0),
-      const Point(22.0, 0.0),
-      const Point(54.0, 0.0),
-      const Point(96.0, 0.0),
-      const Point(148.0, 0.0),
-      const Point(210.0, 0.0),
+    verify(tester, <Offset>[
+      const Offset(0.0, 0.0),
+      const Offset(22.0, 0.0),
+      const Offset(54.0, 0.0),
+      const Offset(96.0, 0.0),
+      const Offset(148.0, 0.0),
+      const Offset(210.0, 0.0),
     ]);
   });
 
@@ -459,16 +459,16 @@
       ],
     ));
 
-    await tester.tapAt(const Point(209.0, 314.0));
+    await tester.tapAt(const Offset(209.0, 314.0));
     expect(log, isEmpty);
 
-    await tester.tapAt(const Point(211.0, 314.0));
+    await tester.tapAt(const Offset(211.0, 314.0));
     expect(log, isEmpty);
 
-    await tester.tapAt(const Point(209.0, 316.0));
+    await tester.tapAt(const Offset(209.0, 316.0));
     expect(log, isEmpty);
 
-    await tester.tapAt(const Point(211.0, 316.0));
+    await tester.tapAt(const Offset(211.0, 316.0));
     expect(log, equals(<String>['hit']));
   });
 
diff --git a/packages/flutter_driver/lib/src/extension.dart b/packages/flutter_driver/lib/src/extension.dart
index a3ef896..18fbfd7 100644
--- a/packages/flutter_driver/lib/src/extension.dart
+++ b/packages/flutter_driver/lib/src/extension.dart
@@ -238,8 +238,8 @@
     final int totalMoves = scrollCommand.duration.inMicroseconds * scrollCommand.frequency ~/ Duration.MICROSECONDS_PER_SECOND;
     final Offset delta = new Offset(scrollCommand.dx, scrollCommand.dy) / totalMoves.toDouble();
     final Duration pause = scrollCommand.duration ~/ totalMoves;
-    final Point startLocation = _prober.getCenter(target);
-    Point currentLocation = startLocation;
+    final Offset startLocation = _prober.getCenter(target);
+    Offset currentLocation = startLocation;
     final TestPointer pointer = new TestPointer(1);
     final HitTestResult hitTest = new HitTestResult();
 
diff --git a/packages/flutter_test/lib/src/binding.dart b/packages/flutter_test/lib/src/binding.dart
index 3223f94..5c4e50b 100644
--- a/packages/flutter_test/lib/src/binding.dart
+++ b/packages/flutter_test/lib/src/binding.dart
@@ -197,12 +197,12 @@
   /// Convert the given point from the global coodinate system (as used by
   /// pointer events from the device) to the coordinate system used by the
   /// tests (an 800 by 600 window).
-  Point globalToLocal(Point point) => point;
+  Offset globalToLocal(Offset point) => point;
 
   /// Convert the given point from the coordinate system used by the tests (an
   /// 800 by 600 window) to the global coodinate system (as used by pointer
   /// events from the device).
-  Point localToGlobal(Point point) => point;
+  Offset localToGlobal(Offset point) => point;
 
   @override
   void dispatchEvent(PointerEvent event, HitTestResult result, {
@@ -852,16 +852,16 @@
   }
 
   @override
-  Point globalToLocal(Point point) {
+  Offset globalToLocal(Offset point) {
     final Matrix4 transform = renderView.configuration.toHitTestMatrix();
     final double det = transform.invert();
     assert(det != 0.0);
-    final Point result = MatrixUtils.transformPoint(transform, point);
+    final Offset result = MatrixUtils.transformPoint(transform, point);
     return result;
   }
 
   @override
-  Point localToGlobal(Point point) {
+  Offset localToGlobal(Offset point) {
     final Matrix4 transform = renderView.configuration.toHitTestMatrix();
     return MatrixUtils.transformPoint(transform, point);
   }
@@ -932,7 +932,7 @@
       decay = 1;
   final int pointer;
   final Color color;
-  Point position;
+  Offset position;
   int decay; // >0 means down, <0 means up, increases by one each time, removed at 0
 }
 
@@ -970,7 +970,7 @@
   }
 
   @override
-  bool hitTest(HitTestResult result, { Point position }) {
+  bool hitTest(HitTestResult result, { Offset position }) {
     final Matrix4 transform = configuration.toHitTestMatrix();
     final double det = transform.invert();
     assert(det != 0.0);
@@ -985,7 +985,7 @@
     if (_pointers.isNotEmpty) {
       final double radius = configuration.size.shortestSide * 0.05;
       final Path path = new Path()
-        ..addOval(new Rect.fromCircle(center: Point.origin, radius: radius))
+        ..addOval(new Rect.fromCircle(center: Offset.zero, radius: radius))
         ..moveTo(0.0, -radius * 2.0)
         ..lineTo(0.0, radius * 2.0)
         ..moveTo(-radius * 2.0, 0.0)
@@ -998,7 +998,7 @@
       for (int pointer in _pointers.keys) {
         final _LiveTestPointerRecord record = _pointers[pointer];
         paint.color = record.color.withOpacity(record.decay < 0 ? (record.decay / (_kPointerDecay - 1)) : 1.0);
-        canvas.drawPath(path.shift(record.position.toOffset()), paint);
+        canvas.drawPath(path.shift(record.position), paint);
         if (record.decay < 0)
           dirty = true;
         record.decay += 1;
diff --git a/packages/flutter_test/lib/src/controller.dart b/packages/flutter_test/lib/src/controller.dart
index 41d61ef..508ec52 100644
--- a/packages/flutter_test/lib/src/controller.dart
+++ b/packages/flutter_test/lib/src/controller.dart
@@ -257,7 +257,7 @@
   }
 
   /// Dispatch a pointer down / pointer up sequence at the given location.
-  Future<Null> tapAt(Point location, { int pointer }) {
+  Future<Null> tapAt(Offset location, { int pointer }) {
     return TestAsyncUtils.guard(() async {
       final TestGesture gesture = await startGesture(location, pointer: pointer);
       await gesture.up();
@@ -277,7 +277,7 @@
 
   /// Dispatch a pointer down / pointer up sequence at the given location with
   /// a delay of [kLongPressTimeout] + [kPressTimeout] between the two events.
-  Future<Null> longPressAt(Point location, { int pointer }) {
+  Future<Null> longPressAt(Offset location, { int pointer }) {
     return TestAsyncUtils.guard(() async {
       final TestGesture gesture = await startGesture(location, pointer: pointer);
       await pump(kLongPressTimeout + kPressTimeout);
@@ -324,7 +324,7 @@
   ///
   /// A fling is essentially a drag that ends at a particular speed. If you
   /// just want to drag and end without a fling, use [dragFrom].
-  Future<Null> flingFrom(Point startLocation, Offset offset, double speed, { int pointer, Duration frameInterval: const Duration(milliseconds: 16) }) {
+  Future<Null> flingFrom(Offset startLocation, Offset offset, double speed, { int pointer, Duration frameInterval: const Duration(milliseconds: 16) }) {
     assert(offset.distance > 0.0);
     assert(speed > 0.0); // speed is pixels/second
     return TestAsyncUtils.guard(() async {
@@ -336,7 +336,7 @@
       double lastTimeStamp = timeStamp;
       await sendEventToBinding(testPointer.down(startLocation, timeStamp: new Duration(milliseconds: timeStamp.round())), result);
       for (int i = 0; i <= kMoveCount; i += 1) {
-        final Point location = startLocation + Offset.lerp(Offset.zero, offset, i / kMoveCount);
+        final Offset location = startLocation + Offset.lerp(Offset.zero, offset, i / kMoveCount);
         await sendEventToBinding(testPointer.move(location, timeStamp: new Duration(milliseconds: timeStamp.round())), result);
         timeStamp += timeStampDelta;
         if (timeStamp - lastTimeStamp > frameInterval.inMilliseconds) {
@@ -377,7 +377,7 @@
   /// If you want the drag to end with a speed so that the gesture recognition
   /// system identifies the gesture as a fling, consider using [flingFrom]
   /// instead.
-  Future<Null> dragFrom(Point startLocation, Offset offset, { int pointer }) {
+  Future<Null> dragFrom(Offset startLocation, Offset offset, { int pointer }) {
     return TestAsyncUtils.guard(() async {
       final TestGesture gesture = await startGesture(startLocation, pointer: pointer);
       assert(gesture != null);
@@ -401,7 +401,7 @@
 
   /// Begins a gesture at a particular point, and returns the
   /// [TestGesture] object which you can use to continue the gesture.
-  Future<TestGesture> startGesture(Point downLocation, { int pointer }) {
+  Future<TestGesture> startGesture(Offset downLocation, { int pointer }) {
     return TestGesture.down(
       downLocation,
       pointer: pointer ?? _getNextPointer(),
@@ -411,7 +411,7 @@
   }
 
   /// Forwards the given location to the binding's hitTest logic.
-  HitTestResult hitTestOnBinding(Point location) {
+  HitTestResult hitTestOnBinding(Offset location) {
     final HitTestResult result = new HitTestResult();
     binding.hitTest(result, location);
     return result;
@@ -429,34 +429,34 @@
   // GEOMETRY
 
   /// Returns the point at the center of the given widget.
-  Point getCenter(Finder finder) {
-    return _getElementPoint(finder, (Size size) => size.center(Point.origin));
+  Offset getCenter(Finder finder) {
+    return _getElementPoint(finder, (Size size) => size.center(Offset.zero));
   }
 
   /// Returns the point at the top left of the given widget.
-  Point getTopLeft(Finder finder) {
-    return _getElementPoint(finder, (Size size) => Point.origin);
+  Offset getTopLeft(Finder finder) {
+    return _getElementPoint(finder, (Size size) => Offset.zero);
   }
 
   /// Returns the point at the top right of the given widget. This
   /// point is not inside the object's hit test area.
-  Point getTopRight(Finder finder) {
-    return _getElementPoint(finder, (Size size) => size.topRight(Point.origin));
+  Offset getTopRight(Finder finder) {
+    return _getElementPoint(finder, (Size size) => size.topRight(Offset.zero));
   }
 
   /// Returns the point at the bottom left of the given widget. This
   /// point is not inside the object's hit test area.
-  Point getBottomLeft(Finder finder) {
-    return _getElementPoint(finder, (Size size) => size.bottomLeft(Point.origin));
+  Offset getBottomLeft(Finder finder) {
+    return _getElementPoint(finder, (Size size) => size.bottomLeft(Offset.zero));
   }
 
   /// Returns the point at the bottom right of the given widget. This
   /// point is not inside the object's hit test area.
-  Point getBottomRight(Finder finder) {
-    return _getElementPoint(finder, (Size size) => size.bottomRight(Point.origin));
+  Offset getBottomRight(Finder finder) {
+    return _getElementPoint(finder, (Size size) => size.bottomRight(Offset.zero));
   }
 
-  Point _getElementPoint(Finder finder, Point sizeToPoint(Size size)) {
+  Offset _getElementPoint(Finder finder, Offset sizeToPoint(Size size)) {
     TestAsyncUtils.guardSync();
     final Element element = finder.evaluate().single;
     final RenderBox box = element.renderObject;
diff --git a/packages/flutter_test/lib/src/test_pointer.dart b/packages/flutter_test/lib/src/test_pointer.dart
index f9a9213..6b3ecd7 100644
--- a/packages/flutter_test/lib/src/test_pointer.dart
+++ b/packages/flutter_test/lib/src/test_pointer.dart
@@ -9,7 +9,7 @@
 
 import 'test_async_utils.dart';
 
-export 'dart:ui' show Point;
+export 'dart:ui' show Offset;
 
 /// A class for generating coherent artificial pointer events.
 ///
@@ -40,15 +40,15 @@
   /// The position of the last event sent by this object.
   ///
   /// If no event has ever been sent by this object, returns null.
-  Point get location => _location;
-  Point _location;
+  Offset get location => _location;
+  Offset _location;
 
   /// Create a [PointerDownEvent] at the given location.
   ///
   /// By default, the time stamp on the event is [Duration.ZERO]. You
   /// can give a specific time stamp by passing the `timeStamp`
   /// argument.
-  PointerDownEvent down(Point newLocation, { Duration timeStamp: Duration.ZERO }) {
+  PointerDownEvent down(Offset newLocation, { Duration timeStamp: Duration.ZERO }) {
     assert(!isDown);
     _isDown = true;
     _location = newLocation;
@@ -64,7 +64,7 @@
   /// By default, the time stamp on the event is [Duration.ZERO]. You
   /// can give a specific time stamp by passing the `timeStamp`
   /// argument.
-  PointerMoveEvent move(Point newLocation, { Duration timeStamp: Duration.ZERO }) {
+  PointerMoveEvent move(Offset newLocation, { Duration timeStamp: Duration.ZERO }) {
     assert(isDown);
     final Offset delta = newLocation - location;
     _location = newLocation;
@@ -116,7 +116,7 @@
 typedef Future<Null> EventDispatcher(PointerEvent event, HitTestResult result);
 
 /// Signature for callbacks that perform hit-testing at a given location.
-typedef HitTestResult HitTester(Point location);
+typedef HitTestResult HitTester(Offset location);
 
 /// A class for performing gestures in tests.
 ///
@@ -134,7 +134,7 @@
   /// A function to use for hit testing should be provided via the `hitTester`
   /// argument, and a function to use for dispatching events should be provided
   /// via the `dispatcher` argument.
-  static Future<TestGesture> down(Point downLocation, {
+  static Future<TestGesture> down(Offset downLocation, {
     int pointer: 1,
     @required HitTester hitTester,
     @required EventDispatcher dispatcher,
@@ -169,7 +169,7 @@
   }
 
   /// Send a move event moving the pointer to the given location.
-  Future<Null> moveTo(Point location) {
+  Future<Null> moveTo(Offset location) {
     return TestAsyncUtils.guard(() {
       assert(_pointer._isDown);
       return _dispatcher(_pointer.move(location), _result);
diff --git a/packages/flutter_test/lib/src/widget_tester.dart b/packages/flutter_test/lib/src/widget_tester.dart
index 88e0afe..b4b43b7 100644
--- a/packages/flutter_test/lib/src/widget_tester.dart
+++ b/packages/flutter_test/lib/src/widget_tester.dart
@@ -261,7 +261,7 @@
   bool get hasRunningAnimations => binding.transientCallbackCount > 0;
 
   @override
-  HitTestResult hitTestOnBinding(Point location) {
+  HitTestResult hitTestOnBinding(Offset location) {
     location = binding.localToGlobal(location);
     return super.hitTestOnBinding(location);
   }