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=fa33087626b43d83338f022e9cd7532645a2a2b1;hp=8a49a91baed797e6f1a65fba56ba6b07327420a4;hb=8b3dac6e167dd77d6db17c019d1e9778d79f198e;hpb=f4352109bea0752f4e514d67641e47c4d9744451 diff --git a/dali-toolkit/internal/text/layouts/layout-parameters.h b/dali-toolkit/internal/text/layouts/layout-parameters.h index 8a49a91..fa33087 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) 2016 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. @@ -23,6 +23,7 @@ // 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. @@ -47,54 +51,79 @@ struct LayoutParameters * @param[in] textBuffer The text buffer. * @param[in] lineBreakInfoBuffer The line break info. * @param[in] wordBreakInfoBuffer The word break info. - * @param[in] totalNumberOfGlyphs The number of glyphs. - * @param[in] glyphsBuffer A vector with glyphs. + * @param[in] characterDirectionBuffer Vector with the direction of each character. + * @param[in] glyphsBuffer Vector with glyphs. * @param[in] glyphsToCharactersBuffer Vector with indices pointing the first character of each glyph. * @param[in] charactersPerGlyphBuffer Vector with the number of characters that forms each glyph. + * @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, - Length totalNumberOfGlyphs, - const GlyphInfo* const glyphsBuffer, - const CharacterIndex* const glyphsToCharactersBuffer, - const Length* const charactersPerGlyphBuffer ) + 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, + HorizontalAlignment horizontalAlignment, + LineWrap::Mode lineWrapMode ) : boundingBox( boundingBox ), textBuffer( textBuffer ), lineBreakInfoBuffer( lineBreakInfoBuffer ), wordBreakInfoBuffer( wordBreakInfoBuffer ), characterDirectionBuffer( characterDirectionBuffer ), - totalNumberOfGlyphs( totalNumberOfGlyphs ), glyphsBuffer( glyphsBuffer ), glyphsToCharactersBuffer( glyphsToCharactersBuffer ), charactersPerGlyphBuffer( charactersPerGlyphBuffer ), - charactersToGlyphsBuffer( NULL ), - glyphsPerCharacterBuffer( NULL ), + charactersToGlyphsBuffer( charactersToGlyphsBuffer ), + glyphsPerCharacterBuffer( glyphsPerCharacterBuffer ), lineBidirectionalInfoRunsBuffer( NULL ), - numberOfBidirectionalInfoRuns( 0u ) + numberOfBidirectionalInfoRuns( 0u ), + startGlyphIndex( 0u ), + numberOfGlyphs( 0u ), + totalNumberOfGlyphs( totalNumberOfGlyphs ), + horizontalAlignment( horizontalAlignment ), + startLineIndex( 0u ), + estimatedNumberOfLines( 0u ), + lineWrapMode( lineWrapMode ), + isLastNewParagraph( false ) {} - Vector2 boundingBox; - const Character* const textBuffer; - const LineBreakInfo* const lineBreakInfoBuffer; - const WordBreakInfo* const wordBreakInfoBuffer; - const CharacterDirection* const characterDirectionBuffer; - Length totalNumberOfGlyphs; - const GlyphInfo* const glyphsBuffer; - const CharacterIndex* const glyphsToCharactersBuffer; - const Length* const charactersPerGlyphBuffer; - GlyphIndex* charactersToGlyphsBuffer; ///< The character to glyph conversion table. - Length* glyphsPerCharacterBuffer; ///< The number of glyphs per character. + Vector2 boundingBox; ///< The size of the box containing the text. + const Character* const textBuffer; ///< The text buffer. + const LineBreakInfo* const lineBreakInfoBuffer; ///< The line break info. + const WordBreakInfo* const wordBreakInfoBuffer; ///< The word break info. + const CharacterDirection* const characterDirectionBuffer; ///< Vector with the direction of each character. + const GlyphInfo* const glyphsBuffer; ///< Vector with glyphs. + const CharacterIndex* const glyphsToCharactersBuffer; ///< Vector with indices pointing the first character of each glyph. + const Length* const charactersPerGlyphBuffer; ///< Vector with the number of characters that forms each glyph. + const GlyphIndex* const charactersToGlyphsBuffer; ///< Vector with indices pointing the first glyph of each character. + const Length* const glyphsPerCharacterBuffer; ///< Vector with the number of glyphs shaped from the character. BidirectionalLineInfoRun* lineBidirectionalInfoRunsBuffer; ///< Bidirectional conversion tables per line. Length numberOfBidirectionalInfoRuns; ///< The number of lines with bidirectional info. + 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. + 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. }; +} // namespace Layout + } // namespace Text } // namespace Toolkit } // namespace Dali -#endif // __DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H__ +#endif // DALI_TOOLKIT_TEXT_LAYOUT_PARAMETERS_H