ScrollView - Added APIs for minimum pan speed/distance before being considered a...
[platform/core/uifw/dali-toolkit.git] / capi / dali-toolkit / public-api / controls / scrollable / scroll-view / scroll-view.h
index 6592fd6..25ce6c8 100644 (file)
@@ -137,11 +137,6 @@ public:
   Ruler();
 
   /**
-   * @brief Destructor - A reference counted object may only be deleted by calling Unreference().
-   */
-  virtual ~Ruler();
-
-  /**
    * @brief Snaps (x) in accordance to the ruler settings.
    *
    * @param[in] x The input value on the ruler to be snapped.
@@ -296,6 +291,13 @@ public:
 
 protected:
 
+  /**
+   * @brief Destructor - A reference counted object may only be deleted by calling Unreference().
+   */
+  virtual ~Ruler();
+
+protected:
+
   RulerType mType;               ///< Type of Ruler (Fixed or Free).
   bool mEnabled;                 ///< If the ruler is enabled.
   RulerDomain mDomain;           ///< The domain of the ruler.
@@ -490,11 +492,11 @@ public:
   ScrollView& operator=( const ScrollView& handle );
 
   /**
-   * @brief Virtual destructor.
+   * @brief Destructor
    *
-   * Dali::Object derived classes typically do not contain member data.
+   * This is non-virtual since derived Handle types must not contain data or virtual methods.
    */
-  virtual ~ScrollView();
+  ~ScrollView();
 
   /**
    * @brief Create an initialized ScrollView.
@@ -826,6 +828,36 @@ public:
   void SetFlickSpeedCoefficient(float speed);
 
   /**
+   * @brief Returns the minimum pan distance required for a flick gesture in pixels
+   *
+   * @return Minimum pan distance vector with separate x and y distance
+   */
+  Vector2 GetMinimumDistanceForFlick() const;
+
+  /**
+   * @brief Sets the minimum pan distance required for a flick in pixels
+   *
+   * Takes a Vector2 containing separate x and y values. As long as the pan distance exceeds one of these axes a flick will be allowed
+   *
+   * @param[in] distance The minimum pan distance for a flick
+   */
+  void SetMinimumDistanceForFlick( const Vector2& distance );
+
+  /**
+   * @brief Returns the minimum pan speed required for a flick gesture in pixels per second
+   *
+   * @return Minimum pan speed
+   */
+  float GetMinimumSpeedForFlick() const;
+
+  /**
+   * @brief Sets the minimum pan speed required for a flick in pixels per second
+   *
+   * @param[in] speed The minimum pan speed for a flick
+   */
+  void SetMinimumSpeedForFlick( float speed );
+
+  /**
    * @brief Gets the maximum flick speed setting for ScrollView when
    * flicking in free panning mode.
    *