From 13322287a5cd1d74773f3900f1add45d26960df9 Mon Sep 17 00:00:00 2001 From: Jiyun Yang Date: Fri, 20 Dec 2019 15:56:45 +0900 Subject: [PATCH] Add an environment variable for long press gesture DALI_LONG_PRESS_MINIMUM_HOLDING_TIME The minimum holding time required to be recognized as a long press gesture Change-Id: Idc9f62b4c2096564c37fb089c86815ec6433e3e6 Signed-off-by: Jiyun Yang --- dali/internal/adaptor/common/adaptor-impl.cpp | 4 ++++ dali/internal/system/common/environment-options.cpp | 12 ++++++++++++ dali/internal/system/common/environment-options.h | 6 ++++++ dali/internal/system/common/environment-variables.h | 5 +++++ 4 files changed, 27 insertions(+) diff --git a/dali/internal/adaptor/common/adaptor-impl.cpp b/dali/internal/adaptor/common/adaptor-impl.cpp index e12e4bc..4935c93 100755 --- a/dali/internal/adaptor/common/adaptor-impl.cpp +++ b/dali/internal/adaptor/common/adaptor-impl.cpp @@ -282,6 +282,10 @@ void Adaptor::Initialize( GraphicsFactory& graphicsFactory, Dali::Configuration: { Integration::SetPinchGestureMinimumDistance( mEnvironmentOptions->GetMinimumPinchDistance() ); } + if( mEnvironmentOptions->GetLongPressMinimumHoldingTime() >= 0 ) + { + Integration::SetLongPressMinimumHoldingTime( mEnvironmentOptions->GetLongPressMinimumHoldingTime() ); + } // Set max texture size if( mEnvironmentOptions->GetMaxTextureSize() > 0 ) diff --git a/dali/internal/system/common/environment-options.cpp b/dali/internal/system/common/environment-options.cpp index 23bec81..bab51d1 100644 --- a/dali/internal/system/common/environment-options.cpp +++ b/dali/internal/system/common/environment-options.cpp @@ -120,6 +120,7 @@ EnvironmentOptions::EnvironmentOptions() mPanMinimumDistance( -1 ), mPanMinimumEvents( -1 ), mPinchMinimumDistance( -1.0f ), + mLongPressMinimumHoldingTime( -1 ), mGlesCallTime( 0 ), mMultiSamplingLevel( DEFAULT_MULTI_SAMPLING_LEVEL ), mThreadingMode( ThreadingMode::COMBINED_UPDATE_RENDER ), @@ -289,6 +290,11 @@ float EnvironmentOptions::GetMinimumPinchDistance() const return mPinchMinimumDistance; } +int EnvironmentOptions::GetLongPressMinimumHoldingTime() const +{ + return mLongPressMinimumHoldingTime; +} + unsigned int EnvironmentOptions::GetWindowWidth() const { return mWindowWidth; @@ -510,6 +516,12 @@ void EnvironmentOptions::ParseEnvironmentOptions() mPinchMinimumDistance = pinchMinimumDistance; } + int longPressMinimumHoldingTime = -1; + if( GetIntegerEnvironmentVariable( DALI_ENV_LONG_PRESS_MINIMUM_HOLDING_TIME, longPressMinimumHoldingTime ) ) + { + mLongPressMinimumHoldingTime = longPressMinimumHoldingTime; + } + int glesCallTime(0); if ( GetIntegerEnvironmentVariable(DALI_GLES_CALL_TIME, glesCallTime )) { diff --git a/dali/internal/system/common/environment-options.h b/dali/internal/system/common/environment-options.h index 815aae3..d8e630a 100644 --- a/dali/internal/system/common/environment-options.h +++ b/dali/internal/system/common/environment-options.h @@ -220,6 +220,11 @@ public: float GetMinimumPinchDistance() const; /** + * @return The minimum holding time required to be recognized as a long press gesture (milliseconds) + */ + int GetLongPressMinimumHoldingTime() const; + + /** * @return The width of the window */ unsigned int GetWindowWidth() const; @@ -347,6 +352,7 @@ 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 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 ThreadingMode::Type mThreadingMode; ///< threading mode diff --git a/dali/internal/system/common/environment-variables.h b/dali/internal/system/common/environment-variables.h index 3d63c00..013417e 100644 --- a/dali/internal/system/common/environment-variables.h +++ b/dali/internal/system/common/environment-variables.h @@ -86,6 +86,11 @@ namespace Adaptor #define DALI_ENV_PINCH_MINIMUM_DISTANCE "DALI_PINCH_MINIMUM_DISTANCE" +/** + * The minimum holding time required to be recognized as a long press gesture (milliseconds) + */ +#define DALI_ENV_LONG_PRESS_MINIMUM_HOLDING_TIME "DALI_LONG_PRESS_MINIMUM_HOLDING_TIME" + #define DALI_GLES_CALL_TIME "DALI_GLES_CALL_TIME" #define DALI_GLES_CALL_ACCUMULATE "DALI_GLES_CALL_ACCUMULATE" -- 2.7.4