Add environment variables for Pinch and Rotation gesture
[platform/core/uifw/dali-adaptor.git] / dali / internal / system / common / environment-options.cpp
index 9e92fa7..3827ad9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -24,6 +24,7 @@
 #include <dali/public-api/math/math-utils.h>
 
 // INTERNAL INCLUDES
+#include <dali/internal/trace/common/trace-factory.h>
 #include <dali/internal/system/common/environment-variables.h>
 
 namespace Dali
@@ -118,9 +119,14 @@ EnvironmentOptions::EnvironmentOptions()
   mPanGestureMultitapSmoothingRange( -1 ),
   mPanMinimumDistance( -1 ),
   mPanMinimumEvents( -1 ),
+  mPinchMinimumDistance( -1.0f ),
+  mPinchMinimumTouchEvents( -1 ),
+  mPinchMinimumTouchEventsAfterStart( -1 ),
+  mRotationMinimumTouchEvents( -1 ),
+  mRotationMinimumTouchEventsAfterStart( -1 ),
+  mLongPressMinimumHoldingTime( -1 ),
   mGlesCallTime( 0 ),
   mMultiSamplingLevel( DEFAULT_MULTI_SAMPLING_LEVEL ),
-  mIndicatorVisibleMode( -1 ),
   mThreadingMode( ThreadingMode::COMBINED_UPDATE_RENDER ),
   mGlesCallAccumulate( false ),
   mDepthBufferRequired( DEFAULT_DEPTH_BUFFER_REQUIRED_SETTING ),
@@ -133,6 +139,19 @@ EnvironmentOptions::~EnvironmentOptions()
 {
 }
 
+void EnvironmentOptions::CreateTraceManager( PerformanceInterface* performanceInterface )
+{
+  mTraceManager = TraceManagerFactory::CreateTraceFactory( performanceInterface );
+}
+
+void EnvironmentOptions::InstallTraceFunction() const
+{
+  if( mTraceManager )
+  {
+    mTraceManager->Initialise();
+  }
+}
+
 void EnvironmentOptions::SetLogFunction( const Dali::Integration::Log::LogFunction& logFunction )
 {
   mLogFunction = logFunction;
@@ -270,6 +289,36 @@ int EnvironmentOptions::GetMinimumPanEvents() const
   return mPanMinimumEvents;
 }
 
+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;
+}
+
 unsigned int EnvironmentOptions::GetWindowWidth() const
 {
   return mWindowWidth;
@@ -320,11 +369,6 @@ unsigned int EnvironmentOptions::GetMaxTextureSize() const
   return mMaxTextureSize;
 }
 
-int EnvironmentOptions::GetIndicatorVisibleMode() const
-{
-  return mIndicatorVisibleMode;
-}
-
 unsigned int EnvironmentOptions::GetRenderToFboInterval() const
 {
   return mRenderToFboInterval;
@@ -490,6 +534,18 @@ void EnvironmentOptions::ParseEnvironmentOptions()
     mPanMinimumEvents = minimumEvents;
   }
 
+  float pinchMinimumDistance = -1.0f;
+  if( GetFloatEnvironmentVariable( DALI_ENV_PINCH_MINIMUM_DISTANCE, pinchMinimumDistance ) )
+  {
+    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 ))
   {
@@ -559,15 +615,6 @@ void EnvironmentOptions::ParseEnvironmentOptions()
     }
   }
 
-  int indicatorVisibleMode( -1 );
-  if( GetIntegerEnvironmentVariable( DALI_ENV_INDICATOR_VISIBLE_MODE, indicatorVisibleMode ) )
-  {
-    if( indicatorVisibleMode > -1 )
-    {
-      mIndicatorVisibleMode = indicatorVisibleMode;
-    }
-  }
-
   mRenderToFboInterval = GetIntegerEnvironmentVariable( DALI_RENDER_TO_FBO, 0u );