Merge "Change MatchSystemLanguageDirection is true." into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-controller-impl.h
index 414faf5..9f637d3 100644 (file)
@@ -49,6 +49,7 @@ struct ControllerImplEventHandler;
 struct SelectionHandleController;
 
 class SelectableControlInterface;
+class AnchorControlInterface;
 
 struct Event
 {
@@ -314,10 +315,12 @@ struct Controller::Impl
 {
   Impl(ControlInterface*           controlInterface,
        EditableControlInterface*   editableControlInterface,
-       SelectableControlInterface* selectableControlInterface)
+       SelectableControlInterface* selectableControlInterface,
+       AnchorControlInterface*     anchorControlInterface)
   : mControlInterface(controlInterface),
     mEditableControlInterface(editableControlInterface),
     mSelectableControlInterface(selectableControlInterface),
+    mAnchorControlInterface(anchorControlInterface),
     mModel(),
     mFontDefaults(NULL),
     mUnderlineDefaults(NULL),
@@ -782,10 +785,18 @@ private:
   // Declared private and left undefined to avoid copies.
   Impl& operator=(const Impl&);
 
+  /**
+   * @brief Copy Underlined-Character-Runs from Logical-Model to Underlined-Glyph-Runs in Visual-Model
+   *
+   * @param shouldClearPreUnderlineRuns Whether should clear the existing Underlined-Glyph-Runs in Visual-Model
+   */
+  void CopyUnderlinedFromLogicalToVisualModels(bool shouldClearPreUnderlineRuns);
+
 public:
   ControlInterface*           mControlInterface;           ///< Reference to the text controller.
   EditableControlInterface*   mEditableControlInterface;   ///< Reference to the editable text controller.
   SelectableControlInterface* mSelectableControlInterface; ///< Reference to the selectable text controller.
+  AnchorControlInterface*     mAnchorControlInterface;     ///< Reference to the anchor controller.
   ModelPtr                    mModel;                      ///< Pointer to the text's model.
   FontDefaults*               mFontDefaults;               ///< Avoid allocating this when the user does not specify a font.
   UnderlineDefaults*          mUnderlineDefaults;          ///< Avoid allocating this when the user does not specify underline parameters.