34 g_autoptr(GError)
error =
nullptr;
36 EXPECT_EQ(
error,
nullptr);
38 std::vector<FlutterPointerEvent> pointer_events;
41 ([&pointer_events](
auto engine,
const FlutterPointerEvent* events,
42 size_t events_count) {
43 for (
size_t i = 0;
i < events_count;
i++) {
44 pointer_events.push_back(events[
i]);
53 GdkEventTouch*
event =
54 reinterpret_cast<GdkEventTouch*
>(gdk_event_new(GDK_TOUCH_BEGIN));
58 event->device = touchscreen;
60 EXPECT_EQ(pointer_events.size(), 2u);
61 EXPECT_EQ(pointer_events[0].x, 4.0);
62 EXPECT_EQ(pointer_events[0].y, 8.0);
63 EXPECT_EQ(pointer_events[0].device_kind, kFlutterPointerDeviceKindTouch);
64 EXPECT_EQ(pointer_events[0].timestamp,
66 EXPECT_EQ(pointer_events[0].phase, kAdd);
68 EXPECT_EQ(pointer_events[1].x, 4.0);
69 EXPECT_EQ(pointer_events[1].y, 8.0);
70 EXPECT_EQ(pointer_events[1].device_kind, kFlutterPointerDeviceKindTouch);
71 EXPECT_EQ(pointer_events[1].timestamp,
73 EXPECT_EQ(pointer_events[1].phase, kDown);
75 event->type = GDK_TOUCH_UPDATE;
77 EXPECT_EQ(pointer_events.size(), 3u);
78 EXPECT_EQ(pointer_events[2].x, 4.0);
79 EXPECT_EQ(pointer_events[2].y, 8.0);
80 EXPECT_EQ(pointer_events[2].device_kind, kFlutterPointerDeviceKindTouch);
81 EXPECT_EQ(pointer_events[2].timestamp,
83 EXPECT_EQ(pointer_events[2].phase, kMove);
85 event->type = GDK_TOUCH_END;
87 EXPECT_EQ(pointer_events.size(), 5u);
88 EXPECT_EQ(pointer_events[3].x, 4.0);
89 EXPECT_EQ(pointer_events[3].y, 8.0);
90 EXPECT_EQ(pointer_events[3].device_kind, kFlutterPointerDeviceKindTouch);
91 EXPECT_EQ(pointer_events[3].timestamp,
93 EXPECT_EQ(pointer_events[3].phase, kUp);
95 EXPECT_EQ(pointer_events[4].x, 4.0);
96 EXPECT_EQ(pointer_events[4].y, 8.0);
97 EXPECT_EQ(pointer_events[4].device_kind, kFlutterPointerDeviceKindTouch);
98 EXPECT_EQ(pointer_events[4].timestamp,
100 EXPECT_EQ(pointer_events[4].phase, kRemove);