Add an environment variable for long press gesture 43/220643/5
authorJiyun Yang <ji.yang@samsung.com>
Fri, 20 Dec 2019 06:56:45 +0000 (15:56 +0900)
committerJIYUN YANG <ji.yang@samsung.com>
Thu, 16 Jan 2020 12:26:29 +0000 (12:26 +0000)
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 <ji.yang@samsung.com>
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/system/common/environment-options.cpp
dali/internal/system/common/environment-options.h
dali/internal/system/common/environment-variables.h

index e12e4bc..4935c93 100755 (executable)
@@ -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 )
index 23bec81..bab51d1 100644 (file)
@@ -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 ))
   {
index 815aae3..d8e630a 100644 (file)
@@ -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
index 3d63c00..013417e 100644 (file)
@@ -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"