{
GRAB_HANDLE_TAPPED,
GRAB_HANDLE_PRESSED,
- GRAB_HANDLE_RELEASED
+ GRAB_HANDLE_RELEASED,
+ GRAB_HANDLE_SCROLLING,
+ GRAB_HANDLE_STOP_SCROLLING
+};
+
+// Used to set different grab handle images
+enum GrabHandleImageType
+{
+ GRAB_HANDLE_IMAGE_PRESSED,
+ GRAB_HANDLE_IMAGE_RELEASED
};
// The set the selection-handle positions etc.
* @brief The decorator waits until a relayout before creating actors etc.
*
* @param[in] size The size of the parent control after size-negotiation.
- * @param[in] scrollPosition The cursor, grab-handle positions etc. should be offset by this.
*/
- void Relayout( const Dali::Vector2& size, const Vector2& scrollPosition );
+ void Relayout( const Dali::Vector2& size );
+
+ /**
+ * @brief Updates the decorator's actor positions after scrolling.
+ *
+ * @param[in] scrollOffset The scroll offset.
+ */
+ void UpdatePositions( const Vector2& scrollOffset );
/**
* @brief Sets which of the cursors are active.
void GetPosition( Cursor cursor, float& x, float& y, float& cursorHeight, float& lineHeight ) const;
/**
+ * @brief Retrieves the position of a cursor.
+ *
+ * @param[in] cursor The cursor to get.
+ *
+ * @return The position.
+ */
+ const Vector2& GetPosition( Cursor cursor ) const;
+
+ /**
* @brief Sets the color for a cursor.
*
* @param[in] cursor Whether this color is for the primary or secondary cursor.
/**
* @brief Sets the image for the grab handle.
*
+ * @param[in] type A different image can be set for the pressed/released states.
* @param[in] image The image to use.
*/
- void SetGrabHandleImage( Dali::Image image );
+ void SetGrabHandleImage( GrabHandleImageType type, Dali::Image image );
/**
* @brief Retrieves the image for the grab handle.
*
+ * @param[in] type A different image can be set for the pressed/released states.
* @return The grab handle image.
*/
- Dali::Image GetGrabHandleImage() const;
+ Dali::Image GetGrabHandleImage( GrabHandleImageType type ) const;
/**
* @brief Sets whether the selection handles and highlight are active.
/**
* @brief Sets the image for one of the selection handles.
*
- * @param[in] handle The selection handle.
* @param[in] state A different image can be set for the pressed/released states.
* @param[in] image The image to use.
*/
- void SetImage( SelectionHandle handle, SelectionHandleState state, Dali::Image image );
+ void SetLeftSelectionImage( SelectionHandleState state, Dali::Image image );
+
+ /**
+ * @brief Retrieves the image for a selection handle.
+ *
+ * @param[in] state A different image can be set for the pressed/released states.
+ * @return The image.
+ */
+ Dali::Image GetLeftSelectionImage( SelectionHandleState state ) const;
+
+ /**
+ * @brief Sets the image for one of the selection handles.
+ *
+ * @param[in] state A different image can be set for the pressed/released states.
+ * @param[in] image The image to use.
+ */
+ void SetRightSelectionImage( SelectionHandleState state, Dali::Image image );
/**
* @brief Retrieves the image for a selection handle.
*
- * @param[in] handle The selection handle.
* @param[in] state A different image can be set for the pressed/released states.
* @return The image.
*/
- Dali::Image GetImage( SelectionHandle handle, SelectionHandleState state ) const;
+ Dali::Image GetRightSelectionImage( SelectionHandleState state ) const;
/**
* @brief Adds a quad to the existing selection highlights.
void ClearHighlights();
/**
+ * @brief Sets the selection highlight color.
+ *
+ * @param[in] image The image to use.
+ */
+ void SetHighlightColor( const Vector4& color );
+
+ /**
+ * @brief Retrieves the selection highlight color.
+ *
+ * @return The image.
+ */
+ const Vector4& GetHighlightColor() const;
+
+ /**
* @brief Set the Selection Popup to show or hide via the active flaf
* @param[in] active true to show, false to hide
*/
*/
bool IsPopupActive() const;
+ /**
+ * @brief Sets the scroll threshold.
+ *
+ * It defines a square area inside the control, close to the edge.
+ * When the cursor enters this area, the decorator starts to send scroll events.
+ *
+ * @param[in] threshold The scroll threshold.
+ */
+ void SetScrollThreshold( float threshold );
+
+ /**
+ * @brief Retrieves the scroll threshold.
+ *
+ * @retunr The scroll threshold.
+ */
+ float GetScrollThreshold() const;
+
+ /**
+ * @brief Sets the scroll speed.
+ *
+ * Is the distance the text is going to be scrolled during a scroll interval.
+ *
+ * @param[in] speed The scroll speed.
+ */
+ void SetScrollSpeed( float speed );
+
+ /**
+ * @brief Retrieves the scroll speed.
+ *
+ * @return The scroll speed.
+ */
+ float GetScrollSpeed() const;
+
+ /**
+ * @brief Sets the scroll interval.
+ *
+ * @param[in] seconds The scroll interval in seconds.
+ */
+ void SetScrollTickInterval( float seconds );
+
+ /**
+ * @brief Retrieves the scroll interval.
+ *
+ * @return The scroll interval.
+ */
+ float GetScrollTickInterval() const;
+
protected:
/**