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=78746ff85495e01d8b3d6ffeb742f2a519dfe9df;hp=9fa4dde943455bf9a48d0ba863822b05265435ae;hb=06e563f8a982e25a0efe2d91c794657dc8e4bc4a;hpb=451d7a012c895c2578a29ba929dc61a6d959209a;ds=sidebyside diff --git a/dali-toolkit/internal/text/layouts/layout-parameters.h b/dali-toolkit/internal/text/layouts/layout-parameters.h index 9fa4dde..78746ff 100644 --- a/dali-toolkit/internal/text/layouts/layout-parameters.h +++ b/dali-toolkit/internal/text/layouts/layout-parameters.h @@ -33,6 +33,8 @@ namespace Toolkit namespace Text { +struct BidirectionalLineInfoRun; + /** * @brief Struct used to pass parameters. */ @@ -42,6 +44,7 @@ struct LayoutParameters * Constructor with the needed parameters to layout the text. * * @param[in] boundingBox The size of the box containing the text. + * @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. @@ -50,28 +53,44 @@ struct LayoutParameters * @param[in] charactersPerGlyphBuffer Vector with the number of characters that forms each glyph. */ 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 ) : boundingBox( boundingBox ), + textBuffer( textBuffer ), lineBreakInfoBuffer( lineBreakInfoBuffer ), wordBreakInfoBuffer( wordBreakInfoBuffer ), + characterDirectionBuffer( characterDirectionBuffer ), totalNumberOfGlyphs( totalNumberOfGlyphs ), glyphsBuffer( glyphsBuffer ), glyphsToCharactersBuffer( glyphsToCharactersBuffer ), - charactersPerGlyphBuffer( charactersPerGlyphBuffer ) + charactersPerGlyphBuffer( charactersPerGlyphBuffer ), + charactersToGlyphsBuffer( NULL ), + glyphsPerCharacterBuffer( NULL ), + lineBidirectionalInfoRunsBuffer( NULL ), + numberOfBidirectionalInfoRuns( 0u ), + isLastNewParagraph( false ) {} - Vector2 boundingBox; - const LineBreakInfo* const lineBreakInfoBuffer; - const WordBreakInfo* const wordBreakInfoBuffer; - Length totalNumberOfGlyphs; - const GlyphInfo* const glyphsBuffer; - const CharacterIndex* const glyphsToCharactersBuffer; - const Length* const charactersPerGlyphBuffer; + 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. + BidirectionalLineInfoRun* lineBidirectionalInfoRunsBuffer; ///< Bidirectional conversion tables per line. + Length numberOfBidirectionalInfoRuns; ///< The number of lines with bidirectional info. + bool isLastNewParagraph; ///< Whether the last character is a new paragraph character. }; } // namespace Text