X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Flayouts%2Flayout-engine.cpp;h=704c9ede80628f1bd9d0e0008ed00222900827c9;hb=refs%2Fchanges%2F97%2F153897%2F12;hp=17e9f58fd4436e0f52a89c17ec14f0cdf7f3dc12;hpb=bf830dcf9aa1a53392edb19948d1b4d1dc410a63;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/layouts/layout-engine.cpp b/dali-toolkit/internal/text/layouts/layout-engine.cpp index 17e9f58..704c9ed 100644 --- a/dali-toolkit/internal/text/layouts/layout-engine.cpp +++ b/dali-toolkit/internal/text/layouts/layout-engine.cpp @@ -198,6 +198,7 @@ struct Engine::Impl LineLayout tmpLineLayout; const bool isMultiline = mLayout == MULTI_LINE_BOX; + const bool isWordLaidOut = parameters.lineWrapMode == Layout::LineWrap::WORD; // The last glyph to be laid-out. const GlyphIndex lastGlyphOfParagraphPlusOne = parameters.startGlyphIndex + parameters.numberOfGlyphs; @@ -447,7 +448,7 @@ struct Engine::Impl if( isMultiline && ( TextAbstraction::WORD_BREAK == wordBreakInfo ) ) { - oneWordLaidOut = true; + oneWordLaidOut = isWordLaidOut; DALI_LOG_INFO( gLogFilter, Debug::Verbose, " One word laid-out\n" ); // Current glyph is the last one of the current word. @@ -1077,7 +1078,7 @@ struct Engine::Impl void Align( const Size& size, CharacterIndex startIndex, Length numberOfCharacters, - HorizontalAlignment horizontalAlignment, + Text::HorizontalAlignment::Type horizontalAlignment, Vector& lines, float& alignmentOffset ) { @@ -1115,32 +1116,32 @@ struct Engine::Impl } void CalculateHorizontalAlignment( float boxWidth, - HorizontalAlignment horizontalAlignment, + HorizontalAlignment::Type horizontalAlignment, LineRun& line ) { line.alignmentOffset = 0.f; const bool isRTL = RTL == line.direction; float lineLength = line.width; - HorizontalAlignment alignment = horizontalAlignment; + HorizontalAlignment::Type alignment = horizontalAlignment; if( isRTL ) { // Swap the alignment type if the line is right to left. switch( alignment ) { - case HORIZONTAL_ALIGN_BEGIN: + case HorizontalAlignment::BEGIN: { - alignment = HORIZONTAL_ALIGN_END; + alignment = HorizontalAlignment::END; break; } - case HORIZONTAL_ALIGN_CENTER: + case HorizontalAlignment::CENTER: { // Nothing to do. break; } - case HORIZONTAL_ALIGN_END: + case HorizontalAlignment::END: { - alignment = HORIZONTAL_ALIGN_BEGIN; + alignment = HorizontalAlignment::BEGIN; break; } } @@ -1149,7 +1150,7 @@ struct Engine::Impl // Calculate the horizontal line offset. switch( alignment ) { - case HORIZONTAL_ALIGN_BEGIN: + case HorizontalAlignment::BEGIN: { line.alignmentOffset = 0.f; @@ -1160,7 +1161,7 @@ struct Engine::Impl } break; } - case HORIZONTAL_ALIGN_CENTER: + case HorizontalAlignment::CENTER: { line.alignmentOffset = 0.5f * ( boxWidth - lineLength ); @@ -1172,7 +1173,7 @@ struct Engine::Impl line.alignmentOffset = floorf( line.alignmentOffset ); // try to avoid pixel alignment. break; } - case HORIZONTAL_ALIGN_END: + case HorizontalAlignment::END: { if( isRTL ) { @@ -1271,7 +1272,7 @@ void Engine::ReLayoutRightToLeftLines( const Parameters& layoutParameters, void Engine::Align( const Size& size, CharacterIndex startIndex, Length numberOfCharacters, - Layout::HorizontalAlignment horizontalAlignment, + Text::HorizontalAlignment::Type horizontalAlignment, Vector& lines, float& alignmentOffset ) {