X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Flayouts%2Flayout-parameters.h;h=5a77d8617dcf05a9a89f5f3c5e998b76b0295ffc;hp=8d875bf8d258e38f83bf1d239b54f68505af1f9c;hb=9346cf33ef49063185d54fbbfc186864d96c51ca;hpb=9598e692217c5fb541d862a3957b3efd5fd5171d;ds=sidebyside diff --git a/dali-toolkit/internal/text/layouts/layout-parameters.h b/dali-toolkit/internal/text/layouts/layout-parameters.h index 8d875bf..5a77d86 100644 --- a/dali-toolkit/internal/text/layouts/layout-parameters.h +++ b/dali-toolkit/internal/text/layouts/layout-parameters.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H__ -#define __DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H__ +#ifndef DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H +#define DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H /* - * Copyright (c) 2015 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,6 +22,7 @@ #include // INTERNAL INCLUDES +#include #include namespace Dali @@ -35,10 +36,13 @@ namespace Text struct BidirectionalLineInfoRun; +namespace Layout +{ + /** * @brief Struct used to pass parameters. */ -struct LayoutParameters +struct Parameters { /** * Constructor with the needed parameters to layout the text. @@ -54,18 +58,24 @@ struct LayoutParameters * @param[in] charactersToGlyphsBuffer Vector with indices pointing the first glyph of each character. * @param[in] glyphsPerCharacterBuffer Vector with the number of glyphs shaped from the character. * @param[in] totalNumberOfGlyphs The number of glyphs. + * @param[in] horizontalAlignment The horizontal alignment. + * @param[in] lineWrapMode The text wrap mode. */ - LayoutParameters( const Vector2& boundingBox, - const Character* const textBuffer, - const LineBreakInfo* const lineBreakInfoBuffer, - const WordBreakInfo* const wordBreakInfoBuffer, - const CharacterDirection* const characterDirectionBuffer, - const GlyphInfo* const glyphsBuffer, - const CharacterIndex* const glyphsToCharactersBuffer, - const Length* const charactersPerGlyphBuffer, - const GlyphIndex* const charactersToGlyphsBuffer, - const Length* const glyphsPerCharacterBuffer, - Length totalNumberOfGlyphs ) + Parameters( const Vector2& boundingBox, + const Character* const textBuffer, + const LineBreakInfo* const lineBreakInfoBuffer, + const WordBreakInfo* const wordBreakInfoBuffer, + const CharacterDirection* const characterDirectionBuffer, + const GlyphInfo* const glyphsBuffer, + const CharacterIndex* const glyphsToCharactersBuffer, + const Length* const charactersPerGlyphBuffer, + const GlyphIndex* const charactersToGlyphsBuffer, + const Length* const glyphsPerCharacterBuffer, + Length totalNumberOfGlyphs, + Text::HorizontalAlignment::Type horizontalAlignment, + Text::LineWrap::Mode lineWrapMode, + float outlineWidth, + bool ignoreSpaceAfterText ) : boundingBox( boundingBox ), textBuffer( textBuffer ), lineBreakInfoBuffer( lineBreakInfoBuffer ), @@ -81,9 +91,13 @@ struct LayoutParameters startGlyphIndex( 0u ), numberOfGlyphs( 0u ), totalNumberOfGlyphs( totalNumberOfGlyphs ), + horizontalAlignment( horizontalAlignment ), startLineIndex( 0u ), estimatedNumberOfLines( 0u ), - isLastNewParagraph( false ) + lineWrapMode( lineWrapMode ), + outlineWidth( outlineWidth ), + isLastNewParagraph( false ), + ignoreSpaceAfterText( ignoreSpaceAfterText ) {} Vector2 boundingBox; ///< The size of the box containing the text. @@ -101,15 +115,21 @@ struct LayoutParameters GlyphIndex startGlyphIndex; ///< Index to the first glyph to layout. Length numberOfGlyphs; ///< The number of glyphs to layout. Length totalNumberOfGlyphs; ///< The number of glyphs. + HorizontalAlignment::Type horizontalAlignment; ///< The horizontal alignment. LineIndex startLineIndex; ///< The line index where to insert the new lines. Length estimatedNumberOfLines; ///< The estimated number of lines. - 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 isLastNewParagraph:1; ///< Whether the last character is a new paragraph character. + bool ignoreSpaceAfterText:1; ///< Whether ignoring spaces after text or not. Default is true. }; +} // namespace Layout + } // namespace Text } // namespace Toolkit } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H__ +#endif // DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H