+ /**
+ * @brief Updates the cursor position.
+ *
+ * Sets the cursor's position into the decorator. It transforms the cursor's position into decorator's coords.
+ * It sets the position of the secondary cursor if it's a valid one.
+ * Sets which cursors are active.
+ *
+ * @param[in] cursorInfo Contains the selection handle position in Actor's coords.
+ *
+ */
+ void UpdateCursorPosition( const CursorInfo& cursorInfo );
+
+ /**
+ * @brief Updates the position of the given selection handle. It transforms the handle's position into decorator's coords.
+ *
+ * @param[in] handleType One of the selection handles.
+ * @param[in] cursorInfo Contains the selection handle position in Actor's coords.
+ */
+ void UpdateSelectionHandle( HandleType handleType,
+ const CursorInfo& cursorInfo );
+
+ /**
+ * @biref Clamps the horizontal scrolling to get the control always filled with text.
+ *
+ * @param[in] actualSize The size of the laid out text.
+ */
+ void ClampHorizontalScroll( const Vector2& actualSize );
+
+ /**
+ * @biref Clamps the vertical scrolling to get the control always filled with text.
+ *
+ * @param[in] actualSize The size of the laid out text.
+ */
+ void ClampVerticalScroll( const Vector2& actualSize );
+
+ /**
+ * @brief Scrolls the text to make a position visible.
+ *
+ * @pre mEventData must not be NULL. (there is a text-input or selection capabilities).
+ *
+ * @param[in] position A position in decorator coords.
+ *
+ * This method is called after inserting text, moving the cursor with the grab handle or the keypad,
+ * or moving the selection handles.
+ */
+ void ScrollToMakePositionVisible( const Vector2& position );
+
+ /**
+ * @brief Scrolls the text to make the cursor visible.
+ *
+ * This method is called after deleting text.
+ */
+ void ScrollTextToMatchCursor( const CursorInfo& cursorInfo);