Revert "[Tizen] Revert "Use touch consumed return to set whether we process a gesture...
[platform/core/uifw/dali-core.git] / dali / integration-api / input-options.h
index 6b8ce6b..3789cc9 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INTEGRATION_INPUT_OPTIONS_H__
-#define __DALI_INTEGRATION_INPUT_OPTIONS_H__
+#ifndef DALI_INTEGRATION_INPUT_OPTIONS_H
+#define DALI_INTEGRATION_INPUT_OPTIONS_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
 
 // INTERNAL INCLUDES
 #include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/object/type-info.h>
 
 namespace Dali
 {
-
 namespace Integration
 {
-
 /**
  * @brief Called by adaptor to set the pan gesture prediction mode from
  * an environment variable
@@ -36,7 +35,7 @@ namespace Integration
  * @pre Should be called after Core creation.
  * @param mode The pan gesture prediction mode.
  */
-DALI_CORE_API void SetPanGesturePredictionMode( int mode );
+DALI_CORE_API void SetPanGesturePredictionMode(int mode);
 
 /**
  * @brief Called by adaptor to set the prediction amount of the pan gesture
@@ -52,7 +51,7 @@ DALI_CORE_API void SetPanGesturePredictionAmount(unsigned int amount);
  *
  * @param[in] amount The prediction amount in milliseconds
  */
-DALI_CORE_API void SetPanGestureMaximumPredictionAmount( unsigned int amount );
+DALI_CORE_API void SetPanGestureMaximumPredictionAmount(unsigned int amount);
 
 /**
  * @brief Sets the lower bound of the prediction amount for clamping
@@ -60,7 +59,7 @@ DALI_CORE_API void SetPanGestureMaximumPredictionAmount( unsigned int amount );
  *
  * @param[in] amount The prediction amount in milliseconds
  */
-DALI_CORE_API void SetPanGestureMinimumPredictionAmount( unsigned int amount );
+DALI_CORE_API void SetPanGestureMinimumPredictionAmount(unsigned int amount);
 
 /**
  * @brief Sets the prediction amount to adjust when the pan velocity is changed
@@ -71,81 +70,136 @@ DALI_CORE_API void SetPanGestureMinimumPredictionAmount( unsigned int amount );
  *
  * @param[in] amount The prediction amount in milliseconds
  */
-DALI_CORE_API void SetPanGesturePredictionAmountAdjustment( unsigned int amount );
+DALI_CORE_API void SetPanGesturePredictionAmountAdjustment(unsigned int amount);
 
 /**
  * @brief Called to set how pan gestures smooth input
  *
  * @param[in] mode The smoothing mode to use
  */
-DALI_CORE_API void SetPanGestureSmoothingMode( int mode );
+DALI_CORE_API void SetPanGestureSmoothingMode(int mode);
 
 /**
  * @brief Sets the smoothing amount of the pan gesture
  *
  * @param[in] amount The smoothing amount [0.0f,1.0f] - 0.0f would be no smoothing, 1.0f maximum smoothing
  */
-DALI_CORE_API void SetPanGestureSmoothingAmount( float amount );
+DALI_CORE_API void SetPanGestureSmoothingAmount(float amount);
 
 /**
  * @brief Sets whether to use actual times of the real gesture and frames or not.
  *
  * @param[in] value True = use actual times, False = use perfect values
  */
-DALI_CORE_API void SetPanGestureUseActualTimes( bool value );
+DALI_CORE_API void SetPanGestureUseActualTimes(bool value);
 
 /**
  * @brief Sets the interpolation time range (ms) of past points to use (with weights) when interpolating.
  *
  * @param[in] value Time range in ms
  */
-DALI_CORE_API void SetPanGestureInterpolationTimeRange( int value );
+DALI_CORE_API void SetPanGestureInterpolationTimeRange(int value);
 
 /**
  * @brief Sets whether to use scalar only prediction, which when enabled, ignores acceleration.
  *
  * @param[in] value True = use scalar prediction only
  */
-DALI_CORE_API void SetPanGestureScalarOnlyPredictionEnabled( bool value );
+DALI_CORE_API void SetPanGestureScalarOnlyPredictionEnabled(bool value);
 
 /**
  * @brief Sets whether to use two point prediction. This combines two interpolated points to get more steady acceleration and velocity values.
  *
  * @param[in] value True = use two point prediction
  */
-DALI_CORE_API void SetPanGestureTwoPointPredictionEnabled( bool value );
+DALI_CORE_API void SetPanGestureTwoPointPredictionEnabled(bool value);
 
 /**
  * @brief Sets the time in the past to interpolate the second point when using two point interpolation.
  *
  * @param[in] value Time in past in ms
  */
-DALI_CORE_API void SetPanGestureTwoPointInterpolatePastTime( int value );
+DALI_CORE_API void SetPanGestureTwoPointInterpolatePastTime(int value);
 
 /**
  * @brief Sets the two point velocity bias. This is the ratio of first and second points to use for velocity.
  *
  * @param[in] value 0.0f = 100% first point. 1.0f = 100% of second point.
  */
-DALI_CORE_API void SetPanGestureTwoPointVelocityBias( float value );
+DALI_CORE_API void SetPanGestureTwoPointVelocityBias(float value);
 
 /**
  * @brief Sets the two point acceleration bias. This is the ratio of first and second points to use for acceleration.
  *
  * @param[in] value 0.0f = 100% first point. 1.0f = 100% of second point.
  */
-DALI_CORE_API void SetPanGestureTwoPointAccelerationBias( float value );
+DALI_CORE_API void SetPanGestureTwoPointAccelerationBias(float value);
 
 /**
  * @brief Sets the range of time (ms) of points in the history to perform multitap smoothing with (if enabled).
  *
  * @param[in] value Time in past in ms
  */
-DALI_CORE_API void SetPanGestureMultitapSmoothingRange( int value );
+DALI_CORE_API void SetPanGestureMultitapSmoothingRange(int value);
 
+/**
+ * @brief Sets the minimum distance required to start a pan gesture
+ *
+ * @param[in] value Distance to move
+ */
+DALI_CORE_API void SetPanGestureMinimumDistance(int value);
+
+/**
+ * @brief Sets the minimum number of touch events to start a pan
+ *
+ * @param[in] value Number of pan events
+ */
+DALI_CORE_API void SetPanGestureMinimumPanEvents(int value);
+
+/**
+ * @brief Sets the minimum distance required to start a pinch gesture
+ *
+ * @param[in] value Distance to move in pixels
+ */
+DALI_CORE_API void SetPinchGestureMinimumDistance(float value);
+
+/**
+ * @brief Sets the minimum touch events required before a pinch can be started
+ *
+ * @param[in] value The number of touch events
+ */
+DALI_CORE_API void SetPinchGestureMinimumTouchEvents(uint32_t value);
+
+/**
+ * @brief Sets the minimum touch events required after a pinch started
+ *
+ * @param[in] value The number of touch events
+ */
+DALI_CORE_API void SetPinchGestureMinimumTouchEventsAfterStart(uint32_t value);
+
+/**
+ * @brief Sets the minimum touch events required before a rotation can be started
+ *
+ * @param[in] value The number of touch events
+ */
+DALI_CORE_API void SetRotationGestureMinimumTouchEvents(uint32_t value);
+
+/**
+ * @brief Sets the minimum touch events required after a rotation started
+ *
+ * @param[in] value The number of touch events
+ */
+DALI_CORE_API void SetRotationGestureMinimumTouchEventsAfterStart(uint32_t value);
+
+/**
+ * @brief Sets the minimum holding time required to be recognized as a long press gesture
+ *
+ * @param[in] value The time value in milliseconds
+ */
+DALI_CORE_API void SetLongPressMinimumHoldingTime(unsigned int value);
 
 } // namespace Integration
 
 } // namespace Dali
 
-#endif // __DALI_INTEGRATION_INPUT_OPTIONS_H__
+#endif // DALI_INTEGRATION_INPUT_OPTIONS_H