[Tizen] Add an environment variable for long press gesture 31/221131/1
authorJiyun Yang <ji.yang@samsung.com>
Fri, 20 Dec 2019 06:56:45 +0000 (15:56 +0900)
committerJiyun Yang <ji.yang@samsung.com>
Fri, 27 Dec 2019 09:13:33 +0000 (18:13 +0900)
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 872eb7e..695688f 100755 (executable)
@@ -283,6 +283,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 d6d54cd..caa98a0 100755 (executable)
@@ -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 ),
@@ -290,6 +291,11 @@ float EnvironmentOptions::GetMinimumPinchDistance() const
   return mPinchMinimumDistance;
 }
 
+int32_t EnvironmentOptions::GetLongPressMinimumHoldingTime() const
+{
+  return mLongPressMinimumHoldingTime;
+}
+
 unsigned int EnvironmentOptions::GetWindowWidth() const
 {
   return mWindowWidth;
@@ -516,6 +522,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 23b0ae0..2c6864e 100755 (executable)
@@ -220,6 +220,11 @@ public:
   float GetMinimumPinchDistance() const;
 
   /**
+   * @return The minimum holding time required to be recognized as a long press gesture (milliseconds)
+   */
+  int32_t GetLongPressMinimumHoldingTime() const;
+
+  /**
    * @return The width of the window
    */
   unsigned int GetWindowWidth() const;
@@ -352,6 +357,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
+  unsigned 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 6c790de..3c1fba3 100755 (executable)
@@ -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"