Multiple text background color support for left-to-right text only in TextField
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-view.h
old mode 100644 (file)
new mode 100755 (executable)
index b9bd7fc..91b7867
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_TEXT_VIEW_H__
-#define __DALI_TOOLKIT_TEXT_VIEW_H__
+#ifndef DALI_TOOLKIT_TEXT_VIEW_H
+#define DALI_TOOLKIT_TEXT_VIEW_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -25,8 +25,6 @@
 namespace Dali
 {
 
-struct Vector2;
-
 namespace Toolkit
 {
 
@@ -58,6 +56,16 @@ public:
   void SetVisualModel( VisualModelPtr visualModel );
 
   /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetControlSize()
+   */
+  virtual const Vector2& GetControlSize() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetLayoutSize()
+   */
+  virtual const Vector2& GetLayoutSize() const;
+
+  /**
    * @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfGlyphs()
    */
   virtual Length GetNumberOfGlyphs() const;
@@ -65,16 +73,31 @@ public:
   /**
    * @copydoc Dali::Toolkit::Text::ViewInterface::GetGlyphs()
    */
-  virtual void GetGlyphs( GlyphInfo* glyphs,
-                          GlyphIndex glyphIndex,
-                          Length numberOfGlyphs ) const;
+  virtual Length GetGlyphs( GlyphInfo* glyphs,
+                            Vector2* glyphPositions,
+                            float& minLineOffset,
+                            GlyphIndex glyphIndex,
+                            Length numberOfGlyphs ) const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetColors()
+   */
+  virtual const Vector4* const GetColors() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetColorIndices()
+   */
+  virtual const ColorIndex* const GetColorIndices() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetBackgroundColors()
+   */
+  virtual const Vector4* const GetBackgroundColors() const;
 
   /**
-   * @copydoc Dali::Toolkit::Text::ViewInterface::GetGlyphPositions()
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetBackgroundColorIndices()
    */
-  virtual void GetGlyphPositions( Vector2* glyphPositions,
-                                  GlyphIndex glyphIndex,
-                                  Length numberOfGlyphs ) const;
+  virtual const ColorIndex* const GetBackgroundColorIndices() const;
 
   /**
    * @copydoc Dali::Toolkit::Text::ViewInterface::GetTextColor()
@@ -101,6 +124,33 @@ public:
    */
   virtual bool IsUnderlineEnabled() const;
 
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetUnderlineHeight()
+   */
+  virtual float GetUnderlineHeight() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetNumberOfUnderlineRuns()
+   */
+  virtual Length GetNumberOfUnderlineRuns() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetUnderlineRuns()
+   */
+  virtual void GetUnderlineRuns( GlyphRun* underlineRuns,
+                                 UnderlineRunIndex index,
+                                 Length numberOfRuns ) const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetOutlineColor()
+   */
+  virtual const Vector4& GetOutlineColor() const;
+
+  /**
+   * @copydoc Dali::Toolkit::Text::ViewInterface::GetOutlineWidth()
+   */
+  virtual uint16_t GetOutlineWidth() const;
+
 private:
 
   // Undefined
@@ -120,4 +170,4 @@ private:
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_TEXT_VIEW_H__
+#endif // DALI_TOOLKIT_TEXT_VIEW_H