Merge "Set http response body in binary format." into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-view-interface.h
index c6f76a4..da6b4e1 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.
@@ -18,6 +18,9 @@
  *
  */
 
+// EXTERNAL INCLUDES
+#include <dali/public-api/common/dali-vector.h>
+
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
 #include <dali-toolkit/internal/text/text-definitions.h>
@@ -33,6 +36,7 @@ namespace Toolkit
 namespace Text
 {
 struct GlyphRun;
+struct StrikethroughGlyphRun;
 
 /**
  * @brief Abstract interface to provide the information necessary to display text.
@@ -309,6 +313,47 @@ public:
    * @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;
+
+  /**
+   * @brief The spaces between characters in Pixels.
+   *
+   * @note A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
+   *
+   * @return characterSpacing.
+   */
+  virtual const float GetCharacterSpacing() const = 0;
+
+  /**
+   * @brief The text buffer.
+   *
+   * @return The text buffer.
+   */
+  virtual const Character* GetTextBuffer() const = 0;
+
+  /**
+   * @brief The text Glyph to Characters Array.
+   *
+   * @return GetGlyphsToCharacters.
+   */
+  virtual const Vector<CharacterIndex>& GetGlyphsToCharacters() const = 0;
 };
 
 } // namespace Text