[dali_2.1.6] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-view-interface.h
index 63f7fd4..67875b8 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_TEXT_VIEW_INTERFACE_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.
@@ -19,7 +19,9 @@
  */
 
 // INTERNAL INCLUDES
+#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
 #include <dali-toolkit/internal/text/text-definitions.h>
+#include <dali-toolkit/public-api/text/text-enumerations.h>
 
 namespace Dali
 {
@@ -31,6 +33,7 @@ namespace Toolkit
 namespace Text
 {
 struct GlyphRun;
+struct StrikethroughGlyphRun;
 
 /**
  * @brief Abstract interface to provide the information necessary to display text.
@@ -124,6 +127,13 @@ public:
   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 color
    *
    * @return The text color
@@ -186,6 +196,27 @@ public:
   virtual float GetUnderlineHeight() const = 0;
 
   /**
+   * @brief Retrieves the underline type override
+   *
+   * @return Returns the override type for an underline.
+   */
+  virtual Text::Underline::Type GetUnderlineType() const = 0;
+
+  /**
+   * @brief Retrieves the dashed underline width override.
+   *
+   * @return Returns the override width for the dashed underline.
+   */
+  virtual float GetDashedUnderlineWidth() const = 0;
+
+  /**
+   * @brief Retrieves the dashed underline gap override.
+   *
+   * @return Returns the override gap for the dashed underline.
+   */
+  virtual float GetDashedUnderlineGap() const = 0;
+
+  /**
    * @brief Retrieves the number of underline runs.
    *
    * @return The number of underline runs.
@@ -216,6 +247,87 @@ public:
    * @return The width of the outline.
    */
   virtual uint16_t GetOutlineWidth() 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.
+   */
+  virtual bool IsTextElideEnabled() 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 strikethrough color.
+   *
+   * @return The strikethrough color.
+   */
+  virtual const Vector4& GetStrikethroughColor() const = 0;
+
+  /**
+   * @brief Returns whether strikethrough is enabled or not.
+   *
+   * @return The strikethrough state.
+   */
+  virtual bool IsStrikethroughEnabled() const = 0;
+
+  /**
+   * @brief Retrieves the strikethrough height override
+   *
+   * @return Returns the override height for a strikethrough, 0 indicates that adaptor will determine the height
+   */
+  virtual float GetStrikethroughHeight() const = 0;
+
+  /**
+   * @brief Retrieves the number of strikethrough runs.
+   *
+   * @return The number of strikethrough runs.
+   */
+  virtual Length GetNumberOfStrikethroughRuns() const = 0;
+
+  /**
+   * @brief Retrieves the strikethrough runs.
+   *
+   * @param[out] strikethroughRuns Pointer to a buffer where the strikethrough runs are copied.
+   * @param[in] index Index of the first strikethrough run to be copied.
+   * @param[in] numberOfRuns Number of strikethrough runs to be copied.
+   */
+  virtual void GetStrikethroughRuns(StrikethroughGlyphRun* strikethroughRuns,
+                                    StrikethroughRunIndex  index,
+                                    Length                 numberOfRuns) const = 0;
 };
 
 } // namespace Text