[Tizen] Implement partial update
[platform/core/uifw/dali-adaptor.git] / dali / internal / system / common / environment-options.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 31a8dc6..128692b
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 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.
@@ -119,13 +119,19 @@ 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 ),
-  mStencilBufferRequired( DEFAULT_STENCIL_BUFFER_REQUIRED_SETTING )
+  mStencilBufferRequired( DEFAULT_STENCIL_BUFFER_REQUIRED_SETTING ),
+  mPartialUpdateAvailable( false )
 {
   ParseEnvironmentOptions();
 }
@@ -284,6 +290,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;
@@ -334,11 +370,6 @@ unsigned int EnvironmentOptions::GetMaxTextureSize() const
   return mMaxTextureSize;
 }
 
-int EnvironmentOptions::GetIndicatorVisibleMode() const
-{
-  return mIndicatorVisibleMode;
-}
-
 unsigned int EnvironmentOptions::GetRenderToFboInterval() const
 {
   return mRenderToFboInterval;
@@ -361,6 +392,11 @@ bool EnvironmentOptions::StencilBufferRequired() const
   return mStencilBufferRequired;
 }
 
+bool EnvironmentOptions::PartialUpdateAvailable() const
+{
+  return mPartialUpdateAvailable;
+}
+
 void EnvironmentOptions::ParseEnvironmentOptions()
 {
   // get logging options
@@ -504,6 +540,42 @@ void EnvironmentOptions::ParseEnvironmentOptions()
     mPanMinimumEvents = minimumEvents;
   }
 
+  float pinchMinimumDistance = -1.0f;
+  if( GetFloatEnvironmentVariable( DALI_ENV_PINCH_MINIMUM_DISTANCE, pinchMinimumDistance ) )
+  {
+    mPinchMinimumDistance = pinchMinimumDistance;
+  }
+
+  int pinchMinimumTouchEvents = -1;
+  if( GetIntegerEnvironmentVariable( DALI_ENV_PINCH_MINIMUM_TOUCH_EVENTS, pinchMinimumTouchEvents ) )
+  {
+    mPinchMinimumTouchEvents = pinchMinimumTouchEvents;
+  }
+
+  int pinchMinimumTouchEventsAfterStart = -1;
+  if( GetIntegerEnvironmentVariable( DALI_ENV_PINCH_MINIMUM_TOUCH_EVENTS_AFTER_START, pinchMinimumTouchEventsAfterStart ) )
+  {
+    mPinchMinimumTouchEventsAfterStart = pinchMinimumTouchEventsAfterStart;
+  }
+
+  int rotationMinimumTouchEvents = -1;
+  if( GetIntegerEnvironmentVariable( DALI_ENV_ROTATION_MINIMUM_TOUCH_EVENTS, rotationMinimumTouchEvents ) )
+  {
+    mRotationMinimumTouchEvents = rotationMinimumTouchEvents;
+  }
+
+  int rotationMinimumTouchEventsAfterStart = -1;
+  if( GetIntegerEnvironmentVariable( DALI_ENV_ROTATION_MINIMUM_TOUCH_EVENTS_AFTER_START, rotationMinimumTouchEventsAfterStart ) )
+  {
+    mRotationMinimumTouchEventsAfterStart = rotationMinimumTouchEventsAfterStart;
+  }
+
+  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 ))
   {
@@ -573,15 +645,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 );
 
 
@@ -603,6 +666,15 @@ void EnvironmentOptions::ParseEnvironmentOptions()
       mStencilBufferRequired = false;
     }
   }
+
+  int partialUpdateRequired( -1 );
+  if( GetIntegerEnvironmentVariable( DALI_ENV_PARTIAL_UPDATE_AVAILABLE, partialUpdateRequired ) )
+  {
+    if( partialUpdateRequired > 0 )
+    {
+      mPartialUpdateAvailable = true;
+    }
+  }
 }
 
 } // Adaptor