From 2b48b6e75650cc6d179e731df79d4965aa76a97d Mon Sep 17 00:00:00 2001 From: Jiyun Yang Date: Thu, 30 Jan 2020 15:29:54 +0900 Subject: [PATCH] Add environment variables for Pinch and Rotation gesture DALI_PINCH_MINIMUM_TOUCH_EVENTS DALI_PINCH_MINIMUM_TOUCH_EVENTS_AFTER_START DALI_ROTATION_MINIMUM_TOUCH_EVENTS DALI_ROTATION_MINIMUM_TOUCH_EVENTS_AFTER_START They represent the minimum touch events count required for a gesture Change-Id: Id6191971bfc5a534d9a30c470e9ba93ed701d59f --- dali/internal/adaptor/common/adaptor-impl.cpp | 16 +++++++++++++++ .../internal/system/common/environment-options.cpp | 24 ++++++++++++++++++++++ dali/internal/system/common/environment-options.h | 24 ++++++++++++++++++++++ .../internal/system/common/environment-variables.h | 9 +++++++- 4 files changed, 72 insertions(+), 1 deletion(-) diff --git a/dali/internal/adaptor/common/adaptor-impl.cpp b/dali/internal/adaptor/common/adaptor-impl.cpp index 4935c93..cd0cd02 100755 --- a/dali/internal/adaptor/common/adaptor-impl.cpp +++ b/dali/internal/adaptor/common/adaptor-impl.cpp @@ -282,6 +282,22 @@ void Adaptor::Initialize( GraphicsFactory& graphicsFactory, Dali::Configuration: { Integration::SetPinchGestureMinimumDistance( mEnvironmentOptions->GetMinimumPinchDistance() ); } + if( mEnvironmentOptions->GetMinimumPinchTouchEvents() >= 0 ) + { + Integration::SetPinchGestureMinimumTouchEvents( mEnvironmentOptions->GetMinimumPinchTouchEvents() ); + } + if( mEnvironmentOptions->GetMinimumPinchTouchEventsAfterStart() >= 0 ) + { + Integration::SetPinchGestureMinimumTouchEventsAfterStart( mEnvironmentOptions->GetMinimumPinchTouchEventsAfterStart() ); + } + if( mEnvironmentOptions->GetMinimumRotationTouchEvents() >= 0 ) + { + Integration::SetRotationGestureMinimumTouchEvents( mEnvironmentOptions->GetMinimumRotationTouchEvents() ); + } + if( mEnvironmentOptions->GetMinimumRotationTouchEventsAfterStart() >= 0 ) + { + Integration::SetRotationGestureMinimumTouchEventsAfterStart( mEnvironmentOptions->GetMinimumRotationTouchEventsAfterStart() ); + } if( mEnvironmentOptions->GetLongPressMinimumHoldingTime() >= 0 ) { Integration::SetLongPressMinimumHoldingTime( mEnvironmentOptions->GetLongPressMinimumHoldingTime() ); diff --git a/dali/internal/system/common/environment-options.cpp b/dali/internal/system/common/environment-options.cpp index bab51d1..3827ad9 100644 --- a/dali/internal/system/common/environment-options.cpp +++ b/dali/internal/system/common/environment-options.cpp @@ -120,6 +120,10 @@ EnvironmentOptions::EnvironmentOptions() mPanMinimumDistance( -1 ), mPanMinimumEvents( -1 ), mPinchMinimumDistance( -1.0f ), + mPinchMinimumTouchEvents( -1 ), + mPinchMinimumTouchEventsAfterStart( -1 ), + mRotationMinimumTouchEvents( -1 ), + mRotationMinimumTouchEventsAfterStart( -1 ), mLongPressMinimumHoldingTime( -1 ), mGlesCallTime( 0 ), mMultiSamplingLevel( DEFAULT_MULTI_SAMPLING_LEVEL ), @@ -290,6 +294,26 @@ float EnvironmentOptions::GetMinimumPinchDistance() const return mPinchMinimumDistance; } +int EnvironmentOptions::GetMinimumPinchTouchEvents() const +{ + return mPinchMinimumTouchEvents; +} + +int EnvironmentOptions::GetMinimumPinchTouchEventsAfterStart() const +{ + return mPinchMinimumTouchEventsAfterStart; +} + +int EnvironmentOptions::GetMinimumRotationTouchEvents() const +{ + return mRotationMinimumTouchEvents; +} + +int EnvironmentOptions::GetMinimumRotationTouchEventsAfterStart() const +{ + return mRotationMinimumTouchEventsAfterStart; +} + int EnvironmentOptions::GetLongPressMinimumHoldingTime() const { return mLongPressMinimumHoldingTime; diff --git a/dali/internal/system/common/environment-options.h b/dali/internal/system/common/environment-options.h index d8e630a..f72ebdd 100644 --- a/dali/internal/system/common/environment-options.h +++ b/dali/internal/system/common/environment-options.h @@ -220,6 +220,26 @@ public: float GetMinimumPinchDistance() const; /** + * @return The minimum touch events required before a pinch can be started (-1 means it's not set) + */ + int GetMinimumPinchTouchEvents() const; + + /** + * @return The minimum touch events required after a pinch started (-1 means it's not set) + */ + int GetMinimumPinchTouchEventsAfterStart() const; + + /** + * @return The minimum touch events required before a rotation can be started (-1 means it's not set) + */ + int GetMinimumRotationTouchEvents() const; + + /** + * @return The minimum touch events required after a rotation started (-1 means it's not set) + */ + int GetMinimumRotationTouchEventsAfterStart() const; + + /** * @return The minimum holding time required to be recognized as a long press gesture (milliseconds) */ int GetLongPressMinimumHoldingTime() const; @@ -352,6 +372,10 @@ private: // Data int mPanMinimumDistance; ///< minimum distance required before pan starts int mPanMinimumEvents; ///< minimum events required before pan starts float mPinchMinimumDistance; ///< minimum number of pixels moved before a pinch starts + int mPinchMinimumTouchEvents; ///< minimum events required before a pinch starts + int mPinchMinimumTouchEventsAfterStart; ///< minimum events required after a pinch started + int mRotationMinimumTouchEvents; ///< minimum events required before a rotation starts + int mRotationMinimumTouchEventsAfterStart; ///< minimum events required after a rotation started int mLongPressMinimumHoldingTime; ///< minimum holding time required to be recognized as a long press gesture (millisecond) int mGlesCallTime; ///< time in seconds between status updates int mMultiSamplingLevel; ///< The number of samples required in multisample buffers diff --git a/dali/internal/system/common/environment-variables.h b/dali/internal/system/common/environment-variables.h index 013417e..ca1a9c8 100644 --- a/dali/internal/system/common/environment-variables.h +++ b/dali/internal/system/common/environment-variables.h @@ -84,7 +84,14 @@ namespace Adaptor #define DALI_ENV_PAN_MINIMUM_DISTANCE "DALI_PAN_MINIMUM_DISTANCE" #define DALI_ENV_PAN_MINIMUM_EVENTS "DALI_PAN_MINIMUM_EVENTS" -#define DALI_ENV_PINCH_MINIMUM_DISTANCE "DALI_PINCH_MINIMUM_DISTANCE" +// Pinch-Gesture +#define DALI_ENV_PINCH_MINIMUM_DISTANCE "DALI_PINCH_MINIMUM_DISTANCE" +#define DALI_ENV_PINCH_MINIMUM_TOUCH_EVENTS "DALI_PINCH_MINIMUM_TOUCH_EVENTS" +#define DALI_ENV_PINCH_MINIMUM_TOUCH_EVENTS_AFTER_START "DALI_PINCH_MINIMUM_TOUCH_EVENTS_AFTER_START" + +// Rotation-Gesture +#define DALI_ENV_ROTATION_MINIMUM_TOUCH_EVENTS "DALI_ROTATION_MINIMUM_TOUCH_EVENTS" +#define DALI_ENV_ROTATION_MINIMUM_TOUCH_EVENTS_AFTER_START "DALI_ROTATION_MINIMUM_TOUCH_EVENTS_AFTER_START" /** * The minimum holding time required to be recognized as a long press gesture (milliseconds) -- 2.7.4