Merge "Change Adaptor implementation API in toolkit for multiple windows." into devel...
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / layouts / layout-parameters.h
old mode 100644 (file)
new mode 100755 (executable)
index fa33087..e877e64
@@ -2,7 +2,7 @@
 #define DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H
 
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -22,8 +22,8 @@
 #include <dali/public-api/math/vector2.h>
 
 // INTERNAL INCLUDES
+#include <dali-toolkit/public-api/text/text-enumerations.h>
 #include <dali-toolkit/internal/text/text-definitions.h>
-#include <dali-toolkit/internal/text/layouts/layout-wrap-mode.h>
 
 namespace Dali
 {
@@ -60,6 +60,9 @@ struct Parameters
    * @param[in] totalNumberOfGlyphs The number of glyphs.
    * @param[in] horizontalAlignment The horizontal alignment.
    * @param[in] lineWrapMode The text wrap mode.
+   * @param[in] outlineWidth The outline width.
+   * @param[in] ignoreSpaceAfterText Whether ignoring spaces after text or not.
+   * @param[in] matchSystemLanguageDirection Whether match align for system language direction or not..
    */
   Parameters( const Vector2& boundingBox,
               const Character* const textBuffer,
@@ -72,8 +75,11 @@ struct Parameters
               const GlyphIndex* const charactersToGlyphsBuffer,
               const Length* const glyphsPerCharacterBuffer,
               Length totalNumberOfGlyphs,
-              HorizontalAlignment horizontalAlignment,
-              LineWrap::Mode lineWrapMode )
+              Text::HorizontalAlignment::Type horizontalAlignment,
+              Text::LineWrap::Mode lineWrapMode,
+              float outlineWidth,
+              bool ignoreSpaceAfterText,
+              bool matchSystemLanguageDirection )
   : boundingBox( boundingBox ),
     textBuffer( textBuffer ),
     lineBreakInfoBuffer( lineBreakInfoBuffer ),
@@ -93,6 +99,10 @@ struct Parameters
     startLineIndex( 0u ),
     estimatedNumberOfLines( 0u ),
     lineWrapMode( lineWrapMode ),
+    outlineWidth( outlineWidth ),
+    ignoreSpaceAfterText( ignoreSpaceAfterText ),
+    matchSystemLanguageDirection ( matchSystemLanguageDirection ),
+    interGlyphExtraAdvance( 0.f ),
     isLastNewParagraph( false )
   {}
 
@@ -111,11 +121,15 @@ struct Parameters
   GlyphIndex                      startGlyphIndex;                 ///< Index to the first glyph to layout.
   Length                          numberOfGlyphs;                  ///< The number of glyphs to layout.
   Length                          totalNumberOfGlyphs;             ///< The number of glyphs.
-  HorizontalAlignment             horizontalAlignment;             ///< The horizontal alignment.
+  HorizontalAlignment::Type       horizontalAlignment;             ///< The horizontal alignment.
   LineIndex                       startLineIndex;                  ///< The line index where to insert the new lines.
   Length                          estimatedNumberOfLines;          ///< The estimated number of lines.
-  LineWrap::Mode                  lineWrapMode;                    ///< The line wrap mode for moving to next line.
-  bool                            isLastNewParagraph;              ///< Whether the last character is a new paragraph character.
+  Text::LineWrap::Mode            lineWrapMode;                    ///< The line wrap mode for moving to next line.
+  float                           outlineWidth;                    ///< The outline width.
+  bool                            ignoreSpaceAfterText:1;          ///< Whether ignoring spaces after text or not. Default is true.
+  bool                            matchSystemLanguageDirection:1;  ///< Whether match align for system language direction or not. Default is false.
+  float                           interGlyphExtraAdvance;          ///< Extra advance added to each glyph.
+  bool                            isLastNewParagraph:1;            ///< Whether the last character is a new paragraph character.
 };
 
 } // namespace Layout