From fc020026e1cd8f6f9d5e079976bad4436b9c46f4 Mon Sep 17 00:00:00 2001 From: Joogab Yun Date: Mon, 5 Jul 2021 12:05:23 +0900 Subject: [PATCH] [Tizen] 1. Add Timer at TapGestureRecognizer 2. The field and editor receive all tap events Change-Id: I2aa73f4f16899fb07b70bfdc2ccdc9e8631a9d2f --- .../dali-toolkit-test-utils/test-gesture-generator.cpp | 9 ++++++++- .../dali-toolkit-test-utils/test-gesture-generator.h | 7 ++++++- .../internal/controls/text-controls/text-editor-impl.cpp | 1 + dali-toolkit/internal/controls/text-controls/text-field-impl.cpp | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.cpp index 4b465a7..4532c6e 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -149,16 +149,23 @@ void TestEndPan(TestApplication& application, Vector2 pos, uint32_t time) application.ProcessEvent(GenerateSingleTouch(PointState::UP, pos, time)); } +void TestTriggerTap(TestApplication& application) +{ + application.GetPlatform().TriggerTimer(); +} + void TestGenerateTap(TestApplication& application, float x, float y, uint32_t time_down) { application.ProcessEvent(GenerateSingleTouch(PointState::DOWN, Vector2(x, y), time_down)); application.ProcessEvent(GenerateSingleTouch(PointState::UP, Vector2(x, y), time_down + 20)); + TestTriggerTap(application); } void TestGenerateTwoPointTap(TestApplication& application, float x1, float y1, float x2, float y2, uint32_t time_down) { application.ProcessEvent(GenerateDoubleTouch(PointState::DOWN, Vector2(x1, y1), PointState::DOWN, Vector2(x2, y2), time_down)); application.ProcessEvent(GenerateDoubleTouch(PointState::UP, Vector2(x1, y1), PointState::UP, Vector2(x2, y2), time_down + 20)); + TestTriggerTap(application); } void TestGenerateRotation(TestApplication& application) diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.h index e6e367d..cb3b1a6 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-gesture-generator.h @@ -2,7 +2,7 @@ #define DALI_TEST_GESTURE_GENERATOR_H /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -94,6 +94,11 @@ void TestMovePan(TestApplication& application, Vector2 pos, uint32_t time = 400) void TestEndPan(TestApplication& application, Vector2 pos, uint32_t time = 500); /** + * Triggers the timer to begin a tap gesture + */ +void TestTriggerTap(TestApplication& application); + +/** * Produces a single point tap gesture with a 20ms interval */ void TestGenerateTap(TestApplication& application, float x = 20.0f, float y = 20.0f, uint32_t time_down = 100); diff --git a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp index 0312f6b..f8dd668 100644 --- a/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp @@ -1180,6 +1180,7 @@ void TextEditor::OnInitialize() // Forward input events to controller EnableGestureDetection(static_cast(GestureType::TAP | GestureType::PAN | GestureType::LONG_PRESS)); GetTapGestureDetector().SetMaximumTapsRequired(2); + GetTapGestureDetector().ReceiveAllTapEvents(true); self.TouchedSignal().Connect(this, &TextEditor::OnTouched); diff --git a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp index f332a73..bd7c1c2 100644 --- a/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp +++ b/dali-toolkit/internal/controls/text-controls/text-field-impl.cpp @@ -1211,6 +1211,7 @@ void TextField::OnInitialize() // Forward input events to controller EnableGestureDetection(static_cast(GestureType::TAP | GestureType::PAN | GestureType::LONG_PRESS)); GetTapGestureDetector().SetMaximumTapsRequired(2); + GetTapGestureDetector().ReceiveAllTapEvents(true); self.TouchedSignal().Connect(this, &TextField::OnTouched); -- 2.7.4