Merge "Add ApplyCustomFragmentPrefix" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-model-interface.h
old mode 100755 (executable)
new mode 100644 (file)
index f2a82ad..d9520f1
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_TEXT_MODEL_INTERFACE_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
 #include <dali/public-api/math/vector2.h>
 
 // INTERNAL INCLUDES
-#include <dali-toolkit/public-api/text/text-enumerations.h>
+#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
 #include <dali-toolkit/internal/text/line-run.h>
 #include <dali-toolkit/internal/text/script-run.h>
 #include <dali-toolkit/internal/text/text-definitions.h>
-#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
+#include <dali-toolkit/public-api/text/text-enumerations.h>
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 namespace Text
 {
-
 /**
  * @brief Interface class used to retrieve the text's model from the text-controller.
  */
@@ -47,7 +44,8 @@ public:
    * @brief Virtual destructor.
    */
   virtual ~ModelInterface()
-  {}
+  {
+  }
 
   /**
    * @brief Retrives the control's size.
@@ -92,6 +90,13 @@ public:
   virtual DevelText::VerticalLineAlignment::Type GetVerticalLineAlignment() const = 0;
 
   /**
+   * @brief Retrieves ellipsis position for text.
+   *
+   * @return The ellipsis position.
+   */
+  virtual DevelText::EllipsisPosition::Type GetEllipsisPosition() const = 0;
+
+  /**
    * @brief Whether the text elide property is enabled.
    *
    * @return @e true if the text elide property is enabled, @e false otherwise.
@@ -134,6 +139,34 @@ public:
   virtual Length GetNumberOfGlyphs() const = 0;
 
   /**
+   * @brief Retrieves the start index of laid-out glyphs.
+   *
+   * @return The start index of laid-out glyphs.
+   */
+  virtual GlyphIndex GetStartIndexOfElidedGlyphs() const = 0;
+
+  /**
+   * @brief Retrieves the end index of laid-out glyphs.
+   *
+   * @return The end index of laid-out glyphs.
+   */
+  virtual GlyphIndex GetEndIndexOfElidedGlyphs() const = 0;
+
+  /**
+   * @brief Retrieves the first middle index of elided glyphs, index before ellipsis of middle.
+   *
+   * @return The first middle index of elided glyphs, index before ellipsis of middle.
+   */
+  virtual GlyphIndex GetFirstMiddleIndexOfElidedGlyphs() const = 0;
+
+  /**
+   * @brief Retrieves the second middle index of elided glyphs, index of ellipsis of middle.
+   *
+   * @return The second middle index of elided glyphs, index of ellipsis of middle.
+   */
+  virtual GlyphIndex GetSecondMiddleIndexOfElidedGlyphs() const = 0;
+
+  /**
    * @brief Retrieves the laid-out glyphs.
    *
    * @return A pointer to the vector with the laid-out glyphs.
@@ -162,6 +195,27 @@ public:
   virtual const ColorIndex* const GetColorIndices() const = 0;
 
   /**
+   * @brief Retrieves the vector of background colors.
+   *
+   * @return Pointer to the vector of background colors.
+   */
+  virtual const Vector4* const GetBackgroundColors() const = 0;
+
+  /**
+   * @brief Retrieves the vector of indices to the vector of background colors.
+   *
+   * @return Pointer to a vector which stores for each glyph the index to the vector of background colors.
+   */
+  virtual const ColorIndex* const GetBackgroundColorIndices() const = 0;
+
+  /**
+   * @brief checks if there is background colors set using markup.
+   *
+   * @return boolean if there is background colors set using markup .
+   */
+  virtual bool const IsMarkupBackgroundColorSet() const = 0;
+
+  /**
    * @brief Retrieves the text's default color.
    *
    * @return The default color.
@@ -224,7 +278,7 @@ public:
    * @param[in] index Index of the first underline run to be copied.
    * @param[in] numberOfRuns Number of underline runs to be copied.
    */
-  virtual void GetUnderlineRuns( GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns ) const = 0;
+  virtual void GetUnderlineRuns(GlyphRun* underlineRuns, UnderlineRunIndex index, Length numberOfRuns) const = 0;
 
   /**
    * @brief Retrieve the outline color.
@@ -238,7 +292,7 @@ public:
    *
    * @return The width of the outline.
    */
-  virtual float GetOutlineWidth() const = 0;
+  virtual uint16_t GetOutlineWidth() const = 0;
 
   /**
    * @brief Retrieves the background color.
@@ -254,6 +308,33 @@ public:
    */
   virtual bool IsBackgroundEnabled() const = 0;
 
+  /**
+   * @brief Returns whether markup-processor is enabled or not.
+   *
+   * @return The markup-processor state.
+   */
+  virtual bool IsMarkupProcessorEnabled() const = 0;
+
+  /**
+   * @brief Returns the hyphens glyph info.
+   *
+   * @return hyphens glyph info.
+   */
+  virtual const GlyphInfo* GetHyphens() const = 0;
+
+  /**
+   * @brief Returns the indices of the hyphen in the text.
+   *
+   * @return the hyphen indices.
+   */
+  virtual const Length* GetHyphenIndices() const = 0;
+
+  /**
+   * @brief Returns number of hyphens to add in text.
+   *
+   * @return number of hyphens.
+   */
+  virtual Length GetHyphensCount() const = 0;
 };
 
 } // namespace Text