Merge "Add text selection popup style" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / text-controls / text-field-devel.h
index 938bf5c..c81210a 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_TEXT_FIELD_DEVEL_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
@@ -163,6 +163,14 @@ enum
   FONT_SIZE_SCALE,
 
   /**
+   * @brief True to enable the font size scale or false to disable.
+   * @details Name "enableFontSizeScale", type Property::BOOLEAN.
+   * @note The default value is true.
+   * If false, font size scale is not apppied.
+   */
+  ENABLE_FONT_SIZE_SCALE,
+
+  /**
    * @brief The position for primary cursor.
    * @details Name "primaryCursorPosition", type Property::INTEGER.
    */
@@ -225,6 +233,22 @@ enum
    * @details Name "inputStrikethrough", type Property::MAP.
    */
   INPUT_STRIKETHROUGH,
+
+  /**
+  * @brief The spaces between characters in Pixels.
+  * @details Name "characterSpacing", type Property::FLOAT.
+  * @note
+  *   A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+  *   The default value is 0.f which does nothing.
+  */
+  CHARACTER_SPACING,
+
+  /**
+   * @brief Sets the selection popup style
+   * @details Name "selectionPopupStyle", type Property::MAP.
+   * @see Dali::Toolkit::TextSelectionPopup::Property
+   */
+  SELECTION_POPUP_STYLE,
 };
 
 } // namespace Property
@@ -348,6 +372,23 @@ using SelectionClearedSignalType = Signal<void(TextField)>;
 DALI_TOOLKIT_API SelectionClearedSignalType& SelectionClearedSignal(TextField textField);
 
 /**
+ * @brief selection start signal type.
+ */
+using SelectionStartedSignalType = Signal<void(TextField)>;
+
+/**
+ * @brief This signal is emitted when the selection start.
+ *
+ * A callback of the following type may be connected:
+ * @code
+ *   void YourCallbackName( TextField textField);
+ * @endcode
+ * @param[in] textField The instance of TextField.
+ * @return The signal to connect to
+ */
+DALI_TOOLKIT_API SelectionStartedSignalType& SelectionStartedSignal(TextField textField);
+
+/**
  * @brief Get the rendered size of a specific text range.
  * if the requested text is at multilines, multiple sizes will be returned for each text located in a separate line.
  * if a line contains characters with different directions, multiple sizes will be returned for each block of contiguous characters with the same direction.