Add MIN_LINE_SIZE property
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-controller.h
index 18ff68e..c7a549e 100755 (executable)
@@ -47,6 +47,16 @@ class EditableControlInterface;
 class View;
 class RenderingController;
 
+  /**
+   * @brief Text selection operations .
+   */
+  enum SelectionType
+  {
+    INTERACTIVE        = 0x0000,
+    ALL                = 0x0001,
+    NONE               = 0x0002
+  };
+
 typedef IntrusivePtr<Controller> ControllerPtr;
 
 /**
@@ -74,16 +84,15 @@ public: // Enumerated types.
     GET_SCRIPTS        = 0x0002,
     VALIDATE_FONTS     = 0x0004,
     GET_LINE_BREAKS    = 0x0008,
-    GET_WORD_BREAKS    = 0x0010,
-    BIDI_INFO          = 0x0020,
-    SHAPE_TEXT         = 0x0040,
-    GET_GLYPH_METRICS  = 0x0080,
-    LAYOUT             = 0x0100,
-    UPDATE_LAYOUT_SIZE = 0x0200,
-    REORDER            = 0x0400,
-    ALIGN              = 0x0800,
-    COLOR              = 0x1000,
-    UPDATE_DIRECTION   = 0x2000,
+    BIDI_INFO          = 0x0010,
+    SHAPE_TEXT         = 0x0020,
+    GET_GLYPH_METRICS  = 0x0040,
+    LAYOUT             = 0x0080,
+    UPDATE_LAYOUT_SIZE = 0x0100,
+    REORDER            = 0x0200,
+    ALIGN              = 0x0400,
+    COLOR              = 0x0800,
+    UPDATE_DIRECTION   = 0x1000,
     ALL_OPERATIONS     = 0xFFFF
   };
 
@@ -1046,6 +1055,22 @@ public: // Default style & Input style
   float GetDefaultLineSpacing() const;
 
   /**
+   * @brief Sets the default line size.
+   *
+   * @param[in] lineSize The line size.
+   *
+   * @return True if lineSize has been updated, false otherwise
+   */
+  bool SetDefaultLineSize( float lineSize );
+
+  /**
+   * @brief Retrieves the default line size.
+   *
+   * @return The line size.
+   */
+  float GetDefaultLineSize() const;
+
+  /**
    * @brief Sets the input text's color.
    *
    * @param[in] color The input text's color.
@@ -1463,9 +1488,9 @@ public: // Text-input Event Queuing.
    *
    * @param[in] x The x position relative to the top-left of the parent control.
    * @param[in] y The y position relative to the top-left of the parent control.
-   * @param[in] selectAll Whether the whole text is selected.
+   * @param[in] selection type like the whole text is selected or unselected.
    */
-  void SelectEvent( float x, float y, bool selectAll );
+  void SelectEvent( float x, float y, SelectionType selection );
 
   /**
    * @brief Event received from input method context
@@ -1488,6 +1513,20 @@ public: // Text-input Event Queuing.
    */
   bool ShouldClearFocusOnEscape() const;
 
+  /**
+   * @brief Create an actor that renders the text background color
+   *
+   * @return the created actor or an empty handle if no background color needs to be rendered.
+   */
+  Actor CreateBackgroundActor();
+
+  /**
+   * @brief Retrive Selected text.
+   *
+   * @return The seleced text.
+   */
+  std::string GetSelectedText();
+
 protected: // Inherit from Text::Decorator::ControllerInterface.
 
   /**