X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fevents%2Ftap-gesture-detector.h;h=778223185512273b6b1bd1462472bd8fc427316d;hb=92b051cadd0db5d9f985aacbbbf832995fb55f53;hp=5dbe936377e60757c9009ef4e057290a82182004;hpb=6a51fca768ccd75d552b73c0a67056721dc86e44;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/events/tap-gesture-detector.h b/dali/public-api/events/tap-gesture-detector.h index 5dbe936..7782231 100644 --- a/dali/public-api/events/tap-gesture-detector.h +++ b/dali/public-api/events/tap-gesture-detector.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TAP_GESTURE_DETECTOR_H__ -#define __DALI_TAP_GESTURE_DETECTOR_H__ +#ifndef DALI_TAP_GESTURE_DETECTOR_H +#define DALI_TAP_GESTURE_DETECTOR_H /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 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. @@ -18,27 +18,35 @@ * */ +// EXTERNAL INCLUDES +#include // uint32_t + // INTERNAL INCLUDES #include #include namespace Dali { +/** + * @addtogroup dali_core_events + * @{ + */ namespace Internal DALI_INTERNAL { class TapGestureDetector; } -struct TapGesture; +class TapGesture; /** * @brief This class emits a signal when a tap gesture occurs that meets the requirements set by the * application. * - * See TapGestureDetector::SetTapsRequired + * See @ref TapGestureDetector::SetMinimumTapsRequired + * See @ref TapGestureDetector::SetMaximumTapsRequired * - * A Tap Gesture is a discrete gesture, which means it does not have any state information attached + * A TapGesture is a discrete gesture, which means it does not have any state information attached * to it. Please see TapGesture for more information. * * The application programmer can use this gesture detector as follows: @@ -48,123 +56,143 @@ struct TapGesture; * detector.DetectedSignal().Connect(this, &MyApplication::OnTap); * @endcode * - * @see TapGesture - * - * @note Multi-touch taps are not currently supported. However, multiple taps (double & triple tap etc.) ARE supported. + * @SINCE_1_0.0 + * @note Multi-touch taps (two or more points of contact with the surface) are not currently + * supported. However, multiple taps (double & triple tap etc.) are supported. * * Signals * | %Signal Name | Method | * |--------------|-----------------------| - * | tap-detected | @ref DetectedSignal() | + * | tapDetected | @ref DetectedSignal() | + * @see TapGesture + * */ -class DALI_IMPORT_API TapGestureDetector : public GestureDetector +class DALI_CORE_API TapGestureDetector : public GestureDetector { public: // Typedefs - /** * @brief Signal type for detected signal. + * @SINCE_1_0.0 */ - typedef Signal< void ( Actor, const TapGesture& ) > DetectedSignalType; + using DetectedSignalType = Signal; public: // Creation & Destruction - /** - * @brief Create an uninitialized TapGestureDetector; this can be initialized with TapGestureDetector::New(). + * @brief Creates an uninitialized TapGestureDetector; this can be initialized with TapGestureDetector::New(). * - * Calling member functions with an uninitialized Dali::Object is not allowed. + * Calling member functions with an uninitialized TapGestureDetector handle is not allowed. + * @SINCE_1_0.0 */ TapGestureDetector(); /** - * @brief Create an initialized TapGestureDetector. + * @brief Creates an initialized TapGestureDetector. * * By default, this would create a gesture detector which requires one tap with one touch. - * @return A handle to a newly allocated Dali resource. + * @SINCE_1_0.0 + * @return A handle to a newly allocated Dali resource */ static TapGestureDetector New(); /** - * @brief Create an initialized TapGestureDetector with the specified parameters. + * @brief Creates an initialized TapGestureDetector with the specified parameters. * - * @param[in] tapsRequired The minimum & maximum number of taps required. - * @return A handle to a newly allocated Dali resource. + * @SINCE_1_0.0 + * @param[in] tapsRequired The minimum & maximum number of taps required + * @return A handle to a newly allocated Dali resource */ - static TapGestureDetector New( unsigned int tapsRequired ); + static TapGestureDetector New(uint32_t tapsRequired); /** - * @brief Downcast an Object handle to TapGestureDetector handle. + * @brief Downcasts a handle to TapGestureDetector handle. * - * If handle points to a TapGestureDetector object the - * downcast produces valid handle. If not the returned handle is left uninitialized. - * @param[in] handle to An object - * @return handle to a TapGestureDetector object or an uninitialized handle + * If handle points to a TapGestureDetector object, the + * downcast produces valid handle. If not, the returned handle is left uninitialized. + * @SINCE_1_0.0 + * @param[in] handle Handle to an object + * @return Handle to a TapGestureDetector object or an uninitialized handle */ - static TapGestureDetector DownCast( BaseHandle handle ); + static TapGestureDetector DownCast(BaseHandle handle); /** - * @brief Destructor + * @brief Destructor. * * This is non-virtual since derived Handle types must not contain data or virtual methods. + * @SINCE_1_0.0 */ ~TapGestureDetector(); /** * @brief This copy constructor is required for (smart) pointer semantics. * - * @param [in] handle A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] handle A reference to the copied handle */ TapGestureDetector(const TapGestureDetector& handle); /** * @brief This assignment operator is required for (smart) pointer semantics. * - * @param [in] rhs A reference to the copied handle + * @SINCE_1_0.0 + * @param[in] rhs A reference to the copied handle * @return A reference to this */ TapGestureDetector& operator=(const TapGestureDetector& rhs); public: // Setters - /** - * @brief Set the minimum number of taps required. + * @brief Sets the minimum number of taps required. * * The tap count is the number of times a user should "tap" the screen. - * @param[in] minimumTaps The minimum taps required. + * @SINCE_1_0.0 + * @param[in] minimumTaps The minimum taps required * @pre The gesture detector has been initialized. - * @note The default is '1'. + * @note The default is '1', the maximum is 2. + * @see ReceiveAllTapEvents */ - void SetMinimumTapsRequired( unsigned int minimumTaps ); + void SetMinimumTapsRequired(uint32_t minimumTaps); /** - * @brief Set the maximum number of taps required. + * @brief Sets the maximum number of taps required. * * The tap count is the number of times a user should "tap" the screen. - * @param[in] maximumTaps The maximum taps required. + * @SINCE_1_0.0 + * @param[in] maximumTaps The maximum taps required * @pre The gesture detector has been initialized. - * @note The default is '1'. + * @note The default is '1', the maximum is 2. + * @see ReceiveAllTapEvents */ - void SetMaximumTapsRequired( unsigned int maximumTaps ); + void SetMaximumTapsRequired(uint32_t maximumTaps); -public: // Getters + /** + * @brief When set to true, all tap gestures will be received when multiple taps are supported by the gesture detector. + * + * @param[in] receive The receiving all tap events flag + * @pre The gesture detector has been initialized. + * @note The default is false. + */ + void ReceiveAllTapEvents(bool receive); +public: // Getters /** * @brief Retrieves the minimum number of taps required. * - * @return The minimum taps required. + * @SINCE_1_0.0 + * @return The minimum taps required * @pre The gesture detector has been initialized. */ - unsigned int GetMinimumTapsRequired() const; + uint32_t GetMinimumTapsRequired() const; /** * @brief Retrieves the maximum number of taps required. * - * @return The maximum taps required. + * @SINCE_1_0.0 + * @return The maximum taps required * @pre The gesture detector has been initialized. */ - unsigned int GetMaximumTapsRequired() const; + uint32_t GetMaximumTapsRequired() const; public: // Signals - /** * @brief This signal is emitted when the specified tap is detected on the attached actor. * @@ -172,21 +200,28 @@ public: // Signals * @code * void YourCallbackName( Actor actor, const TapGesture& gesture ); * @endcode + * @SINCE_1_0.0 + * @return The signal to connect to * @pre The gesture detector has been initialized. - * @return The signal to connect to. */ DetectedSignalType& DetectedSignal(); public: // Not intended for Application developers - + /// @cond internal /** - * @brief This constructor is used by Dali New() methods. + * @brief This constructor is used by TapGestureDetector::New() methods. * - * @param [in] internal A pointer to a newly allocated Dali resource. + * @SINCE_1_0.0 + * @param[in] internal A pointer to a newly allocated Dali resource */ explicit DALI_INTERNAL TapGestureDetector(Internal::TapGestureDetector* internal); + /// @endcond }; +/** + * @} + */ + } // namespace Dali -#endif // __DALI_TAP_GESTURE_DETECTOR_H__ +#endif // DALI_TAP_GESTURE_DETECTOR_H