Dali-Text: Keyboard Shortcuts
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / decorator / text-decorator.h
index 83388f4..8d0894f 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_TEXT_DECORATOR_H__
-#define __DALI_TOOLKIT_TEXT_DECORATOR_H__
+#ifndef DALI_TOOLKIT_TEXT_DECORATOR_H
+#define DALI_TOOLKIT_TEXT_DECORATOR_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -243,6 +243,24 @@ public:
    */
   const Vector2& GetPosition( Cursor cursor ) const;
 
+
+  /**
+   * @brief Sets the glyph offset of a cursor.
+   *
+   * @param[in] cursor The cursor to set.
+   * @param[in] glyphoffset The difference of line ascender and glyph ascender.
+   */
+  void SetGlyphOffset( Cursor cursor, float glyphOffset );
+
+  /**
+   * @brief Retrieves the glyph offset of a cursor.
+   *
+   * @param[in] cursor The cursor to get.
+   *
+   * @return The glyph offset. glyph offset means difference of line ascender and glyph ascender.
+   */
+  const float GetGlyphOffset( Cursor cursor ) const;
+
   /**
    * @brief Sets the color for a cursor.
    *
@@ -335,23 +353,23 @@ public:
   bool IsHandleActive( HandleType handleType ) const;
 
   /**
-   * @brief Sets the image for one of the handles.
+   * @brief Sets the image file name for one of the handles.
    *
    * @param[in] handleType One of the handles.
    * @param[in] handleImageType A different image can be set for the pressed/released states.
-   * @param[in] image The image to use.
+   * @param[in] imageFileName The image filename to use.
    */
-  void SetHandleImage( HandleType handleType, HandleImageType handleImageType, Dali::Image image );
+  void SetHandleImage( HandleType handleType, HandleImageType handleImageType, const std::string& imageFileName );
 
   /**
-   * @brief Retrieves the image for one of the handles.
+   * @brief Retrieves the file name of the image for one of the handles.
    *
    * @param[in] handleType One of the handles.
    * @param[in] handleImageType A different image can be set for the pressed/released states.
    *
-   * @return The grab handle image.
+   * @return The grab handle image string.
    */
-  Dali::Image GetHandleImage( HandleType handleType, HandleImageType handleImageType ) const;
+  const std::string& GetHandleImage( HandleType handleType, HandleImageType handleImageType ) const;
 
   /**
    * @brief Sets the color of the handles
@@ -437,12 +455,10 @@ public:
   /**
    * @brief Adds a quad to the existing selection highlights. Vertices are in decorator's coordinates.
    *
-   * @param[in] x1 The top-left x position.
-   * @param[in] y1 The top-left y position.
-   * @param[in] x2 The bottom-right x position.
-   * @param[in] y3 The bottom-right y position.
+   * @param[in] index Position in the vector where to add the quad.
+   * @param[in] quad The quad. The 'x' and 'y' coordinates store the min 'x' and min 'y'. The 'z' and 'w' coordinates store the max 'x' and max 'y'.
    */
-  void AddHighlight( float x1, float y1, float x2, float y2 );
+  void AddHighlight( unsigned int index, const Vector4& quad );
 
   /**
    * @brief Sets the min 'x,y' coordinates and the size of the highlighted box.
@@ -452,9 +468,11 @@ public:
    *
    * @param[in] position The position of the highlighted text in decorator's coords.
    * @param[in] size The size of the highlighted text.
+   * @param[in] outlineOffset The outline's offset.
    */
   void SetHighLightBox( const Vector2& position,
-                        const Size& size );
+                        const Size& size,
+                        float outlineOffset );
 
   /**
    * @brief Removes all of the previously added highlights.
@@ -462,6 +480,13 @@ public:
   void ClearHighlights();
 
   /**
+   * @brief Reserves space for the highlight quads.
+   *
+   * @param[in] numberOfQuads The expected number of quads.
+   */
+  void ResizeHighlightQuads( unsigned int numberOfQuads );
+
+  /**
    * @brief Sets the selection highlight color.
    *
    * @param[in] color The color to use.
@@ -490,6 +515,13 @@ public:
   bool IsHighlightActive() const;
 
   /**
+   * @brief Retreives whether the highlight is shown or not.
+   *
+   * @return true if the highlight is visible, false otherwise.
+   */
+  bool IsHighlightVisible() const;
+
+  /**
    * @brief Sets into the decorator the depth used to render the text.
    *
    * @param[in] depth The text's depth.
@@ -623,4 +655,4 @@ private:
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_TEXT_DECORATOR_H__
+#endif // DALI_TOOLKIT_TEXT_DECORATOR_H