11TEST(FlPointerManagerTest, EnterLeave) {
17 EXPECT_EQ(
error,
nullptr);
19 std::vector<FlutterPointerEvent> pointer_events;
23 size_t events_count) {
24 for (
size_t i = 0;
i < events_count;
i++) {
25 pointer_events.push_back(events[
i]);
37 EXPECT_EQ(pointer_events.size(), 2u);
39 EXPECT_EQ(pointer_events[0].timestamp, 1234000u);
40 EXPECT_EQ(pointer_events[0].
x, 1.0);
41 EXPECT_EQ(pointer_events[0].
y, 2.0);
43 EXPECT_EQ(pointer_events[0].buttons, 0);
44 EXPECT_EQ(pointer_events[0].
view_id, 42);
46 EXPECT_EQ(pointer_events[1].timestamp, 1235000u);
47 EXPECT_EQ(pointer_events[1].
x, 3.0);
48 EXPECT_EQ(pointer_events[1].
y, 4.0);
50 EXPECT_EQ(pointer_events[1].buttons, 0);
51 EXPECT_EQ(pointer_events[1].
view_id, 42);
54TEST(FlPointerManagerTest, EnterEnter) {
60 EXPECT_EQ(
error,
nullptr);
62 std::vector<FlutterPointerEvent> pointer_events;
66 size_t events_count) {
67 for (
size_t i = 0;
i < events_count;
i++) {
68 pointer_events.push_back(events[
i]);
81 EXPECT_EQ(pointer_events.size(), 1u);
83 EXPECT_EQ(pointer_events[0].timestamp, 1234000u);
84 EXPECT_EQ(pointer_events[0].
x, 1.0);
85 EXPECT_EQ(pointer_events[0].
y, 2.0);
87 EXPECT_EQ(pointer_events[0].buttons, 0);
88 EXPECT_EQ(pointer_events[0].
view_id, 42);
91TEST(FlPointerManagerTest, EnterLeaveLeave) {
97 EXPECT_EQ(
error,
nullptr);
99 std::vector<FlutterPointerEvent> pointer_events;
103 size_t events_count) {
104 for (
size_t i = 0;
i < events_count;
i++) {
105 pointer_events.push_back(events[
i]);
120 EXPECT_EQ(pointer_events.size(), 2u);
122 EXPECT_EQ(pointer_events[0].timestamp, 1234000u);
123 EXPECT_EQ(pointer_events[0].
x, 1.0);
124 EXPECT_EQ(pointer_events[0].
y, 2.0);
126 EXPECT_EQ(pointer_events[0].buttons, 0);
127 EXPECT_EQ(pointer_events[0].
view_id, 42);
129 EXPECT_EQ(pointer_events[1].timestamp, 1235000u);
130 EXPECT_EQ(pointer_events[1].
x, 3.0);
131 EXPECT_EQ(pointer_events[1].
y, 4.0);
133 EXPECT_EQ(pointer_events[1].buttons, 0);
134 EXPECT_EQ(pointer_events[1].
view_id, 42);
137TEST(FlPointerManagerTest, EnterButtonPress) {
143 EXPECT_EQ(
error,
nullptr);
145 std::vector<FlutterPointerEvent> pointer_events;
149 size_t events_count) {
150 for (
size_t i = 0;
i < events_count;
i++) {
151 pointer_events.push_back(events[
i]);
162 8.0, GDK_BUTTON_PRIMARY);
164 EXPECT_EQ(pointer_events.size(), 2u);
166 EXPECT_EQ(pointer_events[0].timestamp, 1234000u);
167 EXPECT_EQ(pointer_events[0].
x, 1.0);
168 EXPECT_EQ(pointer_events[0].
y, 2.0);
170 EXPECT_EQ(pointer_events[0].buttons, 0);
171 EXPECT_EQ(pointer_events[0].
view_id, 42);
173 EXPECT_EQ(pointer_events[1].timestamp, 1235000u);
174 EXPECT_EQ(pointer_events[1].
x, 4.0);
175 EXPECT_EQ(pointer_events[1].
y, 8.0);
178 EXPECT_EQ(pointer_events[1].
view_id, 42);
181TEST(FlPointerManagerTest, NoEnterButtonPress) {
187 EXPECT_EQ(
error,
nullptr);
189 std::vector<FlutterPointerEvent> pointer_events;
193 size_t events_count) {
194 for (
size_t i = 0;
i < events_count;
i++) {
195 pointer_events.push_back(events[
i]);
204 8.0, GDK_BUTTON_PRIMARY);
206 EXPECT_EQ(pointer_events.size(), 2u);
209 EXPECT_EQ(pointer_events[0].timestamp, 1234000u);
210 EXPECT_EQ(pointer_events[0].
x, 4.0);
211 EXPECT_EQ(pointer_events[0].
y, 8.0);
213 EXPECT_EQ(pointer_events[0].buttons, 0);
214 EXPECT_EQ(pointer_events[0].
view_id, 42);
216 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
217 EXPECT_EQ(pointer_events[1].
x, 4.0);
218 EXPECT_EQ(pointer_events[1].
y, 8.0);
221 EXPECT_EQ(pointer_events[1].
view_id, 42);
224TEST(FlPointerManagerTest, ButtonPressButtonReleasePrimary) {
230 EXPECT_EQ(
error,
nullptr);
232 std::vector<FlutterPointerEvent> pointer_events;
236 size_t events_count) {
237 for (
size_t i = 0;
i < events_count;
i++) {
238 pointer_events.push_back(events[
i]);
247 8.0, GDK_BUTTON_PRIMARY);
250 9.0, GDK_BUTTON_PRIMARY);
252 EXPECT_EQ(pointer_events.size(), 3u);
255 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
256 EXPECT_EQ(pointer_events[1].
x, 4.0);
257 EXPECT_EQ(pointer_events[1].
y, 8.0);
260 EXPECT_EQ(pointer_events[1].
view_id, 42);
261 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
262 EXPECT_EQ(pointer_events[2].
x, 5.0);
263 EXPECT_EQ(pointer_events[2].
y, 9.0);
265 EXPECT_EQ(pointer_events[2].buttons, 0);
266 EXPECT_EQ(pointer_events[2].
view_id, 42);
269TEST(FlPointerManagerTest, ButtonPressButtonReleaseSecondary) {
275 EXPECT_EQ(
error,
nullptr);
277 std::vector<FlutterPointerEvent> pointer_events;
281 size_t events_count) {
282 for (
size_t i = 0;
i < events_count;
i++) {
283 pointer_events.push_back(events[
i]);
292 8.0, GDK_BUTTON_SECONDARY);
295 9.0, GDK_BUTTON_SECONDARY);
297 EXPECT_EQ(pointer_events.size(), 3u);
300 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
301 EXPECT_EQ(pointer_events[1].
x, 4.0);
302 EXPECT_EQ(pointer_events[1].
y, 8.0);
305 EXPECT_EQ(pointer_events[1].
view_id, 42);
306 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
307 EXPECT_EQ(pointer_events[2].
x, 5.0);
308 EXPECT_EQ(pointer_events[2].
y, 9.0);
310 EXPECT_EQ(pointer_events[2].buttons, 0);
311 EXPECT_EQ(pointer_events[2].
view_id, 42);
314TEST(FlPointerManagerTest, ButtonPressButtonReleaseMiddle) {
320 EXPECT_EQ(
error,
nullptr);
322 std::vector<FlutterPointerEvent> pointer_events;
326 size_t events_count) {
327 for (
size_t i = 0;
i < events_count;
i++) {
328 pointer_events.push_back(events[
i]);
337 8.0, GDK_BUTTON_MIDDLE);
340 9.0, GDK_BUTTON_MIDDLE);
342 EXPECT_EQ(pointer_events.size(), 3u);
345 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
346 EXPECT_EQ(pointer_events[1].
x, 4.0);
347 EXPECT_EQ(pointer_events[1].
y, 8.0);
350 EXPECT_EQ(pointer_events[1].
view_id, 42);
351 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
352 EXPECT_EQ(pointer_events[2].
x, 5.0);
353 EXPECT_EQ(pointer_events[2].
y, 9.0);
355 EXPECT_EQ(pointer_events[2].buttons, 0);
356 EXPECT_EQ(pointer_events[2].
view_id, 42);
359TEST(FlPointerManagerTest, ButtonPressButtonReleaseBack) {
365 EXPECT_EQ(
error,
nullptr);
367 std::vector<FlutterPointerEvent> pointer_events;
371 size_t events_count) {
372 for (
size_t i = 0;
i < events_count;
i++) {
373 pointer_events.push_back(events[
i]);
386 EXPECT_EQ(pointer_events.size(), 3u);
389 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
390 EXPECT_EQ(pointer_events[1].
x, 4.0);
391 EXPECT_EQ(pointer_events[1].
y, 8.0);
394 EXPECT_EQ(pointer_events[1].
view_id, 42);
395 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
396 EXPECT_EQ(pointer_events[2].
x, 5.0);
397 EXPECT_EQ(pointer_events[2].
y, 9.0);
399 EXPECT_EQ(pointer_events[2].buttons, 0);
400 EXPECT_EQ(pointer_events[2].
view_id, 42);
403TEST(FlPointerManagerTest, ButtonPressButtonReleaseForward) {
409 EXPECT_EQ(
error,
nullptr);
411 std::vector<FlutterPointerEvent> pointer_events;
415 size_t events_count) {
416 for (
size_t i = 0;
i < events_count;
i++) {
417 pointer_events.push_back(events[
i]);
430 EXPECT_EQ(pointer_events.size(), 3u);
433 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
434 EXPECT_EQ(pointer_events[1].
x, 4.0);
435 EXPECT_EQ(pointer_events[1].
y, 8.0);
438 EXPECT_EQ(pointer_events[1].
view_id, 42);
439 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
440 EXPECT_EQ(pointer_events[2].
x, 5.0);
441 EXPECT_EQ(pointer_events[2].
y, 9.0);
443 EXPECT_EQ(pointer_events[2].buttons, 0);
444 EXPECT_EQ(pointer_events[2].
view_id, 42);
447TEST(FlPointerManagerTest, ButtonPressButtonReleaseThreeButtons) {
453 EXPECT_EQ(
error,
nullptr);
455 std::vector<FlutterPointerEvent> pointer_events;
459 size_t events_count) {
460 for (
size_t i = 0;
i < events_count;
i++) {
461 pointer_events.push_back(events[
i]);
471 2.0, GDK_BUTTON_PRIMARY);
474 4.0, GDK_BUTTON_SECONDARY);
477 6.0, GDK_BUTTON_MIDDLE);
480 8.0, GDK_BUTTON_MIDDLE);
483 10.0, GDK_BUTTON_SECONDARY);
488 EXPECT_EQ(pointer_events.size(), 7u);
491 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
492 EXPECT_EQ(pointer_events[1].
x, 1.0);
493 EXPECT_EQ(pointer_events[1].
y, 2.0);
495 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
496 EXPECT_EQ(pointer_events[2].
x, 3.0);
497 EXPECT_EQ(pointer_events[2].
y, 4.0);
500 EXPECT_EQ(pointer_events[3].timestamp, 1236000u);
501 EXPECT_EQ(pointer_events[3].
x, 5.0);
502 EXPECT_EQ(pointer_events[3].
y, 6.0);
506 EXPECT_EQ(pointer_events[4].timestamp, 1237000u);
507 EXPECT_EQ(pointer_events[4].
x, 7.0);
508 EXPECT_EQ(pointer_events[4].
y, 8.0);
511 EXPECT_EQ(pointer_events[5].timestamp, 1238000u);
512 EXPECT_EQ(pointer_events[5].
x, 9.0);
513 EXPECT_EQ(pointer_events[5].
y, 10.0);
515 EXPECT_EQ(pointer_events[6].timestamp, 1239000u);
516 EXPECT_EQ(pointer_events[6].
x, 11.0);
517 EXPECT_EQ(pointer_events[6].
y, 12.0);
518 EXPECT_EQ(pointer_events[6].buttons, 0);
521TEST(FlPointerManagerTest, ButtonPressButtonPressButtonRelease) {
527 EXPECT_EQ(
error,
nullptr);
529 std::vector<FlutterPointerEvent> pointer_events;
533 size_t events_count) {
534 for (
size_t i = 0;
i < events_count;
i++) {
535 pointer_events.push_back(events[
i]);
544 8.0, GDK_BUTTON_PRIMARY);
548 10.0, GDK_BUTTON_PRIMARY);
551 9.0, GDK_BUTTON_PRIMARY);
553 EXPECT_EQ(pointer_events.size(), 3u);
556 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
557 EXPECT_EQ(pointer_events[1].
x, 4.0);
558 EXPECT_EQ(pointer_events[1].
y, 8.0);
561 EXPECT_EQ(pointer_events[1].
view_id, 42);
562 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
563 EXPECT_EQ(pointer_events[2].
x, 5.0);
564 EXPECT_EQ(pointer_events[2].
y, 9.0);
566 EXPECT_EQ(pointer_events[2].buttons, 0);
567 EXPECT_EQ(pointer_events[2].
view_id, 42);
570TEST(FlPointerManagerTest, ButtonPressButtonReleaseButtonRelease) {
576 EXPECT_EQ(
error,
nullptr);
578 std::vector<FlutterPointerEvent> pointer_events;
582 size_t events_count) {
583 for (
size_t i = 0;
i < events_count;
i++) {
584 pointer_events.push_back(events[
i]);
593 8.0, GDK_BUTTON_PRIMARY);
596 9.0, GDK_BUTTON_PRIMARY);
600 10.0, GDK_BUTTON_PRIMARY);
602 EXPECT_EQ(pointer_events.size(), 3u);
605 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
606 EXPECT_EQ(pointer_events[1].
x, 4.0);
607 EXPECT_EQ(pointer_events[1].
y, 8.0);
610 EXPECT_EQ(pointer_events[1].
view_id, 42);
611 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
612 EXPECT_EQ(pointer_events[2].
x, 5.0);
613 EXPECT_EQ(pointer_events[2].
y, 9.0);
615 EXPECT_EQ(pointer_events[2].buttons, 0);
616 EXPECT_EQ(pointer_events[2].
view_id, 42);
648TEST(FlPointerManagerTest, Motion) {
654 EXPECT_EQ(
error,
nullptr);
656 std::vector<FlutterPointerEvent> pointer_events;
660 size_t events_count) {
661 for (
size_t i = 0;
i < events_count;
i++) {
662 pointer_events.push_back(events[
i]);
676 EXPECT_EQ(pointer_events.size(), 4u);
679 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
680 EXPECT_EQ(pointer_events[1].
x, 1.0);
681 EXPECT_EQ(pointer_events[1].
y, 2.0);
683 EXPECT_EQ(pointer_events[1].buttons, 0);
684 EXPECT_EQ(pointer_events[1].
view_id, 42);
685 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
686 EXPECT_EQ(pointer_events[2].
x, 3.0);
687 EXPECT_EQ(pointer_events[2].
y, 4.0);
689 EXPECT_EQ(pointer_events[2].buttons, 0);
690 EXPECT_EQ(pointer_events[2].
view_id, 42);
691 EXPECT_EQ(pointer_events[3].timestamp, 1236000u);
692 EXPECT_EQ(pointer_events[3].
x, 5.0);
693 EXPECT_EQ(pointer_events[3].
y, 6.0);
695 EXPECT_EQ(pointer_events[3].buttons, 0);
696 EXPECT_EQ(pointer_events[3].
view_id, 42);
699TEST(FlPointerManagerTest, Drag) {
705 EXPECT_EQ(
error,
nullptr);
707 std::vector<FlutterPointerEvent> pointer_events;
711 size_t events_count) {
712 for (
size_t i = 0;
i < events_count;
i++) {
713 pointer_events.push_back(events[
i]);
724 4.0, GDK_BUTTON_PRIMARY);
729 8.0, GDK_BUTTON_PRIMARY);
733 EXPECT_EQ(pointer_events.size(), 6u);
736 EXPECT_EQ(pointer_events[1].timestamp, 1234000u);
737 EXPECT_EQ(pointer_events[1].
x, 1.0);
738 EXPECT_EQ(pointer_events[1].
y, 2.0);
739 EXPECT_EQ(pointer_events[1].buttons, 0);
740 EXPECT_EQ(pointer_events[1].
view_id, 42);
741 EXPECT_EQ(pointer_events[2].timestamp, 1235000u);
742 EXPECT_EQ(pointer_events[2].
x, 3.0);
743 EXPECT_EQ(pointer_events[2].
y, 4.0);
745 EXPECT_EQ(pointer_events[2].
view_id, 42);
746 EXPECT_EQ(pointer_events[3].timestamp, 1236000u);
747 EXPECT_EQ(pointer_events[3].
x, 5.0);
748 EXPECT_EQ(pointer_events[3].
y, 6.0);
750 EXPECT_EQ(pointer_events[3].
view_id, 42);
751 EXPECT_EQ(pointer_events[4].timestamp, 1237000u);
752 EXPECT_EQ(pointer_events[4].
x, 7.0);
753 EXPECT_EQ(pointer_events[4].
y, 8.0);
754 EXPECT_EQ(pointer_events[4].buttons, 0);
755 EXPECT_EQ(pointer_events[4].
view_id, 42);
756 EXPECT_EQ(pointer_events[5].timestamp, 1238000u);
757 EXPECT_EQ(pointer_events[5].
x, 9.0);
758 EXPECT_EQ(pointer_events[5].
y, 10.0);
759 EXPECT_EQ(pointer_events[5].buttons, 0);
760 EXPECT_EQ(pointer_events[5].
view_id, 42);
763TEST(FlPointerManagerTest, DeviceKind) {
769 EXPECT_EQ(
error,
nullptr);
771 std::vector<FlutterPointerEvent> pointer_events;
775 size_t events_count) {
776 for (
size_t i = 0;
i < events_count;
i++) {
777 pointer_events.push_back(events[
i]);
788 2.0, GDK_BUTTON_PRIMARY);
793 3.0, 4.0, GDK_BUTTON_PRIMARY);
797 EXPECT_EQ(pointer_events.size(), 5u);
const uint8_t uint32_t uint32_t GError ** error
gboolean fl_pointer_manager_handle_button_press(FlPointerManager *self, guint event_time, FlutterPointerDeviceKind device_kind, gdouble x, gdouble y, guint gdk_button)
gboolean fl_pointer_manager_handle_button_release(FlPointerManager *self, guint event_time, FlutterPointerDeviceKind device_kind, gdouble x, gdouble y, guint gdk_button)