#define DALI_INTERNAL_GESTURE_EVENT_PROCESSOR_H
/*
- * Copyright (c) 2019 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/actors/actor.h>
+#include <dali/public-api/events/gesture.h>
#include <dali/internal/event/events/gesture-detector-impl.h>
-#include <dali/internal/event/events/long-press-gesture-processor.h>
-#include <dali/internal/event/events/pan-gesture-processor.h>
-#include <dali/internal/event/events/pinch-gesture-processor.h>
-#include <dali/internal/event/events/tap-gesture-processor.h>
+#include <dali/internal/event/events/long-press-gesture/long-press-gesture-processor.h>
+#include <dali/internal/event/events/pan-gesture/pan-gesture-processor.h>
+#include <dali/internal/event/events/pinch-gesture/pinch-gesture-processor.h>
+#include <dali/internal/event/events/rotation-gesture/rotation-gesture-processor.h>
+#include <dali/internal/event/events/tap-gesture/tap-gesture-processor.h>
namespace Dali
{
-struct Gesture;
-
namespace Integration
{
/**
* Create a gesture event processor.
* @param[in] updateManager The update manager
- * @param[in] gestureManager The gesture manager
* @param[in] renderController The render controller
*/
GestureEventProcessor( SceneGraph::UpdateManager& updateManager, Integration::RenderController& renderController );
* @param[in] gesture The gesture whose values will be used in the Update object.
* @note If we are in the middle of processing the gesture being set, then this call is ignored.
*/
- void SetGestureProperties( const Gesture& gesture );
+ void SetGestureProperties( const Dali::Gesture& gesture );
public: // Called by Core
*/
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
+ */
+ void SetPinchGestureMinimumTouchEvents( uint32_t value );
+
+ /**
+ * @brief Sets the minimum touch events required after a pinch started
+ *
+ * @param[in] value The number of touch events
+ */
+ 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
+ */
+ void SetRotationGestureMinimumTouchEvents( uint32_t value );
+
+ /**
+ * @brief Sets the minimum touch events required after a rotation started
+ *
+ * @param[in] value The number of touch events
+ */
+ 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
+ */
+ void SetLongPressMinimumHoldingTime( uint32_t value );
+
+ /**
+ * @return The minimum holding time required to be recognized as a long press gesture in milliseconds
+ */
+ uint32_t GetLongPressMinimumHoldingTime() const;
+
public: // needed for PanGesture
/**
PanGestureProcessor mPanGestureProcessor;
PinchGestureProcessor mPinchGestureProcessor;
TapGestureProcessor mTapGestureProcessor;
+ RotationGestureProcessor mRotationGestureProcessor;
Integration::RenderController& mRenderController;
- uint32_t mLongPressDetectorCount;
- uint32_t mPanDetectorCount;
- uint32_t mPinchDetectorCount;
- uint32_t mTapDetectorCount;
-
int32_t envOptionMinimumPanDistance;
int32_t envOptionMinimumPanEvents;
};