X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-Layout.cpp;h=f27f4d749d8eb276d10017c9961482dbbd483508;hb=10caf1dca0d3b222b74ba3916a84474fbcf8834e;hp=4d428432a2d580d31e7a1f1019674763a9c61be8;hpb=8318ee011aae9d2a56018ea7da82b601e8250279;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp old mode 100644 new mode 100755 index 4d42843..f27f4d7 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -24,7 +24,7 @@ #include #include #include -#include +#include using namespace Dali; using namespace Toolkit; @@ -51,7 +51,7 @@ struct LayoutTextData float* positions; unsigned int numberOfLines; LineRun* lines; - LayoutEngine::Layout layout; + Layout::Engine::Type layout; unsigned int startIndex; unsigned int numberOfGlyphs; bool ellipsis:1; @@ -84,6 +84,7 @@ bool LayoutTextTest( const LayoutTextData& data ) fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf" ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHebrewRegular.ttf" ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansHindiRegular.ttf" ); // 1) Create the model. LogicalModelPtr logicalModel; @@ -109,7 +110,8 @@ bool LayoutTextTest( const LayoutTextData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); // 2) Clear the layout. Vector& lines = visualModel->mLines; @@ -152,24 +154,29 @@ bool LayoutTextTest( const LayoutTextData& data ) glyphPositions.Begin() + data.startIndex + data.numberOfGlyphs ); // 3) Layout - LayoutEngine engine; + Layout::Engine engine; engine.SetMetrics( metrics ); - engine.SetTextEllipsisEnabled( data.ellipsis ); engine.SetLayout( data.layout ); const Length totalNumberOfGlyphs = visualModel->mGlyphs.Count(); - - LayoutParameters layoutParameters( data.textArea, - logicalModel->mText.Begin(), - logicalModel->mLineBreakInfo.Begin(), - logicalModel->mWordBreakInfo.Begin(), - ( 0u != logicalModel->mCharacterDirections.Count() ) ? logicalModel->mCharacterDirections.Begin() : NULL, - visualModel->mGlyphs.Begin(), - visualModel->mGlyphsToCharacters.Begin(), - visualModel->mCharactersPerGlyph.Begin(), - visualModel->mCharactersToGlyph.Begin(), - visualModel->mGlyphsPerCharacter.Begin(), - totalNumberOfGlyphs ); + float outlineWidth = visualModel->GetOutlineWidth(); + + Layout::Parameters layoutParameters( data.textArea, + logicalModel->mText.Begin(), + logicalModel->mLineBreakInfo.Begin(), + logicalModel->mWordBreakInfo.Begin(), + ( 0u != logicalModel->mCharacterDirections.Count() ) ? logicalModel->mCharacterDirections.Begin() : NULL, + visualModel->mGlyphs.Begin(), + visualModel->mGlyphsToCharacters.Begin(), + visualModel->mCharactersPerGlyph.Begin(), + visualModel->mCharactersToGlyph.Begin(), + visualModel->mGlyphsPerCharacter.Begin(), + totalNumberOfGlyphs, + Text::HorizontalAlignment::BEGIN, + Text::LineWrap::WORD, + outlineWidth, + true, + false ); layoutParameters.isLastNewParagraph = isLastNewParagraph; @@ -181,10 +188,13 @@ bool LayoutTextTest( const LayoutTextData& data ) layoutSize = Vector2::ZERO; + bool isAutoScroll = false; const bool updated = engine.LayoutText( layoutParameters, glyphPositions, lines, - layoutSize ); + layoutSize, + data.ellipsis, + isAutoScroll ); // 4) Compare the results. @@ -366,23 +376,30 @@ bool ReLayoutRightToLeftLinesTest( const ReLayoutRightToLeftLinesData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); // 2) Call the ReLayoutRightToLeftLines() method. - LayoutEngine engine; + Layout::Engine engine; engine.SetMetrics( metrics ); - LayoutParameters layoutParameters( data.textArea, - logicalModel->mText.Begin(), - logicalModel->mLineBreakInfo.Begin(), - logicalModel->mWordBreakInfo.Begin(), - ( 0u != logicalModel->mCharacterDirections.Count() ) ? logicalModel->mCharacterDirections.Begin() : NULL, - visualModel->mGlyphs.Begin(), - visualModel->mGlyphsToCharacters.Begin(), - visualModel->mCharactersPerGlyph.Begin(), - visualModel->mCharactersToGlyph.Begin(), - visualModel->mGlyphsPerCharacter.Begin(), - visualModel->mGlyphs.Count() ); + float outlineWidth = visualModel->GetOutlineWidth(); + Layout::Parameters layoutParameters( data.textArea, + logicalModel->mText.Begin(), + logicalModel->mLineBreakInfo.Begin(), + logicalModel->mWordBreakInfo.Begin(), + ( 0u != logicalModel->mCharacterDirections.Count() ) ? logicalModel->mCharacterDirections.Begin() : NULL, + visualModel->mGlyphs.Begin(), + visualModel->mGlyphsToCharacters.Begin(), + visualModel->mCharactersPerGlyph.Begin(), + visualModel->mCharactersToGlyph.Begin(), + visualModel->mGlyphsPerCharacter.Begin(), + visualModel->mGlyphs.Count(), + Text::HorizontalAlignment::BEGIN, + Text::LineWrap::WORD, + outlineWidth, + true, + false ); layoutParameters.numberOfBidirectionalInfoRuns = logicalModel->mBidirectionalLineInfo.Count(); layoutParameters.lineBidirectionalInfoRunsBuffer = logicalModel->mBidirectionalLineInfo.Begin(); @@ -429,12 +446,14 @@ struct AlignData Size textArea; unsigned int numberOfFonts; FontDescriptionRun* fontDescriptions; - LayoutEngine::HorizontalAlignment horizontalAlignment; - LayoutEngine::VerticalAlignment verticalAlignment; + Text::HorizontalAlignment::Type horizontalAlignment; + Text::VerticalAlignment::Type verticalAlignment; unsigned int startIndex; unsigned int numberOfCharacters; unsigned int numberOfLines; float* lineOffsets; + Dali::LayoutDirection::Type layoutDirection; + bool matchSystemLanguageDirection; }; bool AlignTest( const AlignData& data ) @@ -474,19 +493,22 @@ bool AlignTest( const AlignData& data ) layoutSize, logicalModel, visualModel, - metrics ); + metrics, + false ); // Call the Align method. - LayoutEngine engine; + Layout::Engine engine; engine.SetMetrics( metrics ); - engine.SetHorizontalAlignment( data.horizontalAlignment ); - engine.SetVerticalAlignment( data.verticalAlignment ); - + float alignmentOffset = 0.f; engine.Align( data.textArea, data.startIndex, data.numberOfCharacters, - visualModel->mLines ); + data.horizontalAlignment, + visualModel->mLines, + alignmentOffset, + data.layoutDirection, + data.matchSystemLanguageDirection ); // Compare results. if( data.numberOfLines != visualModel->mLines.Count() ) @@ -506,7 +528,6 @@ bool AlignTest( const AlignData& data ) return false; } } - return true; } @@ -556,61 +577,12 @@ int UtcDaliTextLayoutSetGetLayout(void) ToolkitTestApplication application; tet_infoline(" UtcDaliTextLayoutSetGetLayout"); - LayoutEngine engine; - - DALI_TEST_CHECK( LayoutEngine::SINGLE_LINE_BOX == engine.GetLayout() ); - - engine.SetLayout( LayoutEngine::MULTI_LINE_BOX ); - DALI_TEST_CHECK( LayoutEngine::MULTI_LINE_BOX == engine.GetLayout() ); - - tet_result(TET_PASS); - END_TEST; -} - -int UtcDaliTextLayoutSetGetTextEllipsisEnabled(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliTextLayoutSetGetTextEllipsisEnabled"); - - LayoutEngine engine; - - DALI_TEST_CHECK( !engine.GetTextEllipsisEnabled() ); - - engine.SetTextEllipsisEnabled( true ); - DALI_TEST_CHECK( engine.GetTextEllipsisEnabled() ); - - tet_result(TET_PASS); - END_TEST; -} - -int UtcDaliTextLayoutSetGetHorizontalAlignment(void) -{ - ToolkitTestApplication application; - tet_infoline(" "); - - LayoutEngine engine; - - DALI_TEST_CHECK( LayoutEngine::HORIZONTAL_ALIGN_BEGIN == engine.GetHorizontalAlignment() ); - - engine.SetHorizontalAlignment( LayoutEngine::HORIZONTAL_ALIGN_END ); - DALI_TEST_CHECK( LayoutEngine::HORIZONTAL_ALIGN_END == engine.GetHorizontalAlignment() ); - - tet_result(TET_PASS); - END_TEST; -} - -int UtcDaliTextLayoutSetGetVerticalAlignment(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliTextLayoutSetGetVerticalAlignment"); - - LayoutEngine engine; + Layout::Engine engine; - DALI_TEST_CHECK( LayoutEngine::VERTICAL_ALIGN_TOP == engine.GetVerticalAlignment() ); - - engine.SetVerticalAlignment( LayoutEngine::VERTICAL_ALIGN_TOP ); - DALI_TEST_CHECK( LayoutEngine::VERTICAL_ALIGN_TOP == engine.GetVerticalAlignment() ); + DALI_TEST_CHECK( Layout::Engine::SINGLE_LINE_BOX == engine.GetLayout() ); + engine.SetLayout( Layout::Engine::MULTI_LINE_BOX ); + DALI_TEST_CHECK( Layout::Engine::MULTI_LINE_BOX == engine.GetLayout() ); tet_result(TET_PASS); END_TEST; @@ -621,9 +593,9 @@ int UtcDaliTextLayoutSetGetCursorWidth(void) ToolkitTestApplication application; tet_infoline(" "); - LayoutEngine engine; + Layout::Engine engine; - DALI_TEST_EQUALS( 1, engine.GetCursorWidth(), TEST_LOCATION ); + DALI_TEST_EQUALS( 0, engine.GetCursorWidth(), TEST_LOCATION ); engine.SetCursorWidth( 2 ); DALI_TEST_EQUALS( 2, engine.GetCursorWidth(), TEST_LOCATION ); @@ -651,7 +623,7 @@ int UtcDaliTextLayoutNoText(void) NULL, 0u, NULL, - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 0u, false, @@ -705,7 +677,7 @@ int UtcDaliTextLayoutSmallTextArea01(void) NULL, 0u, NULL, - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 11u, false, @@ -746,15 +718,16 @@ int UtcDaliTextLayoutSmallTextArea02(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(1.f, 1.f); - Size layoutSize(80.f, 20.f); - float positions[] = { 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f }; + Size layoutSize(78.f, 19.f); + float positions[] = { 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f }; struct LineRun line = { { 0u, 11u }, { 0u, 11u }, - 80.f, + 78.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -775,7 +748,7 @@ int UtcDaliTextLayoutSmallTextArea02(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 11u, false, @@ -829,23 +802,24 @@ int UtcDaliTextLayoutMultilineText01(void) fontDescriptionRuns.PushBack( fontDescriptionRun1 ); fontDescriptionRuns.PushBack( fontDescriptionRun2 ); Size textArea(100.f, 300.f); - Size layoutSize(95.f, 97.f); + Size layoutSize(91.f, 95.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, 42.f, -12.f, - 1.f, -12.f, 9.f, -9.f, 17.f, -9.f, 27.f, -9.f, 36.f, -9.f, 45.f, -11.f, 51.f, -0.f, - 1.f, -12.f, 11.f, -12.f, 15.f, -12.f, 26.f, -9.f, 35.f, -9.f, 41.f, -9.f, 50.f, -9.f, 59.f, -11.f, 65.f, -0.f, - 1.f, -12.f, 5.f, -12.f, 9.f, -9.f, 19.f, -9.f, 28.f, -9.f, 35.f, -0.f, 41.f, -9.f, 50.f, -12.f, 54.f, -0.f, 59.f, -11.f, 66.f, -9.f, 75.f, -9.f, 83.f, -11.f, 91.f, -2.f + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, 42.f, -12.f, + 0.f, -12.f, 8.f, -9.f, 16.f, -9.f, 26.f, -9.f, 35.f, -9.f, 44.f, -11.f, 50.f, -0.f, + 0.f, -12.f, 10.f, -12.f, 14.f, -12.f, 25.f, -9.f, 34.f, -9.f, 40.f, -9.f, 49.f, -9.f, 58.f, -11.f, 64.f, -0.f, + 0.f, -12.f, 4.f, -12.f, 8.f, -9.f, 18.f, -9.f, 27.f, -9.f, 34.f, -0.f, 40.f, -9.f, 49.f, -12.f, 53.f, -0.f, 58.f, -11.f, 65.f, -9.f, 74.f, -9.f, 82.f, -11.f, 90.f, -2.f }; struct LineRun line0 = { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -854,9 +828,10 @@ int UtcDaliTextLayoutMultilineText01(void) { { 12u, 6u }, { 12u, 6u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -866,11 +841,12 @@ int UtcDaliTextLayoutMultilineText01(void) { { 18u, 7u }, { 18u, 7u }, - 52.f, + 49.f, 15.f, -4.f, 5.f, 0.f, + 0.f, false, false }; @@ -878,11 +854,12 @@ int UtcDaliTextLayoutMultilineText01(void) { { 25u, 9u }, { 25u, 10u }, - 66.f, + 63.f, 15.f, -4.f, 5.f, 0.f, + 0.f, false, false }; @@ -890,11 +867,12 @@ int UtcDaliTextLayoutMultilineText01(void) { { 34u, 14u }, { 35u, 14u }, - 95.f, + 91.f, 15.f, -4.f, 0.f, 0.f, + 0.f, false, false }; @@ -918,7 +896,7 @@ int UtcDaliTextLayoutMultilineText01(void) positions, 5u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 48u, false, @@ -1023,24 +1001,25 @@ int UtcDaliTextLayoutMultilineText02(void) fontDescriptionRuns.PushBack( fontDescriptionRun4 ); fontDescriptionRuns.PushBack( fontDescriptionRun5 ); Size textArea(100.f, 300.f); - Size layoutSize(81.f, 120.f); + Size layoutSize(78.f, 114.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, }; struct LineRun line0 = { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -1049,11 +1028,12 @@ int UtcDaliTextLayoutMultilineText02(void) { { 12u, 10u }, { 12u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1061,9 +1041,10 @@ int UtcDaliTextLayoutMultilineText02(void) { { 22u, 6u }, { 22u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1073,11 +1054,12 @@ int UtcDaliTextLayoutMultilineText02(void) { { 28u, 10u }, { 28u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1085,10 +1067,11 @@ int UtcDaliTextLayoutMultilineText02(void) { { 38u, 12u }, { 38u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -1097,9 +1080,10 @@ int UtcDaliTextLayoutMultilineText02(void) { { 50u, 5u }, { 50u, 5u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1126,7 +1110,7 @@ int UtcDaliTextLayoutMultilineText02(void) positions, 6u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 55u, false, @@ -1167,20 +1151,21 @@ int UtcDaliTextLayoutMultilineText03(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(100.f, 300.f); - Size layoutSize(96.f, 60.f); + Size layoutSize(94.f, 57.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -9.f, 47.f, -9.f, 57.f, -9.f, 63.f, -13.f, 66.f, -13.f, 75.f, -13.f, 85.f, -9.f, - 1.f, -9.f, 13.f, -9.f, 23.f, -13.f, 32.f, -9.f, 40.f, -13.f, 44.f, -13.f, 47.f, -9.f, 56.f, -9.f, 67.f, -9.f, 77.f, -9.f, 83.f, -13.f, 86.f, -13.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -9.f, 46.f, -9.f, 56.f, -9.f, 62.f, -13.f, 65.f, -13.f, 74.f, -13.f, 83.f, -9.f, + 0.f, -9.f, 12.f, -9.f, 22.f, -13.f, 30.f, -9.f, 39.f, -13.f, 43.f, -13.f, 46.f, -9.f, 55.f, -9.f, 66.f, -9.f, 76.f, -9.f, 82.f, -13.f, 85.f, -13.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, }; struct LineRun line0 = { { 0u, 12u }, { 0u, 12u }, - 94.f, + 91.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1190,9 +1175,10 @@ int UtcDaliTextLayoutMultilineText03(void) { { 12u, 12u }, { 12u, 12u }, - 96.f, + 94.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1202,9 +1188,10 @@ int UtcDaliTextLayoutMultilineText03(void) { { 24u, 5u }, { 24u, 5u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1227,7 +1214,7 @@ int UtcDaliTextLayoutMultilineText03(void) positions, 3u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 29u, false, @@ -1268,18 +1255,18 @@ int UtcDaliTextLayoutMultilineText04(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(100.f, 300.f); - Size layoutSize(83.f, 40.f); + Size layoutSize(81.f, 38.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -3.f, 82.f, -12.f + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -2.f, 81.f, -12.f }; struct LineRun line0 = { { 0u, 13u }, { 0u, 13u }, - 83.f, + 81.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, false, @@ -1291,7 +1278,8 @@ int UtcDaliTextLayoutMultilineText04(void) { 13u, 0u }, 0.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1313,7 +1301,7 @@ int UtcDaliTextLayoutMultilineText04(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 13u, false, @@ -1381,21 +1369,22 @@ int UtcDaliTextLayoutMultilineText05(void) fontDescriptionRuns.PushBack( fontDescriptionRun2 ); fontDescriptionRuns.PushBack( fontDescriptionRun3 ); Size textArea(100.f, 300.f); - Size layoutSize(88.f, 53.f); + Size layoutSize(87.f, 51.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -14.f, 59.f, -9.f, 69.f, -9.f, 75.f, -13.f, 78.f, -13.f, 87.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -14.f, 59.f, -9.f, 69.f, -9.f, 75.f, -13.f, 78.f, -13.f, 87.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f }; struct LineRun line0 = { { 0u, 12u }, { 0u, 12u }, - 88.f, + 87.f, 25.f, - -8.f, + -7.f, 4.f, 0.f, + 0.f, false, false }; @@ -1403,9 +1392,10 @@ int UtcDaliTextLayoutMultilineText05(void) { { 12u, 5u }, { 12u, 5u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1427,7 +1417,7 @@ int UtcDaliTextLayoutMultilineText05(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 17u, false, @@ -1694,37 +1684,38 @@ int UtcDaliTextUpdateLayout01(void) fontDescriptionRuns.PushBack( fontDescriptionRun16 ); fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); - Size layoutSize(92.f, 380.f); + Size layoutSize(92.f, 361.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 68.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 67.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, 0.f, -9.f, 11.f, -9.f, 21.f, -9.f, 27.f, -13.f, 30.f, -13.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, 42.f, -12.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, 42.f, -12.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, }; struct LineRun line01 = { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -1733,11 +1724,12 @@ int UtcDaliTextUpdateLayout01(void) { { 12u, 10u }, { 12u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1745,9 +1737,10 @@ int UtcDaliTextUpdateLayout01(void) { { 22u, 6u }, { 22u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1759,21 +1752,23 @@ int UtcDaliTextUpdateLayout01(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, - false, + 0.f, + true, false }; struct LineRun line05 = { { 48u, 11u }, { 48u, 11u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1781,9 +1776,10 @@ int UtcDaliTextUpdateLayout01(void) { { 59u, 5u }, { 59u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1793,33 +1789,36 @@ int UtcDaliTextUpdateLayout01(void) { { 64u, 10u }, { 64u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, - false, + 0.f, + true, false }; struct LineRun line08 = { { 74u, 12u }, { 74u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, 0.f, - false, + 0.f, + true, false }; struct LineRun line09 = { { 86u, 6u }, { 86u, 6u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1829,11 +1828,12 @@ int UtcDaliTextUpdateLayout01(void) { { 92u, 12u }, { 92u, 12u }, - 78.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1843,9 +1843,10 @@ int UtcDaliTextUpdateLayout01(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1853,9 +1854,10 @@ int UtcDaliTextUpdateLayout01(void) { { 123u, 5u }, { 123u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1865,10 +1867,11 @@ int UtcDaliTextUpdateLayout01(void) { { 128u, 12u }, { 128u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -1877,11 +1880,12 @@ int UtcDaliTextUpdateLayout01(void) { { 140u, 10u }, { 140u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1889,9 +1893,10 @@ int UtcDaliTextUpdateLayout01(void) { { 150u, 6u }, { 150u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1901,23 +1906,25 @@ int UtcDaliTextUpdateLayout01(void) { { 156u, 10u }, { 156u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, - false, + 0.f, + true, false }; struct LineRun line17 = { { 166u, 12u }, { 166u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -1925,9 +1932,10 @@ int UtcDaliTextUpdateLayout01(void) { { 178u, 14u }, { 178u, 14u }, - 55.f, + 56.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1939,7 +1947,8 @@ int UtcDaliTextUpdateLayout01(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -1983,7 +1992,7 @@ int UtcDaliTextUpdateLayout01(void) positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 64u, false, @@ -2250,37 +2259,38 @@ int UtcDaliTextUpdateLayout02(void) fontDescriptionRuns.PushBack( fontDescriptionRun16 ); fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); - Size layoutSize(92.f, 380.f); + Size layoutSize(92.f, 361.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 68.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 67.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, 0.f, -9.f, 11.f, -9.f, 21.f, -9.f, 27.f, -13.f, 30.f, -13.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, 42.f, -12.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, 42.f, -12.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, }; struct LineRun line01 = { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -2289,11 +2299,12 @@ int UtcDaliTextUpdateLayout02(void) { { 12u, 10u }, { 12u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2301,9 +2312,10 @@ int UtcDaliTextUpdateLayout02(void) { { 22u, 6u }, { 22u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2315,21 +2327,23 @@ int UtcDaliTextUpdateLayout02(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, - false, + 0.f, + true, false }; struct LineRun line05 = { { 48u, 11u }, { 48u, 11u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2337,9 +2351,10 @@ int UtcDaliTextUpdateLayout02(void) { { 59u, 5u }, { 59u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2349,11 +2364,12 @@ int UtcDaliTextUpdateLayout02(void) { { 64u, 10u }, { 64u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2361,10 +2377,11 @@ int UtcDaliTextUpdateLayout02(void) { { 74u, 12u }, { 74u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 1.f, 0.f, false, false @@ -2373,9 +2390,10 @@ int UtcDaliTextUpdateLayout02(void) { { 86u, 6u }, { 86u, 6u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2385,11 +2403,12 @@ int UtcDaliTextUpdateLayout02(void) { { 92u, 12u }, { 92u, 12u }, - 78.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2399,9 +2418,10 @@ int UtcDaliTextUpdateLayout02(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2409,9 +2429,10 @@ int UtcDaliTextUpdateLayout02(void) { { 123u, 5u }, { 123u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2421,10 +2442,11 @@ int UtcDaliTextUpdateLayout02(void) { { 128u, 12u }, { 128u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -2433,11 +2455,12 @@ int UtcDaliTextUpdateLayout02(void) { { 140u, 10u }, { 140u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2445,9 +2468,10 @@ int UtcDaliTextUpdateLayout02(void) { { 150u, 6u }, { 150u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2457,11 +2481,12 @@ int UtcDaliTextUpdateLayout02(void) { { 156u, 10u }, { 156u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2469,11 +2494,12 @@ int UtcDaliTextUpdateLayout02(void) { { 166u, 12u }, { 166u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2481,9 +2507,10 @@ int UtcDaliTextUpdateLayout02(void) { { 178u, 14u }, { 178u, 14u }, - 55.f, + 56.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2495,7 +2522,8 @@ int UtcDaliTextUpdateLayout02(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2539,7 +2567,7 @@ int UtcDaliTextUpdateLayout02(void) positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 64u, 64u, false, @@ -2806,37 +2834,38 @@ int UtcDaliTextUpdateLayout03(void) fontDescriptionRuns.PushBack( fontDescriptionRun16 ); fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); - Size layoutSize(92.f, 380.f); + Size layoutSize(92.f, 361.f); float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 68.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -13.f, 67.f, -9.f, 76.f, -13.f, 80.f, -13.f, 83.f, -9.f, 92.f, -0.f, 0.f, -9.f, 11.f, -9.f, 21.f, -9.f, 27.f, -13.f, 30.f, -13.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, 42.f, -12.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -3.f, 33.f, -12.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, - 1.f, -13.f, 10.f, -9.f, 18.f, -13.f, 22.f, -13.f, 25.f, -9.f, 34.f, -0.f, 38.f, -9.f, 49.f, -9.f, 59.f, -9.f, 65.f, -13.f, 68.f, -13.f, 77.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -2.f, 42.f, -12.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -10.f, 55.f, -13.f, 62.f, -10.f, 67.f, -10.f, 75.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -2.f, 32.f, -12.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, + 0.f, -13.f, 8.f, -9.f, 17.f, -13.f, 21.f, -13.f, 24.f, -9.f, 33.f, -0.f, 37.f, -9.f, 48.f, -9.f, 58.f, -9.f, 64.f, -13.f, 67.f, -13.f, 76.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, }; struct LineRun line01 = { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -2845,11 +2874,12 @@ int UtcDaliTextUpdateLayout03(void) { { 12u, 10u }, { 12u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2857,9 +2887,10 @@ int UtcDaliTextUpdateLayout03(void) { { 22u, 6u }, { 22u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2871,9 +2902,10 @@ int UtcDaliTextUpdateLayout03(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2881,11 +2913,12 @@ int UtcDaliTextUpdateLayout03(void) { { 48u, 11u }, { 48u, 11u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2893,9 +2926,10 @@ int UtcDaliTextUpdateLayout03(void) { { 59u, 5u }, { 59u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2905,11 +2939,12 @@ int UtcDaliTextUpdateLayout03(void) { { 64u, 10u }, { 64u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2917,10 +2952,11 @@ int UtcDaliTextUpdateLayout03(void) { { 74u, 12u }, { 74u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 1.f, 0.f, false, false @@ -2929,9 +2965,10 @@ int UtcDaliTextUpdateLayout03(void) { { 86u, 6u }, { 86u, 6u }, - 43.f, + 42.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2941,11 +2978,12 @@ int UtcDaliTextUpdateLayout03(void) { { 92u, 12u }, { 92u, 12u }, - 78.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2955,9 +2993,10 @@ int UtcDaliTextUpdateLayout03(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -2965,9 +3004,10 @@ int UtcDaliTextUpdateLayout03(void) { { 123u, 5u }, { 123u, 5u }, - 31.f, + 29.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -2977,10 +3017,11 @@ int UtcDaliTextUpdateLayout03(void) { { 128u, 12u }, { 128u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -2989,11 +3030,12 @@ int UtcDaliTextUpdateLayout03(void) { { 140u, 10u }, { 140u, 10u }, - 76.f, + 75.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -3001,9 +3043,10 @@ int UtcDaliTextUpdateLayout03(void) { { 150u, 6u }, { 150u, 6u }, - 34.f, + 32.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3013,11 +3056,12 @@ int UtcDaliTextUpdateLayout03(void) { { 156u, 10u }, { 156u, 10u }, - 67.f, + 65.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -3025,11 +3069,12 @@ int UtcDaliTextUpdateLayout03(void) { { 166u, 12u }, { 166u, 12u }, - 79.f, + 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, false }; @@ -3037,9 +3082,10 @@ int UtcDaliTextUpdateLayout03(void) { { 178u, 14u }, { 178u, 14u }, - 55.f, + 56.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3051,7 +3097,8 @@ int UtcDaliTextUpdateLayout03(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3095,7 +3142,7 @@ int UtcDaliTextUpdateLayout03(void) positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 128u, 64u, false, @@ -3138,11 +3185,12 @@ int UtcDaliTextLayoutEllipsis01(void) struct LineRun line01 = { - { 0u, 13u }, - { 0u, 13u }, - 93.f, + { 0u, 14u }, + { 0u, 14u }, + 99.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3153,11 +3201,11 @@ int UtcDaliTextLayoutEllipsis01(void) float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, 83.f, -13.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, 82.f, -13.f, }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 100.f, 19.f ); LayoutTextData data = { @@ -3171,7 +3219,7 @@ int UtcDaliTextLayoutEllipsis01(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 51u, true, @@ -3216,10 +3264,11 @@ int UtcDaliTextLayoutEllipsis02(void) { { 0u, 12u }, { 0u, 12u }, - 81.f, + 78.f, 15.f, - -5.f, - 3.f, + -4.f, + 4.f, + 0.f, 0.f, false, false @@ -3230,7 +3279,8 @@ int UtcDaliTextLayoutEllipsis02(void) { 12u, 12u }, 93.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3242,12 +3292,12 @@ int UtcDaliTextLayoutEllipsis02(void) float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, 79.f, -0.f, - 0.f, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -13.f, 53.f, -9.f, 61.f, -13.f, 65.f, -13.f, 68.f, -9.f, 77.f, -0.f, 81.f, -9.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, 78.f, -0.f, + 0.f, -13.f, 9.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -0.f, 44.f, -13.f, 52.f, -9.f, 61.f, -13.f, 65.f, -13.f, 68.f, -9.f, 77.f, -0.f, 81.f, -9.f, }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 40.f ); + Size layoutSize( 100.f, 38.f ); LayoutTextData data = { @@ -3261,7 +3311,7 @@ int UtcDaliTextLayoutEllipsis02(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 51u, true, @@ -3370,11 +3420,12 @@ int UtcDaliTextLayoutEllipsis03(void) struct LineRun line01 = { - { 0u, 16u }, - { 0u, 16u }, - 95.f, + { 0u, 17u }, + { 0u, 17u }, + 99.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, @@ -3385,11 +3436,11 @@ int UtcDaliTextLayoutEllipsis03(void) float positions[] = { - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 100.f, 19.f ); LayoutTextData data = { @@ -3403,7 +3454,7 @@ int UtcDaliTextLayoutEllipsis03(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 72u, true, @@ -3514,11 +3565,12 @@ int UtcDaliTextLayoutEllipsis04(void) { { 0u, 16u }, { 0u, 16u }, - 96.f, + 94.f, 15.f, - -5.f, + -4.f, 3.f, 0.f, + 0.f, false, false }; @@ -3528,9 +3580,10 @@ int UtcDaliTextLayoutEllipsis04(void) { 16u, 18u }, 97.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, + 0.f, false, true }; @@ -3540,12 +3593,12 @@ int UtcDaliTextLayoutEllipsis04(void) float positions[] = { - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, - 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 10.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, 32.f, -10.f, 43.f, -13.f, 50.f, -10.f, 55.f, -10.f, 63.f, -0.f, 68.f, -10.f, 76.f, -10.f, 81.f, -13.f, 89.f, -10.f, 97.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, + 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 9.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, 32.f, -10.f, 43.f, -13.f, 50.f, -10.f, 55.f, -10.f, 63.f, -0.f, 68.f, -10.f, 76.f, -10.f, 81.f, -13.f, 89.f, -10.f, 97.f, -0.f, }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 40.f ); + Size layoutSize( 100.f, 38.f ); LayoutTextData data = { @@ -3559,7 +3612,7 @@ int UtcDaliTextLayoutEllipsis04(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 72u, true, @@ -3602,24 +3655,25 @@ int UtcDaliTextLayoutEllipsis05(void) { { 0u, 11u }, { 0u, 11u }, - 80.f, + 78.f, 15.f, - -5.f, + -4.f, + 0.f, 0.f, 0.f, false, - true + false }; Vector lines; lines.PushBack( line01 ); float positions[] = { - 1.f, -12.f + 0.f, -12.f }; Size textArea( 100.f, 19.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 78.f, 19.f ); LayoutTextData data = { @@ -3633,7 +3687,7 @@ int UtcDaliTextLayoutEllipsis05(void) positions, 1u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 11u, true, @@ -3676,7 +3730,7 @@ int UtcDaliTextReorderLayout01(void) float positions[] = { - 1.f, -12.f, 12.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -9.f, 51.f, -9.f, 61.f, -9.f, 67.f, -13.f, 70.f, -13.f, + 0.f, -12.f, 10.f, -9.f, 19.f, -13.f, 23.f, -13.f, 26.f, -9.f, 35.f, -0.f, 39.f, -9.f, 50.f, -9.f, 60.f, -9.f, 66.f, -13.f, 69.f, -13.f, }; Size textArea( 100.f, 300.f ); @@ -3796,12 +3850,12 @@ int UtcDaliTextReorderLayout02(void) float positions[] = { - 87.f, -10.f, 79.f, -13.f, 74.f, -10.f, 66.f, -10.f, 61.f, -0.f, 53.f, -10.f, 48.f, -10.f, 41.f, -13.f, 32.f, -10.f, 27.f, -0.f, 20.f, -8.f, 15.f, -6.f, 8.f, -7.f, 5.f, -7.f, 4.f, -11.f, 0.f, -0.f, - 23.f, -7.f, 22.f, -11.f, 17.f, -11.f, 12.f, -8.f, 10.f, -11.f, 5.f, -11.f, 0.f, -8.f, 0.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, - 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 10.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 30.f, -2.f, + 87.f, -10.f, 79.f, -13.f, 74.f, -10.f, 66.f, -10.f, 61.f, -0.f, 53.f, -10.f, 48.f, -10.f, 41.f, -13.f, 32.f, -10.f, 27.f, -0.f, 20.f, -8.f, 15.f, -6.f, 8.f, -8.f, 5.f, -7.f, 4.f, -11.f, 0.f, -0.f, + 23.f, -7.f, 22.f, -11.f, 17.f, -11.f, 11.f, -8.f, 10.f, -11.f, 5.f, -11.f, 0.f, -8.f, 0.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, + 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 9.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 30.f, -2.f, }; Size textArea( 100.f, 300.f ); @@ -3923,12 +3977,12 @@ int UtcDaliTextReorderLayout03(void) float positions[] = { - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, - 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 10.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, - 86.f, -8.f, 81.f, -6.f, 74.f, -7.f, 71.f, -7.f, 70.f, -11.f, 66.f, -0.f, 62.f, -7.f, 61.f, -11.f, 56.f, -11.f, 51.f, -8.f, 49.f, -11.f, 44.f, -11.f, 39.f, -8.f, 36.f, -0.f, 26.f, -10.f, 18.f, -13.f, 13.f, -10.f, 5.f, -10.f, 0.f, -0.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, + 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 9.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, + 86.f, -8.f, 81.f, -6.f, 74.f, -8.f, 71.f, -7.f, 70.f, -11.f, 66.f, -0.f, 62.f, -7.f, 61.f, -11.f, 56.f, -11.f, 50.f, -8.f, 49.f, -11.f, 44.f, -11.f, 39.f, -8.f, 36.f, -0.f, 26.f, -10.f, 18.f, -13.f, 13.f, -10.f, 5.f, -10.f, 0.f, -0.f, 22.f, -10.f, 17.f, -10.f, 10.f, -13.f, 1.f, -10.f, 0.f, -0.f, - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, - 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 10.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 30.f, -2.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, + 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 9.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 30.f, -2.f, }; Size textArea( 100.f, 300.f ); @@ -4050,12 +4104,12 @@ int UtcDaliTextReorderLayout04(void) float positions[] = { - 1.f, -10.f, 12.f, -13.f, 19.f, -10.f, 24.f, -10.f, 32.f, -0.f, 37.f, -10.f, 45.f, -10.f, 50.f, -13.f, 58.f, -10.f, 66.f, -0.f, 69.f, -8.f, 76.f, -6.f, 81.f, -7.f, 87.f, -7.f, 92.f, -11.f, 94.f, -0.f, - 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 10.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, - 0.f, -8.f, 7.f, -6.f, 12.f, -7.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 37.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, - 1.f, -10.f, 9.f, -10.f, 14.f, -13.f, 22.f, -10.f, 30.f, -0.f, - 87.f, -10.f, 79.f, -13.f, 74.f, -10.f, 66.f, -10.f, 61.f, -0.f, 53.f, -10.f, 48.f, -10.f, 41.f, -13.f, 32.f, -10.f, 27.f, -0.f, 20.f, -8.f, 15.f, -6.f, 8.f, -7.f, 5.f, -7.f, 4.f, -11.f, 0.f, -0.f, - 28.f, -7.f, 27.f, -11.f, 22.f, -11.f, 17.f, -8.f, 15.f, -11.f, 10.f, -11.f, 5.f, -8.f, 2.f, -2.f, + 0.f, -10.f, 11.f, -13.f, 18.f, -10.f, 23.f, -10.f, 31.f, -0.f, 36.f, -10.f, 44.f, -10.f, 49.f, -13.f, 57.f, -10.f, 65.f, -0.f, 68.f, -8.f, 75.f, -6.f, 80.f, -8.f, 86.f, -7.f, 91.f, -11.f, 93.f, -0.f, + 0.f, -7.f, 5.f, -11.f, 6.f, -11.f, 9.f, -8.f, 17.f, -11.f, 18.f, -11.f, 22.f, -8.f, 28.f, -0.f, + 0.f, -8.f, 7.f, -6.f, 12.f, -8.f, 18.f, -7.f, 23.f, -11.f, 25.f, -0.f, 27.f, -7.f, 32.f, -11.f, 33.f, -11.f, 36.f, -8.f, 44.f, -11.f, 45.f, -11.f, 49.f, -8.f, 55.f, -0.f, 59.f, -10.f, 70.f, -13.f, 77.f, -10.f, 82.f, -10.f, 90.f, -0.f, + 0.f, -10.f, 8.f, -10.f, 13.f, -13.f, 21.f, -10.f, 29.f, -0.f, + 87.f, -10.f, 79.f, -13.f, 74.f, -10.f, 66.f, -10.f, 61.f, -0.f, 53.f, -10.f, 48.f, -10.f, 41.f, -13.f, 32.f, -10.f, 27.f, -0.f, 20.f, -8.f, 15.f, -6.f, 8.f, -8.f, 5.f, -7.f, 4.f, -11.f, 0.f, -0.f, + 26.f, -7.f, 25.f, -11.f, 20.f, -11.f, 14.f, -8.f, 13.f, -11.f, 8.f, -11.f, 3.f, -8.f, 0.f, -2.f, }; Size textArea( 100.f, 300.f ); @@ -4186,12 +4240,14 @@ int UtcDaliTextAlign01(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::BEGIN, + Text::VerticalAlignment::TOP, 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4295,7 +4351,7 @@ int UtcDaliTextAlign02(void) fontDescriptionRuns.PushBack( fontDescriptionRun05 ); fontDescriptionRuns.PushBack( fontDescriptionRun06 ); - float positions[] = { 0.f, 0.f, 2.f, 60.f, 0.f, 0.f }; + float positions[] = { 0.f, 0.f, 2.f, 61.f, 0.f, 0.f }; Size textArea( 100.f, 300.f ); AlignData data = @@ -4305,12 +4361,14 @@ int UtcDaliTextAlign02(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::BEGIN, + Text::VerticalAlignment::TOP, 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4424,12 +4482,14 @@ int UtcDaliTextAlign03(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::BEGIN, + Text::VerticalAlignment::TOP, 48u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4533,7 +4593,7 @@ int UtcDaliTextAlign04(void) fontDescriptionRuns.PushBack( fontDescriptionRun05 ); fontDescriptionRuns.PushBack( fontDescriptionRun06 ); - float positions[] = { 10.f, 16.f, 0.f, 0.f, 0.f, 0.f }; + float positions[] = { 11.f, 17.f, 0.f, 0.f, 0.f, 0.f }; Size textArea( 100.f, 300.f ); AlignData data = @@ -4543,12 +4603,14 @@ int UtcDaliTextAlign04(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::CENTER, + Text::VerticalAlignment::TOP, 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4662,12 +4724,14 @@ int UtcDaliTextAlign05(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::CENTER, + Text::VerticalAlignment::TOP, 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4771,7 +4835,7 @@ int UtcDaliTextAlign06(void) fontDescriptionRuns.PushBack( fontDescriptionRun05 ); fontDescriptionRuns.PushBack( fontDescriptionRun06 ); - float positions[] = { 0.f, 0.f, 0.f, 0.f, 10.f, 20.f }; + float positions[] = { 0.f, 0.f, 0.f, 0.f, 11.f, 21.f }; Size textArea( 100.f, 300.f ); AlignData data = @@ -4781,12 +4845,14 @@ int UtcDaliTextAlign06(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::CENTER, + Text::VerticalAlignment::TOP, 48u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4890,7 +4956,7 @@ int UtcDaliTextAlign07(void) fontDescriptionRuns.PushBack( fontDescriptionRun05 ); fontDescriptionRuns.PushBack( fontDescriptionRun06 ); - float positions[] = { 20.f, 33.f, 0.f, 0.f, 0.f, 0.f }; + float positions[] = { 22.f, 35.f, 0.f, 0.f, 0.f, 0.f }; Size textArea( 100.f, 300.f ); AlignData data = @@ -4900,12 +4966,14 @@ int UtcDaliTextAlign07(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::END, + Text::VerticalAlignment::TOP, 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -5019,12 +5087,14 @@ int UtcDaliTextAlign08(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::END, + Text::VerticalAlignment::TOP, 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -5128,7 +5198,249 @@ int UtcDaliTextAlign09(void) fontDescriptionRuns.PushBack( fontDescriptionRun05 ); fontDescriptionRuns.PushBack( fontDescriptionRun06 ); - float positions[] = { 0.f, 0.f, 0.f, 0.f, 20.f, 40.f }; + float positions[] = { 0.f, 0.f, 0.f, 0.f, 22.f, 42.f }; + + Size textArea( 100.f, 300.f ); + AlignData data = + { + "End alignment for the last paragraph.", + "Hello world שלום עולם\nمرحبا بالعالم Hello world\nHello world مرحبا بالعالم.", + textArea, + 6u, + fontDescriptionRuns.Begin(), + Text::HorizontalAlignment::END, + Text::VerticalAlignment::TOP, + 48u, + 26u, + 6u, + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false + }; + + if( !AlignTest( data ) ) + { + tet_result(TET_FAIL); + } + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextAlign10(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliTextAlign10"); + + // Calculate text alignment. + + const std::string fontLatin( "TizenSans" ); + const std::string fontHebrew( "TizenSansHebrew" ); + const std::string fontArabic( "TizenSansArabic" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun01; + fontDescriptionRun01.characterRun.characterIndex = 0u; + fontDescriptionRun01.characterRun.numberOfCharacters = 12u; + fontDescriptionRun01.familyLength = fontLatin.size(); + fontDescriptionRun01.familyName = new char[fontDescriptionRun01.familyLength]; + memcpy( fontDescriptionRun01.familyName, fontLatin.c_str(), fontDescriptionRun01.familyLength ); + fontDescriptionRun01.familyDefined = true; + fontDescriptionRun01.weightDefined = false; + fontDescriptionRun01.widthDefined = false; + fontDescriptionRun01.slantDefined = false; + fontDescriptionRun01.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun02; + fontDescriptionRun02.characterRun.characterIndex = 12u; + fontDescriptionRun02.characterRun.numberOfCharacters = 10u; + fontDescriptionRun02.familyLength = fontHebrew.size(); + fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; + memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); + fontDescriptionRun02.familyDefined = true; + fontDescriptionRun02.weightDefined = false; + fontDescriptionRun02.widthDefined = false; + fontDescriptionRun02.slantDefined = false; + fontDescriptionRun02.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun03; + fontDescriptionRun03.characterRun.characterIndex = 22u; + fontDescriptionRun03.characterRun.numberOfCharacters = 14u; + fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; + memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + fontDescriptionRun03.familyDefined = true; + fontDescriptionRun03.weightDefined = false; + fontDescriptionRun03.widthDefined = false; + fontDescriptionRun03.slantDefined = false; + fontDescriptionRun03.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun04; + fontDescriptionRun04.characterRun.characterIndex = 36u; + fontDescriptionRun04.characterRun.numberOfCharacters = 12u; + fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; + memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + fontDescriptionRun04.familyDefined = true; + fontDescriptionRun04.weightDefined = false; + fontDescriptionRun04.widthDefined = false; + fontDescriptionRun04.slantDefined = false; + fontDescriptionRun04.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun05; + fontDescriptionRun05.characterRun.characterIndex = 48u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); + fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); + fontDescriptionRun05.familyDefined = true; + fontDescriptionRun05.weightDefined = false; + fontDescriptionRun05.widthDefined = false; + fontDescriptionRun05.slantDefined = false; + fontDescriptionRun05.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun06; + fontDescriptionRun06.characterRun.characterIndex = 60u; + fontDescriptionRun06.characterRun.numberOfCharacters = 14u; + fontDescriptionRun06.familyLength = fontArabic.size(); + fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; + memcpy( fontDescriptionRun06.familyName, fontArabic.c_str(), fontDescriptionRun06.familyLength ); + fontDescriptionRun06.familyDefined = true; + fontDescriptionRun06.weightDefined = false; + fontDescriptionRun06.widthDefined = false; + fontDescriptionRun06.slantDefined = false; + fontDescriptionRun06.sizeDefined = false; + + Vector fontDescriptionRuns; + fontDescriptionRuns.PushBack( fontDescriptionRun01 ); + fontDescriptionRuns.PushBack( fontDescriptionRun02 ); + fontDescriptionRuns.PushBack( fontDescriptionRun03 ); + fontDescriptionRuns.PushBack( fontDescriptionRun04 ); + fontDescriptionRuns.PushBack( fontDescriptionRun05 ); + fontDescriptionRuns.PushBack( fontDescriptionRun06 ); + + float positions[] = { 0.f, 0.f, 0.f, 0.f, 0.f, 0.f }; + + Size textArea( 100.f, 300.f ); + AlignData data = + { + "Begin alignment for the first paragraph.", + "Hello world שלום עולם\nمرحبا بالعالم Hello world\nHello world مرحبا بالعالم.", + textArea, + 6u, + fontDescriptionRuns.Begin(), + Text::HorizontalAlignment::END, + Text::VerticalAlignment::TOP, + 0u, + 22u, + 6u, + positions, + Dali::LayoutDirection::RIGHT_TO_LEFT, + true + }; + + if( !AlignTest( data ) ) + { + tet_result(TET_FAIL); + } + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextAlign11(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliTextAlign11"); + + // Calculate text alignment. + + const std::string fontLatin( "TizenSans" ); + const std::string fontHebrew( "TizenSansHebrew" ); + const std::string fontArabic( "TizenSansArabic" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun01; + fontDescriptionRun01.characterRun.characterIndex = 0u; + fontDescriptionRun01.characterRun.numberOfCharacters = 12u; + fontDescriptionRun01.familyLength = fontLatin.size(); + fontDescriptionRun01.familyName = new char[fontDescriptionRun01.familyLength]; + memcpy( fontDescriptionRun01.familyName, fontLatin.c_str(), fontDescriptionRun01.familyLength ); + fontDescriptionRun01.familyDefined = true; + fontDescriptionRun01.weightDefined = false; + fontDescriptionRun01.widthDefined = false; + fontDescriptionRun01.slantDefined = false; + fontDescriptionRun01.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun02; + fontDescriptionRun02.characterRun.characterIndex = 12u; + fontDescriptionRun02.characterRun.numberOfCharacters = 10u; + fontDescriptionRun02.familyLength = fontHebrew.size(); + fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; + memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); + fontDescriptionRun02.familyDefined = true; + fontDescriptionRun02.weightDefined = false; + fontDescriptionRun02.widthDefined = false; + fontDescriptionRun02.slantDefined = false; + fontDescriptionRun02.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun03; + fontDescriptionRun03.characterRun.characterIndex = 22u; + fontDescriptionRun03.characterRun.numberOfCharacters = 14u; + fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; + memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + fontDescriptionRun03.familyDefined = true; + fontDescriptionRun03.weightDefined = false; + fontDescriptionRun03.widthDefined = false; + fontDescriptionRun03.slantDefined = false; + fontDescriptionRun03.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun04; + fontDescriptionRun04.characterRun.characterIndex = 36u; + fontDescriptionRun04.characterRun.numberOfCharacters = 12u; + fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; + memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + fontDescriptionRun04.familyDefined = true; + fontDescriptionRun04.weightDefined = false; + fontDescriptionRun04.widthDefined = false; + fontDescriptionRun04.slantDefined = false; + fontDescriptionRun04.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun05; + fontDescriptionRun05.characterRun.characterIndex = 48u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); + fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); + fontDescriptionRun05.familyDefined = true; + fontDescriptionRun05.weightDefined = false; + fontDescriptionRun05.widthDefined = false; + fontDescriptionRun05.slantDefined = false; + fontDescriptionRun05.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun06; + fontDescriptionRun06.characterRun.characterIndex = 60u; + fontDescriptionRun06.characterRun.numberOfCharacters = 14u; + fontDescriptionRun06.familyLength = fontArabic.size(); + fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; + memcpy( fontDescriptionRun06.familyName, fontArabic.c_str(), fontDescriptionRun06.familyLength ); + fontDescriptionRun06.familyDefined = true; + fontDescriptionRun06.weightDefined = false; + fontDescriptionRun06.widthDefined = false; + fontDescriptionRun06.slantDefined = false; + fontDescriptionRun06.sizeDefined = false; + + Vector fontDescriptionRuns; + fontDescriptionRuns.PushBack( fontDescriptionRun01 ); + fontDescriptionRuns.PushBack( fontDescriptionRun02 ); + fontDescriptionRuns.PushBack( fontDescriptionRun03 ); + fontDescriptionRuns.PushBack( fontDescriptionRun04 ); + fontDescriptionRuns.PushBack( fontDescriptionRun05 ); + fontDescriptionRuns.PushBack( fontDescriptionRun06 ); + + float positions[] = { 22.f, 35.f, 2.f, 0.f, 0.f, 0.f }; Size textArea( 100.f, 300.f ); AlignData data = @@ -5138,12 +5450,135 @@ int UtcDaliTextAlign09(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Text::HorizontalAlignment::END, + Text::VerticalAlignment::TOP, + 0u, + 26u, + 6u, + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + true + }; + + if( !AlignTest( data ) ) + { + tet_result(TET_FAIL); + } + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextAlign12(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliTextAlign12"); + + // Calculate text alignment. + + const std::string fontLatin( "TizenSans" ); + const std::string fontHebrew( "TizenSansHebrew" ); + const std::string fontArabic( "TizenSansArabic" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun01; + fontDescriptionRun01.characterRun.characterIndex = 0u; + fontDescriptionRun01.characterRun.numberOfCharacters = 12u; + fontDescriptionRun01.familyLength = fontLatin.size(); + fontDescriptionRun01.familyName = new char[fontDescriptionRun01.familyLength]; + memcpy( fontDescriptionRun01.familyName, fontLatin.c_str(), fontDescriptionRun01.familyLength ); + fontDescriptionRun01.familyDefined = true; + fontDescriptionRun01.weightDefined = false; + fontDescriptionRun01.widthDefined = false; + fontDescriptionRun01.slantDefined = false; + fontDescriptionRun01.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun02; + fontDescriptionRun02.characterRun.characterIndex = 12u; + fontDescriptionRun02.characterRun.numberOfCharacters = 10u; + fontDescriptionRun02.familyLength = fontHebrew.size(); + fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; + memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); + fontDescriptionRun02.familyDefined = true; + fontDescriptionRun02.weightDefined = false; + fontDescriptionRun02.widthDefined = false; + fontDescriptionRun02.slantDefined = false; + fontDescriptionRun02.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun03; + fontDescriptionRun03.characterRun.characterIndex = 22u; + fontDescriptionRun03.characterRun.numberOfCharacters = 14u; + fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; + memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + fontDescriptionRun03.familyDefined = true; + fontDescriptionRun03.weightDefined = false; + fontDescriptionRun03.widthDefined = false; + fontDescriptionRun03.slantDefined = false; + fontDescriptionRun03.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun04; + fontDescriptionRun04.characterRun.characterIndex = 36u; + fontDescriptionRun04.characterRun.numberOfCharacters = 12u; + fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; + memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + fontDescriptionRun04.familyDefined = true; + fontDescriptionRun04.weightDefined = false; + fontDescriptionRun04.widthDefined = false; + fontDescriptionRun04.slantDefined = false; + fontDescriptionRun04.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun05; + fontDescriptionRun05.characterRun.characterIndex = 48u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); + fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); + fontDescriptionRun05.familyDefined = true; + fontDescriptionRun05.weightDefined = false; + fontDescriptionRun05.widthDefined = false; + fontDescriptionRun05.slantDefined = false; + fontDescriptionRun05.sizeDefined = false; + + FontDescriptionRun fontDescriptionRun06; + fontDescriptionRun06.characterRun.characterIndex = 60u; + fontDescriptionRun06.characterRun.numberOfCharacters = 14u; + fontDescriptionRun06.familyLength = fontArabic.size(); + fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; + memcpy( fontDescriptionRun06.familyName, fontArabic.c_str(), fontDescriptionRun06.familyLength ); + fontDescriptionRun06.familyDefined = true; + fontDescriptionRun06.weightDefined = false; + fontDescriptionRun06.widthDefined = false; + fontDescriptionRun06.slantDefined = false; + fontDescriptionRun06.sizeDefined = false; + + Vector fontDescriptionRuns; + fontDescriptionRuns.PushBack( fontDescriptionRun01 ); + fontDescriptionRuns.PushBack( fontDescriptionRun02 ); + fontDescriptionRuns.PushBack( fontDescriptionRun03 ); + fontDescriptionRuns.PushBack( fontDescriptionRun04 ); + fontDescriptionRuns.PushBack( fontDescriptionRun05 ); + fontDescriptionRuns.PushBack( fontDescriptionRun06 ); + + float positions[] = { 0.f, 0.f, 0.f, 0.f, 0.f, 0.f }; + + Size textArea( 100.f, 300.f ); + AlignData data = + { + "Begin alignment for the first paragraph.", + "Hello world שלום עולם\nمرحبا بالعالم Hello world\nHello world مرحبا بالعالم.", + textArea, + 6u, + fontDescriptionRuns.Begin(), + Text::HorizontalAlignment::BEGIN, + Text::VerticalAlignment::TOP, 48u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + true }; if( !AlignTest( data ) ) @@ -5154,3 +5589,212 @@ int UtcDaliTextAlign09(void) tet_result(TET_PASS); END_TEST; } + +int UtcDaliTextLayoutSetGetDefaultLineSpacing(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliTextLayoutSetGetDefaultLineSpacing"); + + Layout::Engine engine; + DALI_TEST_EQUALS( 0.f, engine.GetDefaultLineSpacing(), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + engine.SetDefaultLineSpacing( 10.f ); + DALI_TEST_EQUALS( 10.f, engine.GetDefaultLineSpacing(), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextLayoutGetGlyphMetrics(void) +{ + tet_infoline(" UtcDaliTextLayoutGetGlyphMetrics"); + + // Test retrieving metrics from group of characters + + const std::string fontFamily( "TizenSansHindi" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun01; + fontDescriptionRun01.characterRun.characterIndex = 0u; + fontDescriptionRun01.characterRun.numberOfCharacters = 2u; + fontDescriptionRun01.familyLength = fontFamily.size(); + fontDescriptionRun01.familyName = new char[fontDescriptionRun01.familyLength]; + memcpy( fontDescriptionRun01.familyName, fontFamily.c_str(), fontDescriptionRun01.familyLength ); + fontDescriptionRun01.familyDefined = true; + fontDescriptionRun01.weightDefined = false; + fontDescriptionRun01.widthDefined = false; + fontDescriptionRun01.slantDefined = false; + fontDescriptionRun01.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun02; + fontDescriptionRun02.characterRun.characterIndex = 0u; + fontDescriptionRun02.characterRun.numberOfCharacters = 2u; + fontDescriptionRun02.familyLength = fontFamily.size(); + fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; + memcpy( fontDescriptionRun02.familyName, fontFamily.c_str(), fontDescriptionRun02.familyLength ); + fontDescriptionRun02.familyDefined = true; + fontDescriptionRun02.weightDefined = false; + fontDescriptionRun02.widthDefined = false; + fontDescriptionRun02.slantDefined = false; + fontDescriptionRun02.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun03; + fontDescriptionRun03.characterRun.characterIndex = 0u; + fontDescriptionRun03.characterRun.numberOfCharacters = 2u; + fontDescriptionRun03.familyLength = fontFamily.size(); + fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; + memcpy( fontDescriptionRun03.familyName, fontFamily.c_str(), fontDescriptionRun03.familyLength ); + fontDescriptionRun03.familyDefined = true; + fontDescriptionRun03.weightDefined = false; + fontDescriptionRun03.widthDefined = false; + fontDescriptionRun03.slantDefined = false; + fontDescriptionRun03.sizeDefined = false; + + Vector fontDescriptionRuns01; + fontDescriptionRuns01.PushBack( fontDescriptionRun01 ); + + Vector fontDescriptionRuns02; + fontDescriptionRuns02.PushBack( fontDescriptionRun02 ); + + Vector fontDescriptionRuns03; + fontDescriptionRuns03.PushBack( fontDescriptionRun03 ); + + // Set a text area. + Size textArea(100.f, 100.f); + + + // Group: second glyph doesn't exceed the width of the first glyph + float positions01[] = { 0.f, -11.f }; + + struct LineRun line01 = + { + { 0u, 1u }, + { 0u, 1u }, + 11.f, + 15.f, + -4.f, + 0.f, + 0.f, + 0.f, + false, + false + }; + Vector lines01; + lines01.PushBack( line01 ); + + Size layoutSize01 = Vector2(11.f, 19.f); + + // Group: second glyph doesn't exceed the width of the first glyph + float positions02[] = { 0.f, -11.f , 7.f, -15.f }; + + struct LineRun line02 = + { + { 0u, 2u }, + { 0u, 2u }, + 15.f, + 15.f, + -4.f, + 0.f, + 0.f, + 0.f, + false, + false + }; + Vector lines02; + lines02.PushBack( line02 ); + + Size layoutSize02 = Vector2(15.f, 19.f); + + // Group: second glyph doesn't exceed the width of the first glyph + float positions03[] = { 0.f, -11.f , 2.f, -15.f }; + + struct LineRun line03 = + { + { 0u, 2u }, + { 0u, 2u }, + 11.f, + 15.f, + -4.f, + 0.f, + 0.f, + 0.f, + false, + false + }; + Vector lines03; + lines03.PushBack( line03 ); + + Size layoutSize03 = Vector2(11.f, 19.f); + + ///////////////////////////// + + struct LayoutTextData data[] = + { + { + "Single glyph", + "प", + textArea, + 1u, + fontDescriptionRuns01.Begin(), + layoutSize01, + 1u, + positions01, + 1u, + lines01.Begin(), + Layout::Engine::SINGLE_LINE_BOX, + 0u, + 1u, + false, + true + }, + { + "Group: second glyph exceeds the width of the first glyph", + "पो", + textArea, + 1u, + fontDescriptionRuns02.Begin(), + layoutSize02, + 2u, + positions02, + 1u, + lines02.Begin(), + Layout::Engine::SINGLE_LINE_BOX, + 0u, + 2u, + false, + true + }, + { + "Group: second glyph doesn't exceed the width of the first glyph", + "पे", + textArea, + 1u, + fontDescriptionRuns03.Begin(), + layoutSize03, + 2u, + positions03, + 1u, + lines03.Begin(), + Layout::Engine::SINGLE_LINE_BOX, + 0u, + 2u, + false, + true + } + }; + const unsigned int numberOfTests = sizeof(data)/sizeof(LayoutTextData); + + for( unsigned int index = 0u; index < numberOfTests; ++index ) + { + ToolkitTestApplication application; + if( !LayoutTextTest( data[index] ) ) + { + tet_result(TET_FAIL); + } + } + + tet_result(TET_PASS); + END_TEST; +}