X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-Layout.cpp;h=5f0885357e1ebe4f542394a8014cd99b4af5736a;hp=d84943066b2821415e4543a1705b8093b4baf8af;hb=bf830dcf9aa1a53392edb19948d1b4d1dc410a63;hpb=e5a56dace042712c1d89015bcb43942dfb237af8 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 index d849430..5f08853 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Layout.cpp @@ -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; @@ -86,8 +86,9 @@ bool LayoutTextTest( const LayoutTextData& data ) fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); // 1) Create the model. - LogicalModelPtr logicalModel = LogicalModel::New(); - VisualModelPtr visualModel = VisualModel::New(); + LogicalModelPtr logicalModel; + VisualModelPtr visualModel; + MetricsPtr metrics; Size layoutSize; Vector fontDescriptionRuns; @@ -107,7 +108,8 @@ bool LayoutTextTest( const LayoutTextData& data ) options, layoutSize, logicalModel, - visualModel ); + visualModel, + metrics ); // 2) Clear the layout. Vector& lines = visualModel->mLines; @@ -150,26 +152,24 @@ bool LayoutTextTest( const LayoutTextData& data ) glyphPositions.Begin() + data.startIndex + data.numberOfGlyphs ); // 3) Layout - MetricsPtr metrics = Metrics::New( fontClient ); - - 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 ); + 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, + Layout::HORIZONTAL_ALIGN_BEGIN ); layoutParameters.isLastNewParagraph = isLastNewParagraph; @@ -177,13 +177,15 @@ bool LayoutTextTest( const LayoutTextData& data ) layoutParameters.startGlyphIndex = data.startIndex; layoutParameters.numberOfGlyphs = data.numberOfGlyphs; layoutParameters.startLineIndex = startRemoveIndex; + layoutParameters.estimatedNumberOfLines = logicalModel->mParagraphInfo.Count(); layoutSize = Vector2::ZERO; const bool updated = engine.LayoutText( layoutParameters, glyphPositions, lines, - layoutSize ); + layoutSize, + data.ellipsis ); // 4) Compare the results. @@ -342,8 +344,9 @@ bool ReLayoutRightToLeftLinesTest( const ReLayoutRightToLeftLinesData& data ) fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); // 1) Create the model. - LogicalModelPtr logicalModel = LogicalModel::New(); - VisualModelPtr visualModel = VisualModel::New(); + LogicalModelPtr logicalModel; + VisualModelPtr visualModel; + MetricsPtr metrics; Size layoutSize; Vector fontDescriptionRuns; @@ -363,25 +366,25 @@ bool ReLayoutRightToLeftLinesTest( const ReLayoutRightToLeftLinesData& data ) options, layoutSize, logicalModel, - visualModel ); + visualModel, + metrics ); // 2) Call the ReLayoutRightToLeftLines() method. - MetricsPtr metrics = Metrics::New( fontClient ); - - 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() ); + 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(), + Layout::HORIZONTAL_ALIGN_BEGIN ); layoutParameters.numberOfBidirectionalInfoRuns = logicalModel->mBidirectionalLineInfo.Count(); layoutParameters.lineBidirectionalInfoRunsBuffer = logicalModel->mBidirectionalLineInfo.Begin(); @@ -423,17 +426,17 @@ bool ReLayoutRightToLeftLinesTest( const ReLayoutRightToLeftLinesData& data ) struct AlignData { - std::string description; - std::string text; - Size textArea; - unsigned int numberOfFonts; - FontDescriptionRun* fontDescriptions; - LayoutEngine::HorizontalAlignment horizontalAlignment; - LayoutEngine::VerticalAlignment verticalAlignment; - unsigned int startIndex; - unsigned int numberOfCharacters; - unsigned int numberOfLines; - float* lineOffsets; + std::string description; + std::string text; + Size textArea; + unsigned int numberOfFonts; + FontDescriptionRun* fontDescriptions; + Layout::HorizontalAlignment horizontalAlignment; + Layout::VerticalAlignment verticalAlignment; + unsigned int startIndex; + unsigned int numberOfCharacters; + unsigned int numberOfLines; + float* lineOffsets; }; bool AlignTest( const AlignData& data ) @@ -451,8 +454,9 @@ bool AlignTest( const AlignData& data ) fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansArabicRegular.ttf" ); // 1) Create the model. - LogicalModelPtr logicalModel = LogicalModel::New(); - VisualModelPtr visualModel = VisualModel::New(); + LogicalModelPtr logicalModel; + VisualModelPtr visualModel; + MetricsPtr metrics; Size layoutSize; Vector fontDescriptionRuns; @@ -471,21 +475,20 @@ bool AlignTest( const AlignData& data ) options, layoutSize, logicalModel, - visualModel ); + visualModel, + metrics ); // Call the Align method. - MetricsPtr metrics = Metrics::New( fontClient ); - - 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 ); // Compare results. if( data.numberOfLines != visualModel->mLines.Count() ) @@ -555,61 +558,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; + Layout::Engine 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; - - 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; @@ -620,7 +574,7 @@ int UtcDaliTextLayoutSetGetCursorWidth(void) ToolkitTestApplication application; tet_infoline(" "); - LayoutEngine engine; + Layout::Engine engine; DALI_TEST_EQUALS( 1, engine.GetCursorWidth(), TEST_LOCATION ); @@ -650,7 +604,7 @@ int UtcDaliTextLayoutNoText(void) NULL, 0u, NULL, - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 0u, false, @@ -704,7 +658,7 @@ int UtcDaliTextLayoutSmallTextArea01(void) NULL, 0u, NULL, - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 11u, false, @@ -746,7 +700,7 @@ int UtcDaliTextLayoutSmallTextArea02(void) fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(1.f, 1.f); Size layoutSize(80.f, 20.f); - float positions[] = { 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.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 }; struct LineRun line = { { 0u, 11u }, @@ -774,7 +728,7 @@ int UtcDaliTextLayoutSmallTextArea02(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 11u, false, @@ -831,11 +785,11 @@ int UtcDaliTextLayoutMultilineText01(void) Size layoutSize(95.f, 97.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 32.f, 42.f, 23.f, - 1.f, 43.f, 9.f, 46.f, 17.f, 46.f, 27.f, 46.f, 36.f, 46.f, 45.f, 44.f, 51.f, 55.f, - 1.f, 62.f, 11.f, 62.f, 15.f, 62.f, 26.f, 65.f, 35.f, 65.f, 41.f, 65.f, 50.f, 65.f, 59.f, 63.f, 65.f, 74.f, - 1.f, 81.f, 5.f, 81.f, 9.f, 84.f, 19.f, 84.f, 28.f, 84.f, 35.f, 93.f, 41.f, 84.f, 50.f, 81.f, 54.f, 93.f, 59.f, 82.f, 66.f, 84.f, 75.f, 84.f, 83.f, 82.f, 91.f, 91.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, -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 }; struct LineRun line0 = { @@ -917,7 +871,7 @@ int UtcDaliTextLayoutMultilineText01(void) positions, 5u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 48u, false, @@ -960,7 +914,7 @@ int UtcDaliTextLayoutMultilineText02(void) // Set a known font description FontDescriptionRun fontDescriptionRun2; fontDescriptionRun2.characterRun.characterIndex = 17u; - fontDescriptionRun2.characterRun.numberOfCharacters = 11u; + fontDescriptionRun2.characterRun.numberOfCharacters = 9u; fontDescriptionRun2.familyLength = fontFamily2.size(); fontDescriptionRun2.familyName = new char[fontDescriptionRun2.familyLength]; memcpy( fontDescriptionRun2.familyName, fontFamily2.c_str(), fontDescriptionRun2.familyLength ); @@ -970,12 +924,12 @@ int UtcDaliTextLayoutMultilineText02(void) fontDescriptionRun2.slantDefined = false; fontDescriptionRun2.sizeDefined = false; - const std::string fontFamily3( "TizenSansHebrew" ); + const std::string fontFamily3( "TizenSans" ); // Set a known font description FontDescriptionRun fontDescriptionRun3; - fontDescriptionRun3.characterRun.characterIndex = 28u; - fontDescriptionRun3.characterRun.numberOfCharacters = 10u; + fontDescriptionRun3.characterRun.characterIndex = 26u; + fontDescriptionRun3.characterRun.numberOfCharacters = 2u; fontDescriptionRun3.familyLength = fontFamily3.size(); fontDescriptionRun3.familyName = new char[fontDescriptionRun3.familyLength]; memcpy( fontDescriptionRun3.familyName, fontFamily3.c_str(), fontDescriptionRun3.familyLength ); @@ -985,12 +939,12 @@ int UtcDaliTextLayoutMultilineText02(void) fontDescriptionRun3.slantDefined = false; fontDescriptionRun3.sizeDefined = false; - const std::string fontFamily4( "TizenSans" ); + const std::string fontFamily4( "TizenSansHebrew" ); // Set a known font description FontDescriptionRun fontDescriptionRun4; - fontDescriptionRun4.characterRun.characterIndex = 38u; - fontDescriptionRun4.characterRun.numberOfCharacters = 17u; + fontDescriptionRun4.characterRun.characterIndex = 28u; + fontDescriptionRun4.characterRun.numberOfCharacters = 10u; fontDescriptionRun4.familyLength = fontFamily4.size(); fontDescriptionRun4.familyName = new char[fontDescriptionRun4.familyLength]; memcpy( fontDescriptionRun4.familyName, fontFamily4.c_str(), fontDescriptionRun4.familyLength ); @@ -1000,21 +954,37 @@ int UtcDaliTextLayoutMultilineText02(void) fontDescriptionRun4.slantDefined = false; fontDescriptionRun4.sizeDefined = false; + const std::string fontFamily5( "TizenSans" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun5; + fontDescriptionRun5.characterRun.characterIndex = 38u; + fontDescriptionRun5.characterRun.numberOfCharacters = 17u; + fontDescriptionRun5.familyLength = fontFamily5.size(); + fontDescriptionRun5.familyName = new char[fontDescriptionRun5.familyLength]; + memcpy( fontDescriptionRun5.familyName, fontFamily5.c_str(), fontDescriptionRun5.familyLength ); + fontDescriptionRun5.familyDefined = true; + fontDescriptionRun5.weightDefined = false; + fontDescriptionRun5.widthDefined = false; + fontDescriptionRun5.slantDefined = false; + fontDescriptionRun5.sizeDefined = false; + Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun1 ); fontDescriptionRuns.PushBack( fontDescriptionRun2 ); fontDescriptionRuns.PushBack( fontDescriptionRun3 ); fontDescriptionRuns.PushBack( fontDescriptionRun4 ); + fontDescriptionRuns.PushBack( fontDescriptionRun5 ); Size textArea(100.f, 300.f); Size layoutSize(81.f, 120.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 35.f, 44.f, 25.f, 55.f, 22.f, 62.f, 25.f, 67.f, 25.f, 75.f, 35.f, - 1.f, 45.f, 9.f, 45.f, 14.f, 42.f, 22.f, 45.f, 32.f, 53.f, 35.f, 44.f, - 1.f, 65.f, 12.f, 62.f, 19.f, 65.f, 24.f, 65.f, 32.f, 75.f, 37.f, 65.f, 45.f, 65.f, 50.f, 62.f, 58.f, 65.f, 66.f, 75.f, - 1.f, 82.f, 10.f, 86.f, 18.f, 82.f, 22.f, 82.f, 25.f, 86.f, 34.f, 95.f, 38.f, 86.f, 49.f, 86.f, 59.f, 86.f, 65.f, 82.f, 68.f, 82.f, 77.f, 95.f, - 0.f, 102.f, 10.f, 106.f, 18.f, 106.f, 30.f, 106.f, 39.f, 112.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, -13.f, 10.f, -9.f, 18.f, -9.f, 30.f, -9.f, 39.f, -3.f, }; struct LineRun line0 = { @@ -1044,7 +1014,7 @@ int UtcDaliTextLayoutMultilineText02(void) { { 22u, 6u }, { 22u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -1102,14 +1072,14 @@ int UtcDaliTextLayoutMultilineText02(void) "Hello world demo שלום עולם.\n" "שלום עולם hello world demo.", textArea, - 4u, + 5u, fontDescriptionRuns.Begin(), layoutSize, 55u, positions, 6u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 55u, false, @@ -1153,9 +1123,9 @@ int UtcDaliTextLayoutMultilineText03(void) Size layoutSize(96.f, 60.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 6.f, 47.f, 6.f, 57.f, 6.f, 63.f, 2.f, 66.f, 2.f, 75.f, 2.f, 85.f, 6.f, - 1.f, 26.f, 13.f, 26.f, 23.f, 22.f, 32.f, 26.f, 40.f, 22.f, 44.f, 22.f, 47.f, 26.f, 56.f, 26.f, 67.f, 26.f, 77.f, 26.f, 83.f, 22.f, 86.f, 22.f, - 0.f, 42.f, 10.f, 46.f, 18.f, 46.f, 30.f, 46.f, 39.f, 52.f + 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, }; struct LineRun line0 = { @@ -1210,7 +1180,7 @@ int UtcDaliTextLayoutMultilineText03(void) positions, 3u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 29u, false, @@ -1254,7 +1224,7 @@ int UtcDaliTextLayoutMultilineText04(void) Size layoutSize(83.f, 40.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 12.f, 82.f, 3.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, -3.f, 82.f, -12.f }; struct LineRun line0 = { @@ -1296,7 +1266,7 @@ int UtcDaliTextLayoutMultilineText04(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 13u, false, @@ -1367,8 +1337,8 @@ int UtcDaliTextLayoutMultilineText05(void) Size layoutSize(88.f, 53.f); float positions[] = { - 1.f, 13.f, 12.f, 16.f, 20.f, 12.f, 24.f, 12.f, 27.f, 16.f, 36.f, 25.f, 40.f, 11.f, 59.f, 16.f, 69.f, 16.f, 75.f, 12.f, 78.f, 12.f, 87.f, 25.f, - 0.f, 35.f, 10.f, 39.f, 18.f, 39.f, 30.f, 39.f, 39.f, 45.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, -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 }; struct LineRun line0 = { @@ -1410,7 +1380,7 @@ int UtcDaliTextLayoutMultilineText05(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 17u, false, @@ -1453,7 +1423,7 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun02; fontDescriptionRun02.characterRun.characterIndex = 17u; - fontDescriptionRun02.characterRun.numberOfCharacters = 11u; + fontDescriptionRun02.characterRun.numberOfCharacters = 9u; fontDescriptionRun02.familyLength = fontHebrew.size(); fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); @@ -1465,11 +1435,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun03; - fontDescriptionRun03.characterRun.characterIndex = 28u; - fontDescriptionRun03.characterRun.numberOfCharacters = 14u; - fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.characterRun.characterIndex = 26u; + fontDescriptionRun03.characterRun.numberOfCharacters = 2u; + fontDescriptionRun03.familyLength = fontLatin.size(); fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; - memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + memcpy( fontDescriptionRun03.familyName, fontLatin.c_str(), fontDescriptionRun03.familyLength ); fontDescriptionRun03.familyDefined = true; fontDescriptionRun03.weightDefined = false; fontDescriptionRun03.widthDefined = false; @@ -1478,11 +1448,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun04; - fontDescriptionRun04.characterRun.characterIndex = 42u; - fontDescriptionRun04.characterRun.numberOfCharacters = 12u; - fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.characterRun.characterIndex = 28u; + fontDescriptionRun04.characterRun.numberOfCharacters = 14u; + fontDescriptionRun04.familyLength = fontArabic.size(); fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; - memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + memcpy( fontDescriptionRun04.familyName, fontArabic.c_str(), fontDescriptionRun04.familyLength ); fontDescriptionRun04.familyDefined = true; fontDescriptionRun04.weightDefined = false; fontDescriptionRun04.widthDefined = false; @@ -1491,11 +1461,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun05; - fontDescriptionRun05.characterRun.characterIndex = 54u; - fontDescriptionRun05.characterRun.numberOfCharacters = 10u; - fontDescriptionRun05.familyLength = fontHebrew.size(); + fontDescriptionRun05.characterRun.characterIndex = 42u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; - memcpy( fontDescriptionRun05.familyName, fontHebrew.c_str(), fontDescriptionRun05.familyLength ); + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); fontDescriptionRun05.familyDefined = true; fontDescriptionRun05.weightDefined = false; fontDescriptionRun05.widthDefined = false; @@ -1504,7 +1474,7 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun06; - fontDescriptionRun06.characterRun.characterIndex = 64u; + fontDescriptionRun06.characterRun.characterIndex = 54u; fontDescriptionRun06.characterRun.numberOfCharacters = 10u; fontDescriptionRun06.familyLength = fontHebrew.size(); fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; @@ -1517,11 +1487,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun07; - fontDescriptionRun07.characterRun.characterIndex = 74u; - fontDescriptionRun07.characterRun.numberOfCharacters = 18u; - fontDescriptionRun07.familyLength = fontLatin.size(); + fontDescriptionRun07.characterRun.characterIndex = 64u; + fontDescriptionRun07.characterRun.numberOfCharacters = 10u; + fontDescriptionRun07.familyLength = fontHebrew.size(); fontDescriptionRun07.familyName = new char[fontDescriptionRun07.familyLength]; - memcpy( fontDescriptionRun07.familyName, fontLatin.c_str(), fontDescriptionRun07.familyLength ); + memcpy( fontDescriptionRun07.familyName, fontHebrew.c_str(), fontDescriptionRun07.familyLength ); fontDescriptionRun07.familyDefined = true; fontDescriptionRun07.weightDefined = false; fontDescriptionRun07.widthDefined = false; @@ -1530,8 +1500,8 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun08; - fontDescriptionRun08.characterRun.characterIndex = 92u; - fontDescriptionRun08.characterRun.numberOfCharacters = 12u; + fontDescriptionRun08.characterRun.characterIndex = 74u; + fontDescriptionRun08.characterRun.numberOfCharacters = 18u; fontDescriptionRun08.familyLength = fontLatin.size(); fontDescriptionRun08.familyName = new char[fontDescriptionRun08.familyLength]; memcpy( fontDescriptionRun08.familyName, fontLatin.c_str(), fontDescriptionRun08.familyLength ); @@ -1543,11 +1513,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun09; - fontDescriptionRun09.characterRun.characterIndex = 104u; - fontDescriptionRun09.characterRun.numberOfCharacters = 14u; - fontDescriptionRun09.familyLength = fontArabic.size(); + fontDescriptionRun09.characterRun.characterIndex = 92u; + fontDescriptionRun09.characterRun.numberOfCharacters = 12u; + fontDescriptionRun09.familyLength = fontLatin.size(); fontDescriptionRun09.familyName = new char[fontDescriptionRun09.familyLength]; - memcpy( fontDescriptionRun09.familyName, fontArabic.c_str(), fontDescriptionRun09.familyLength ); + memcpy( fontDescriptionRun09.familyName, fontLatin.c_str(), fontDescriptionRun09.familyLength ); fontDescriptionRun09.familyDefined = true; fontDescriptionRun09.weightDefined = false; fontDescriptionRun09.widthDefined = false; @@ -1556,11 +1526,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun10; - fontDescriptionRun10.characterRun.characterIndex = 118u; - fontDescriptionRun10.characterRun.numberOfCharacters = 10u; - fontDescriptionRun10.familyLength = fontHebrew.size(); + fontDescriptionRun10.characterRun.characterIndex = 104u; + fontDescriptionRun10.characterRun.numberOfCharacters = 14u; + fontDescriptionRun10.familyLength = fontArabic.size(); fontDescriptionRun10.familyName = new char[fontDescriptionRun10.familyLength]; - memcpy( fontDescriptionRun10.familyName, fontHebrew.c_str(), fontDescriptionRun10.familyLength ); + memcpy( fontDescriptionRun10.familyName, fontArabic.c_str(), fontDescriptionRun10.familyLength ); fontDescriptionRun10.familyDefined = true; fontDescriptionRun10.weightDefined = false; fontDescriptionRun10.widthDefined = false; @@ -1569,11 +1539,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun11; - fontDescriptionRun11.characterRun.characterIndex = 128u; - fontDescriptionRun11.characterRun.numberOfCharacters = 17u; - fontDescriptionRun11.familyLength = fontLatin.size(); + fontDescriptionRun11.characterRun.characterIndex = 118u; + fontDescriptionRun11.characterRun.numberOfCharacters = 10u; + fontDescriptionRun11.familyLength = fontHebrew.size(); fontDescriptionRun11.familyName = new char[fontDescriptionRun11.familyLength]; - memcpy( fontDescriptionRun11.familyName, fontLatin.c_str(), fontDescriptionRun11.familyLength ); + memcpy( fontDescriptionRun11.familyName, fontHebrew.c_str(), fontDescriptionRun11.familyLength ); fontDescriptionRun11.familyDefined = true; fontDescriptionRun11.weightDefined = false; fontDescriptionRun11.widthDefined = false; @@ -1582,11 +1552,11 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun12; - fontDescriptionRun12.characterRun.characterIndex = 145u; - fontDescriptionRun12.characterRun.numberOfCharacters = 11u; - fontDescriptionRun12.familyLength = fontHebrew.size(); + fontDescriptionRun12.characterRun.characterIndex = 128u; + fontDescriptionRun12.characterRun.numberOfCharacters = 17u; + fontDescriptionRun12.familyLength = fontLatin.size(); fontDescriptionRun12.familyName = new char[fontDescriptionRun12.familyLength]; - memcpy( fontDescriptionRun12.familyName, fontHebrew.c_str(), fontDescriptionRun12.familyLength ); + memcpy( fontDescriptionRun12.familyName, fontLatin.c_str(), fontDescriptionRun12.familyLength ); fontDescriptionRun12.familyDefined = true; fontDescriptionRun12.weightDefined = false; fontDescriptionRun12.widthDefined = false; @@ -1595,8 +1565,8 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun13; - fontDescriptionRun13.characterRun.characterIndex = 156u; - fontDescriptionRun13.characterRun.numberOfCharacters = 10u; + fontDescriptionRun13.characterRun.characterIndex = 145u; + fontDescriptionRun13.characterRun.numberOfCharacters = 9u; fontDescriptionRun13.familyLength = fontHebrew.size(); fontDescriptionRun13.familyName = new char[fontDescriptionRun13.familyLength]; memcpy( fontDescriptionRun13.familyName, fontHebrew.c_str(), fontDescriptionRun13.familyLength ); @@ -1608,8 +1578,8 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun14; - fontDescriptionRun14.characterRun.characterIndex = 166u; - fontDescriptionRun14.characterRun.numberOfCharacters = 12u; + fontDescriptionRun14.characterRun.characterIndex = 154u; + fontDescriptionRun14.characterRun.numberOfCharacters = 2u; fontDescriptionRun14.familyLength = fontLatin.size(); fontDescriptionRun14.familyName = new char[fontDescriptionRun14.familyLength]; memcpy( fontDescriptionRun14.familyName, fontLatin.c_str(), fontDescriptionRun14.familyLength ); @@ -1621,17 +1591,43 @@ int UtcDaliTextUpdateLayout01(void) // Set a known font description FontDescriptionRun fontDescriptionRun15; - fontDescriptionRun15.characterRun.characterIndex = 178u; - fontDescriptionRun15.characterRun.numberOfCharacters = 14u; - fontDescriptionRun15.familyLength = fontArabic.size(); + fontDescriptionRun15.characterRun.characterIndex = 156u; + fontDescriptionRun15.characterRun.numberOfCharacters = 10u; + fontDescriptionRun15.familyLength = fontHebrew.size(); fontDescriptionRun15.familyName = new char[fontDescriptionRun15.familyLength]; - memcpy( fontDescriptionRun15.familyName, fontArabic.c_str(), fontDescriptionRun15.familyLength ); + memcpy( fontDescriptionRun15.familyName, fontHebrew.c_str(), fontDescriptionRun15.familyLength ); fontDescriptionRun15.familyDefined = true; fontDescriptionRun15.weightDefined = false; fontDescriptionRun15.widthDefined = false; fontDescriptionRun15.slantDefined = false; fontDescriptionRun15.sizeDefined = false; + // Set a known font description + FontDescriptionRun fontDescriptionRun16; + fontDescriptionRun16.characterRun.characterIndex = 166u; + fontDescriptionRun16.characterRun.numberOfCharacters = 12u; + fontDescriptionRun16.familyLength = fontLatin.size(); + fontDescriptionRun16.familyName = new char[fontDescriptionRun16.familyLength]; + memcpy( fontDescriptionRun16.familyName, fontLatin.c_str(), fontDescriptionRun16.familyLength ); + fontDescriptionRun16.familyDefined = true; + fontDescriptionRun16.weightDefined = false; + fontDescriptionRun16.widthDefined = false; + fontDescriptionRun16.slantDefined = false; + fontDescriptionRun16.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun17; + fontDescriptionRun17.characterRun.characterIndex = 178u; + fontDescriptionRun17.characterRun.numberOfCharacters = 14u; + fontDescriptionRun17.familyLength = fontArabic.size(); + fontDescriptionRun17.familyName = new char[fontDescriptionRun17.familyLength]; + memcpy( fontDescriptionRun17.familyName, fontArabic.c_str(), fontDescriptionRun17.familyLength ); + fontDescriptionRun17.familyDefined = true; + fontDescriptionRun17.weightDefined = false; + fontDescriptionRun17.widthDefined = false; + fontDescriptionRun17.slantDefined = false; + fontDescriptionRun17.sizeDefined = false; + Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun01 ); fontDescriptionRuns.PushBack( fontDescriptionRun02 ); @@ -1648,29 +1644,32 @@ int UtcDaliTextUpdateLayout01(void) fontDescriptionRuns.PushBack( fontDescriptionRun13 ); fontDescriptionRuns.PushBack( fontDescriptionRun14 ); fontDescriptionRuns.PushBack( fontDescriptionRun15 ); + fontDescriptionRuns.PushBack( fontDescriptionRun16 ); + fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); Size layoutSize(92.f, 380.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 35.f, 44.f, 25.f, 55.f, 22.f, 62.f, 25.f, 67.f, 25.f, 75.f, 35.f, - 1.f, 45.f, 9.f, 45.f, 14.f, 42.f, 22.f, 45.f, 32.f, 53.f, 35.f, 44.f, - 0.f, 67.f, 7.f, 69.f, 12.f, 68.f, 18.f, 68.f, 23.f, 64.f, 25.f, 75.f, 27.f, 68.f, 32.f, 64.f, 33.f, 64.f, 37.f, 67.f, 44.f, 64.f, 45.f, 64.f, 49.f, 67.f, 55.f, 75.f, 59.f, 62.f, 68.f, 66.f, 76.f, 62.f, 80.f, 62.f, 83.f, 66.f, 92.f, 75.f, - 0.f, 86.f, 11.f, 86.f, 21.f, 86.f, 27.f, 82.f, 30.f, 82.f, 39.f, 95.f, 44.f, 85.f, 55.f, 82.f, 62.f, 85.f, 67.f, 85.f, 75.f, 95.f, - 1.f, 105.f, 9.f, 105.f, 14.f, 102.f, 22.f, 105.f, 30.f, 115.f, - 1.f, 125.f, 12.f, 122.f, 19.f, 125.f, 24.f, 125.f, 32.f, 135.f, 37.f, 125.f, 45.f, 125.f, 50.f, 122.f, 58.f, 125.f, 66.f, 135.f, - 1.f, 142.f, 10.f, 146.f, 18.f, 142.f, 22.f, 142.f, 25.f, 146.f, 34.f, 155.f, 38.f, 146.f, 49.f, 146.f, 59.f, 146.f, 65.f, 142.f, 68.f, 142.f, 77.f, 155.f, - 0.f, 162.f, 10.f, 166.f, 18.f, 166.f, 30.f, 166.f, 39.f, 172.f, 42.f, 163.f, - 1.f, 182.f, 10.f, 186.f, 18.f, 182.f, 22.f, 182.f, 25.f, 186.f, 34.f, 195.f, 38.f, 186.f, 49.f, 186.f, 59.f, 186.f, 65.f, 182.f, 68.f, 182.f, 77.f, 195.f, - 0.f, 207.f, 7.f, 209.f, 12.f, 208.f, 18.f, 208.f, 23.f, 204.f, 25.f, 215.f, 27.f, 208.f, 32.f, 204.f, 33.f, 204.f, 37.f, 207.f, 44.f, 204.f, 45.f, 204.f, 49.f, 207.f, 55.f, 215.f, 59.f, 205.f, 70.f, 202.f, 77.f, 205.f, 82.f, 205.f, 90.f, 215.f, - 1.f, 225.f, 9.f, 225.f, 14.f, 222.f, 22.f, 225.f, 30.f, 235.f, - 1.f, 243.f, 12.f, 246.f, 20.f, 242.f, 24.f, 242.f, 27.f, 246.f, 36.f, 255.f, 40.f, 246.f, 51.f, 246.f, 61.f, 246.f, 67.f, 242.f, 70.f, 242.f, 79.f, 255.f, - 0.f, 262.f, 10.f, 266.f, 18.f, 266.f, 30.f, 266.f, 39.f, 275.f, 44.f, 265.f, 55.f, 262.f, 62.f, 265.f, 67.f, 265.f, 75.f, 275.f, - 1.f, 285.f, 9.f, 285.f, 14.f, 282.f, 22.f, 285.f, 32.f, 293.f, 35.f, 284.f, - 1.f, 305.f, 12.f, 302.f, 19.f, 305.f, 24.f, 305.f, 32.f, 315.f, 37.f, 305.f, 45.f, 305.f, 50.f, 302.f, 58.f, 305.f, 66.f, 315.f, - 1.f, 322.f, 10.f, 326.f, 18.f, 322.f, 22.f, 322.f, 25.f, 326.f, 34.f, 335.f, 38.f, 326.f, 49.f, 326.f, 59.f, 326.f, 65.f, 322.f, 68.f, 322.f, 77.f, 335.f, - 0.f, 347.f, 7.f, 349.f, 12.f, 348.f, 18.f, 348.f, 23.f, 344.f, 25.f, 355.f, 27.f, 348.f, 32.f, 344.f, 33.f, 344.f, 37.f, 347.f, 44.f, 344.f, 45.f, 344.f, 49.f, 347.f, 55.f, 355.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, + 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, -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, }; + struct LineRun line01 = { { 0u, 12u }, @@ -1699,7 +1698,7 @@ int UtcDaliTextUpdateLayout01(void) { { 22u, 6u }, { 22u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -1843,7 +1842,7 @@ int UtcDaliTextUpdateLayout01(void) { { 150u, 6u }, { 150u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -1930,14 +1929,14 @@ int UtcDaliTextUpdateLayout01(void) "Hello world demo שלום עולם.\n" "שלום עולם hello world مرحبا بالعالم\n", textArea, - 15u, + 17u, fontDescriptionRuns.Begin(), layoutSize, 192u, positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 64u, false, @@ -1980,7 +1979,7 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun02; fontDescriptionRun02.characterRun.characterIndex = 17u; - fontDescriptionRun02.characterRun.numberOfCharacters = 11u; + fontDescriptionRun02.characterRun.numberOfCharacters = 9u; fontDescriptionRun02.familyLength = fontHebrew.size(); fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); @@ -1992,11 +1991,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun03; - fontDescriptionRun03.characterRun.characterIndex = 28u; - fontDescriptionRun03.characterRun.numberOfCharacters = 14u; - fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.characterRun.characterIndex = 26u; + fontDescriptionRun03.characterRun.numberOfCharacters = 2u; + fontDescriptionRun03.familyLength = fontLatin.size(); fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; - memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + memcpy( fontDescriptionRun03.familyName, fontLatin.c_str(), fontDescriptionRun03.familyLength ); fontDescriptionRun03.familyDefined = true; fontDescriptionRun03.weightDefined = false; fontDescriptionRun03.widthDefined = false; @@ -2005,11 +2004,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun04; - fontDescriptionRun04.characterRun.characterIndex = 42u; - fontDescriptionRun04.characterRun.numberOfCharacters = 12u; - fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.characterRun.characterIndex = 28u; + fontDescriptionRun04.characterRun.numberOfCharacters = 14u; + fontDescriptionRun04.familyLength = fontArabic.size(); fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; - memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + memcpy( fontDescriptionRun04.familyName, fontArabic.c_str(), fontDescriptionRun04.familyLength ); fontDescriptionRun04.familyDefined = true; fontDescriptionRun04.weightDefined = false; fontDescriptionRun04.widthDefined = false; @@ -2018,11 +2017,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun05; - fontDescriptionRun05.characterRun.characterIndex = 54u; - fontDescriptionRun05.characterRun.numberOfCharacters = 10u; - fontDescriptionRun05.familyLength = fontHebrew.size(); + fontDescriptionRun05.characterRun.characterIndex = 42u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; - memcpy( fontDescriptionRun05.familyName, fontHebrew.c_str(), fontDescriptionRun05.familyLength ); + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); fontDescriptionRun05.familyDefined = true; fontDescriptionRun05.weightDefined = false; fontDescriptionRun05.widthDefined = false; @@ -2031,7 +2030,7 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun06; - fontDescriptionRun06.characterRun.characterIndex = 64u; + fontDescriptionRun06.characterRun.characterIndex = 54u; fontDescriptionRun06.characterRun.numberOfCharacters = 10u; fontDescriptionRun06.familyLength = fontHebrew.size(); fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; @@ -2044,11 +2043,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun07; - fontDescriptionRun07.characterRun.characterIndex = 74u; - fontDescriptionRun07.characterRun.numberOfCharacters = 18u; - fontDescriptionRun07.familyLength = fontLatin.size(); + fontDescriptionRun07.characterRun.characterIndex = 64u; + fontDescriptionRun07.characterRun.numberOfCharacters = 10u; + fontDescriptionRun07.familyLength = fontHebrew.size(); fontDescriptionRun07.familyName = new char[fontDescriptionRun07.familyLength]; - memcpy( fontDescriptionRun07.familyName, fontLatin.c_str(), fontDescriptionRun07.familyLength ); + memcpy( fontDescriptionRun07.familyName, fontHebrew.c_str(), fontDescriptionRun07.familyLength ); fontDescriptionRun07.familyDefined = true; fontDescriptionRun07.weightDefined = false; fontDescriptionRun07.widthDefined = false; @@ -2057,8 +2056,8 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun08; - fontDescriptionRun08.characterRun.characterIndex = 92u; - fontDescriptionRun08.characterRun.numberOfCharacters = 12u; + fontDescriptionRun08.characterRun.characterIndex = 74u; + fontDescriptionRun08.characterRun.numberOfCharacters = 18u; fontDescriptionRun08.familyLength = fontLatin.size(); fontDescriptionRun08.familyName = new char[fontDescriptionRun08.familyLength]; memcpy( fontDescriptionRun08.familyName, fontLatin.c_str(), fontDescriptionRun08.familyLength ); @@ -2070,11 +2069,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun09; - fontDescriptionRun09.characterRun.characterIndex = 104u; - fontDescriptionRun09.characterRun.numberOfCharacters = 14u; - fontDescriptionRun09.familyLength = fontArabic.size(); + fontDescriptionRun09.characterRun.characterIndex = 92u; + fontDescriptionRun09.characterRun.numberOfCharacters = 12u; + fontDescriptionRun09.familyLength = fontLatin.size(); fontDescriptionRun09.familyName = new char[fontDescriptionRun09.familyLength]; - memcpy( fontDescriptionRun09.familyName, fontArabic.c_str(), fontDescriptionRun09.familyLength ); + memcpy( fontDescriptionRun09.familyName, fontLatin.c_str(), fontDescriptionRun09.familyLength ); fontDescriptionRun09.familyDefined = true; fontDescriptionRun09.weightDefined = false; fontDescriptionRun09.widthDefined = false; @@ -2083,11 +2082,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun10; - fontDescriptionRun10.characterRun.characterIndex = 118u; - fontDescriptionRun10.characterRun.numberOfCharacters = 10u; - fontDescriptionRun10.familyLength = fontHebrew.size(); + fontDescriptionRun10.characterRun.characterIndex = 104u; + fontDescriptionRun10.characterRun.numberOfCharacters = 14u; + fontDescriptionRun10.familyLength = fontArabic.size(); fontDescriptionRun10.familyName = new char[fontDescriptionRun10.familyLength]; - memcpy( fontDescriptionRun10.familyName, fontHebrew.c_str(), fontDescriptionRun10.familyLength ); + memcpy( fontDescriptionRun10.familyName, fontArabic.c_str(), fontDescriptionRun10.familyLength ); fontDescriptionRun10.familyDefined = true; fontDescriptionRun10.weightDefined = false; fontDescriptionRun10.widthDefined = false; @@ -2096,11 +2095,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun11; - fontDescriptionRun11.characterRun.characterIndex = 128u; - fontDescriptionRun11.characterRun.numberOfCharacters = 17u; - fontDescriptionRun11.familyLength = fontLatin.size(); + fontDescriptionRun11.characterRun.characterIndex = 118u; + fontDescriptionRun11.characterRun.numberOfCharacters = 10u; + fontDescriptionRun11.familyLength = fontHebrew.size(); fontDescriptionRun11.familyName = new char[fontDescriptionRun11.familyLength]; - memcpy( fontDescriptionRun11.familyName, fontLatin.c_str(), fontDescriptionRun11.familyLength ); + memcpy( fontDescriptionRun11.familyName, fontHebrew.c_str(), fontDescriptionRun11.familyLength ); fontDescriptionRun11.familyDefined = true; fontDescriptionRun11.weightDefined = false; fontDescriptionRun11.widthDefined = false; @@ -2109,11 +2108,11 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun12; - fontDescriptionRun12.characterRun.characterIndex = 145u; - fontDescriptionRun12.characterRun.numberOfCharacters = 11u; - fontDescriptionRun12.familyLength = fontHebrew.size(); + fontDescriptionRun12.characterRun.characterIndex = 128u; + fontDescriptionRun12.characterRun.numberOfCharacters = 17u; + fontDescriptionRun12.familyLength = fontLatin.size(); fontDescriptionRun12.familyName = new char[fontDescriptionRun12.familyLength]; - memcpy( fontDescriptionRun12.familyName, fontHebrew.c_str(), fontDescriptionRun12.familyLength ); + memcpy( fontDescriptionRun12.familyName, fontLatin.c_str(), fontDescriptionRun12.familyLength ); fontDescriptionRun12.familyDefined = true; fontDescriptionRun12.weightDefined = false; fontDescriptionRun12.widthDefined = false; @@ -2122,8 +2121,8 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun13; - fontDescriptionRun13.characterRun.characterIndex = 156u; - fontDescriptionRun13.characterRun.numberOfCharacters = 10u; + fontDescriptionRun13.characterRun.characterIndex = 145u; + fontDescriptionRun13.characterRun.numberOfCharacters = 9u; fontDescriptionRun13.familyLength = fontHebrew.size(); fontDescriptionRun13.familyName = new char[fontDescriptionRun13.familyLength]; memcpy( fontDescriptionRun13.familyName, fontHebrew.c_str(), fontDescriptionRun13.familyLength ); @@ -2135,8 +2134,8 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun14; - fontDescriptionRun14.characterRun.characterIndex = 166u; - fontDescriptionRun14.characterRun.numberOfCharacters = 12u; + fontDescriptionRun14.characterRun.characterIndex = 154u; + fontDescriptionRun14.characterRun.numberOfCharacters = 2u; fontDescriptionRun14.familyLength = fontLatin.size(); fontDescriptionRun14.familyName = new char[fontDescriptionRun14.familyLength]; memcpy( fontDescriptionRun14.familyName, fontLatin.c_str(), fontDescriptionRun14.familyLength ); @@ -2148,17 +2147,43 @@ int UtcDaliTextUpdateLayout02(void) // Set a known font description FontDescriptionRun fontDescriptionRun15; - fontDescriptionRun15.characterRun.characterIndex = 178u; - fontDescriptionRun15.characterRun.numberOfCharacters = 14u; - fontDescriptionRun15.familyLength = fontArabic.size(); + fontDescriptionRun15.characterRun.characterIndex = 156u; + fontDescriptionRun15.characterRun.numberOfCharacters = 10u; + fontDescriptionRun15.familyLength = fontHebrew.size(); fontDescriptionRun15.familyName = new char[fontDescriptionRun15.familyLength]; - memcpy( fontDescriptionRun15.familyName, fontArabic.c_str(), fontDescriptionRun15.familyLength ); + memcpy( fontDescriptionRun15.familyName, fontHebrew.c_str(), fontDescriptionRun15.familyLength ); fontDescriptionRun15.familyDefined = true; fontDescriptionRun15.weightDefined = false; fontDescriptionRun15.widthDefined = false; fontDescriptionRun15.slantDefined = false; fontDescriptionRun15.sizeDefined = false; + // Set a known font description + FontDescriptionRun fontDescriptionRun16; + fontDescriptionRun16.characterRun.characterIndex = 166u; + fontDescriptionRun16.characterRun.numberOfCharacters = 12u; + fontDescriptionRun16.familyLength = fontLatin.size(); + fontDescriptionRun16.familyName = new char[fontDescriptionRun16.familyLength]; + memcpy( fontDescriptionRun16.familyName, fontLatin.c_str(), fontDescriptionRun16.familyLength ); + fontDescriptionRun16.familyDefined = true; + fontDescriptionRun16.weightDefined = false; + fontDescriptionRun16.widthDefined = false; + fontDescriptionRun16.slantDefined = false; + fontDescriptionRun16.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun17; + fontDescriptionRun17.characterRun.characterIndex = 178u; + fontDescriptionRun17.characterRun.numberOfCharacters = 14u; + fontDescriptionRun17.familyLength = fontArabic.size(); + fontDescriptionRun17.familyName = new char[fontDescriptionRun17.familyLength]; + memcpy( fontDescriptionRun17.familyName, fontArabic.c_str(), fontDescriptionRun17.familyLength ); + fontDescriptionRun17.familyDefined = true; + fontDescriptionRun17.weightDefined = false; + fontDescriptionRun17.widthDefined = false; + fontDescriptionRun17.slantDefined = false; + fontDescriptionRun17.sizeDefined = false; + Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun01 ); fontDescriptionRuns.PushBack( fontDescriptionRun02 ); @@ -2175,29 +2200,32 @@ int UtcDaliTextUpdateLayout02(void) fontDescriptionRuns.PushBack( fontDescriptionRun13 ); fontDescriptionRuns.PushBack( fontDescriptionRun14 ); fontDescriptionRuns.PushBack( fontDescriptionRun15 ); + fontDescriptionRuns.PushBack( fontDescriptionRun16 ); + fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); Size layoutSize(92.f, 380.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 35.f, 44.f, 25.f, 55.f, 22.f, 62.f, 25.f, 67.f, 25.f, 75.f, 35.f, - 1.f, 45.f, 9.f, 45.f, 14.f, 42.f, 22.f, 45.f, 32.f, 53.f, 35.f, 44.f, - 0.f, 67.f, 7.f, 69.f, 12.f, 68.f, 18.f, 68.f, 23.f, 64.f, 25.f, 75.f, 27.f, 68.f, 32.f, 64.f, 33.f, 64.f, 37.f, 67.f, 44.f, 64.f, 45.f, 64.f, 49.f, 67.f, 55.f, 75.f, 59.f, 62.f, 68.f, 66.f, 76.f, 62.f, 80.f, 62.f, 83.f, 66.f, 92.f, 75.f, - 0.f, 86.f, 11.f, 86.f, 21.f, 86.f, 27.f, 82.f, 30.f, 82.f, 39.f, 95.f, 44.f, 85.f, 55.f, 82.f, 62.f, 85.f, 67.f, 85.f, 75.f, 95.f, - 1.f, 105.f, 9.f, 105.f, 14.f, 102.f, 22.f, 105.f, 30.f, 115.f, - 1.f, 125.f, 12.f, 122.f, 19.f, 125.f, 24.f, 125.f, 32.f, 135.f, 37.f, 125.f, 45.f, 125.f, 50.f, 122.f, 58.f, 125.f, 66.f, 135.f, - 1.f, 142.f, 10.f, 146.f, 18.f, 142.f, 22.f, 142.f, 25.f, 146.f, 34.f, 155.f, 38.f, 146.f, 49.f, 146.f, 59.f, 146.f, 65.f, 142.f, 68.f, 142.f, 77.f, 155.f, - 0.f, 162.f, 10.f, 166.f, 18.f, 166.f, 30.f, 166.f, 39.f, 172.f, 42.f, 163.f, - 1.f, 182.f, 10.f, 186.f, 18.f, 182.f, 22.f, 182.f, 25.f, 186.f, 34.f, 195.f, 38.f, 186.f, 49.f, 186.f, 59.f, 186.f, 65.f, 182.f, 68.f, 182.f, 77.f, 195.f, - 0.f, 207.f, 7.f, 209.f, 12.f, 208.f, 18.f, 208.f, 23.f, 204.f, 25.f, 215.f, 27.f, 208.f, 32.f, 204.f, 33.f, 204.f, 37.f, 207.f, 44.f, 204.f, 45.f, 204.f, 49.f, 207.f, 55.f, 215.f, 59.f, 205.f, 70.f, 202.f, 77.f, 205.f, 82.f, 205.f, 90.f, 215.f, - 1.f, 225.f, 9.f, 225.f, 14.f, 222.f, 22.f, 225.f, 30.f, 235.f, - 1.f, 243.f, 12.f, 246.f, 20.f, 242.f, 24.f, 242.f, 27.f, 246.f, 36.f, 255.f, 40.f, 246.f, 51.f, 246.f, 61.f, 246.f, 67.f, 242.f, 70.f, 242.f, 79.f, 255.f, - 0.f, 262.f, 10.f, 266.f, 18.f, 266.f, 30.f, 266.f, 39.f, 275.f, 44.f, 265.f, 55.f, 262.f, 62.f, 265.f, 67.f, 265.f, 75.f, 275.f, - 1.f, 285.f, 9.f, 285.f, 14.f, 282.f, 22.f, 285.f, 32.f, 293.f, 35.f, 284.f, - 1.f, 305.f, 12.f, 302.f, 19.f, 305.f, 24.f, 305.f, 32.f, 315.f, 37.f, 305.f, 45.f, 305.f, 50.f, 302.f, 58.f, 305.f, 66.f, 315.f, - 1.f, 322.f, 10.f, 326.f, 18.f, 322.f, 22.f, 322.f, 25.f, 326.f, 34.f, 335.f, 38.f, 326.f, 49.f, 326.f, 59.f, 326.f, 65.f, 322.f, 68.f, 322.f, 77.f, 335.f, - 0.f, 347.f, 7.f, 349.f, 12.f, 348.f, 18.f, 348.f, 23.f, 344.f, 25.f, 355.f, 27.f, 348.f, 32.f, 344.f, 33.f, 344.f, 37.f, 347.f, 44.f, 344.f, 45.f, 344.f, 49.f, 347.f, 55.f, 355.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, + 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, -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, }; + struct LineRun line01 = { { 0u, 12u }, @@ -2226,7 +2254,7 @@ int UtcDaliTextUpdateLayout02(void) { { 22u, 6u }, { 22u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -2370,7 +2398,7 @@ int UtcDaliTextUpdateLayout02(void) { { 150u, 6u }, { 150u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -2457,14 +2485,14 @@ int UtcDaliTextUpdateLayout02(void) "Hello world demo שלום עולם.\n" "שלום עולם hello world مرحبا بالعالم\n", textArea, - 15u, + 17u, fontDescriptionRuns.Begin(), layoutSize, 192u, positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 64u, 64u, false, @@ -2507,7 +2535,7 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun02; fontDescriptionRun02.characterRun.characterIndex = 17u; - fontDescriptionRun02.characterRun.numberOfCharacters = 11u; + fontDescriptionRun02.characterRun.numberOfCharacters = 9u; fontDescriptionRun02.familyLength = fontHebrew.size(); fontDescriptionRun02.familyName = new char[fontDescriptionRun02.familyLength]; memcpy( fontDescriptionRun02.familyName, fontHebrew.c_str(), fontDescriptionRun02.familyLength ); @@ -2519,11 +2547,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun03; - fontDescriptionRun03.characterRun.characterIndex = 28u; - fontDescriptionRun03.characterRun.numberOfCharacters = 14u; - fontDescriptionRun03.familyLength = fontArabic.size(); + fontDescriptionRun03.characterRun.characterIndex = 26u; + fontDescriptionRun03.characterRun.numberOfCharacters = 2u; + fontDescriptionRun03.familyLength = fontLatin.size(); fontDescriptionRun03.familyName = new char[fontDescriptionRun03.familyLength]; - memcpy( fontDescriptionRun03.familyName, fontArabic.c_str(), fontDescriptionRun03.familyLength ); + memcpy( fontDescriptionRun03.familyName, fontLatin.c_str(), fontDescriptionRun03.familyLength ); fontDescriptionRun03.familyDefined = true; fontDescriptionRun03.weightDefined = false; fontDescriptionRun03.widthDefined = false; @@ -2532,11 +2560,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun04; - fontDescriptionRun04.characterRun.characterIndex = 42u; - fontDescriptionRun04.characterRun.numberOfCharacters = 12u; - fontDescriptionRun04.familyLength = fontLatin.size(); + fontDescriptionRun04.characterRun.characterIndex = 28u; + fontDescriptionRun04.characterRun.numberOfCharacters = 14u; + fontDescriptionRun04.familyLength = fontArabic.size(); fontDescriptionRun04.familyName = new char[fontDescriptionRun04.familyLength]; - memcpy( fontDescriptionRun04.familyName, fontLatin.c_str(), fontDescriptionRun04.familyLength ); + memcpy( fontDescriptionRun04.familyName, fontArabic.c_str(), fontDescriptionRun04.familyLength ); fontDescriptionRun04.familyDefined = true; fontDescriptionRun04.weightDefined = false; fontDescriptionRun04.widthDefined = false; @@ -2545,11 +2573,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun05; - fontDescriptionRun05.characterRun.characterIndex = 54u; - fontDescriptionRun05.characterRun.numberOfCharacters = 10u; - fontDescriptionRun05.familyLength = fontHebrew.size(); + fontDescriptionRun05.characterRun.characterIndex = 42u; + fontDescriptionRun05.characterRun.numberOfCharacters = 12u; + fontDescriptionRun05.familyLength = fontLatin.size(); fontDescriptionRun05.familyName = new char[fontDescriptionRun05.familyLength]; - memcpy( fontDescriptionRun05.familyName, fontHebrew.c_str(), fontDescriptionRun05.familyLength ); + memcpy( fontDescriptionRun05.familyName, fontLatin.c_str(), fontDescriptionRun05.familyLength ); fontDescriptionRun05.familyDefined = true; fontDescriptionRun05.weightDefined = false; fontDescriptionRun05.widthDefined = false; @@ -2558,7 +2586,7 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun06; - fontDescriptionRun06.characterRun.characterIndex = 64u; + fontDescriptionRun06.characterRun.characterIndex = 54u; fontDescriptionRun06.characterRun.numberOfCharacters = 10u; fontDescriptionRun06.familyLength = fontHebrew.size(); fontDescriptionRun06.familyName = new char[fontDescriptionRun06.familyLength]; @@ -2571,11 +2599,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun07; - fontDescriptionRun07.characterRun.characterIndex = 74u; - fontDescriptionRun07.characterRun.numberOfCharacters = 18u; - fontDescriptionRun07.familyLength = fontLatin.size(); + fontDescriptionRun07.characterRun.characterIndex = 64u; + fontDescriptionRun07.characterRun.numberOfCharacters = 10u; + fontDescriptionRun07.familyLength = fontHebrew.size(); fontDescriptionRun07.familyName = new char[fontDescriptionRun07.familyLength]; - memcpy( fontDescriptionRun07.familyName, fontLatin.c_str(), fontDescriptionRun07.familyLength ); + memcpy( fontDescriptionRun07.familyName, fontHebrew.c_str(), fontDescriptionRun07.familyLength ); fontDescriptionRun07.familyDefined = true; fontDescriptionRun07.weightDefined = false; fontDescriptionRun07.widthDefined = false; @@ -2584,8 +2612,8 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun08; - fontDescriptionRun08.characterRun.characterIndex = 92u; - fontDescriptionRun08.characterRun.numberOfCharacters = 12u; + fontDescriptionRun08.characterRun.characterIndex = 74u; + fontDescriptionRun08.characterRun.numberOfCharacters = 18u; fontDescriptionRun08.familyLength = fontLatin.size(); fontDescriptionRun08.familyName = new char[fontDescriptionRun08.familyLength]; memcpy( fontDescriptionRun08.familyName, fontLatin.c_str(), fontDescriptionRun08.familyLength ); @@ -2597,11 +2625,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun09; - fontDescriptionRun09.characterRun.characterIndex = 104u; - fontDescriptionRun09.characterRun.numberOfCharacters = 14u; - fontDescriptionRun09.familyLength = fontArabic.size(); + fontDescriptionRun09.characterRun.characterIndex = 92u; + fontDescriptionRun09.characterRun.numberOfCharacters = 12u; + fontDescriptionRun09.familyLength = fontLatin.size(); fontDescriptionRun09.familyName = new char[fontDescriptionRun09.familyLength]; - memcpy( fontDescriptionRun09.familyName, fontArabic.c_str(), fontDescriptionRun09.familyLength ); + memcpy( fontDescriptionRun09.familyName, fontLatin.c_str(), fontDescriptionRun09.familyLength ); fontDescriptionRun09.familyDefined = true; fontDescriptionRun09.weightDefined = false; fontDescriptionRun09.widthDefined = false; @@ -2610,11 +2638,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun10; - fontDescriptionRun10.characterRun.characterIndex = 118u; - fontDescriptionRun10.characterRun.numberOfCharacters = 10u; - fontDescriptionRun10.familyLength = fontHebrew.size(); + fontDescriptionRun10.characterRun.characterIndex = 104u; + fontDescriptionRun10.characterRun.numberOfCharacters = 14u; + fontDescriptionRun10.familyLength = fontArabic.size(); fontDescriptionRun10.familyName = new char[fontDescriptionRun10.familyLength]; - memcpy( fontDescriptionRun10.familyName, fontHebrew.c_str(), fontDescriptionRun10.familyLength ); + memcpy( fontDescriptionRun10.familyName, fontArabic.c_str(), fontDescriptionRun10.familyLength ); fontDescriptionRun10.familyDefined = true; fontDescriptionRun10.weightDefined = false; fontDescriptionRun10.widthDefined = false; @@ -2623,11 +2651,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun11; - fontDescriptionRun11.characterRun.characterIndex = 128u; - fontDescriptionRun11.characterRun.numberOfCharacters = 17u; - fontDescriptionRun11.familyLength = fontLatin.size(); + fontDescriptionRun11.characterRun.characterIndex = 118u; + fontDescriptionRun11.characterRun.numberOfCharacters = 10u; + fontDescriptionRun11.familyLength = fontHebrew.size(); fontDescriptionRun11.familyName = new char[fontDescriptionRun11.familyLength]; - memcpy( fontDescriptionRun11.familyName, fontLatin.c_str(), fontDescriptionRun11.familyLength ); + memcpy( fontDescriptionRun11.familyName, fontHebrew.c_str(), fontDescriptionRun11.familyLength ); fontDescriptionRun11.familyDefined = true; fontDescriptionRun11.weightDefined = false; fontDescriptionRun11.widthDefined = false; @@ -2636,11 +2664,11 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun12; - fontDescriptionRun12.characterRun.characterIndex = 145u; - fontDescriptionRun12.characterRun.numberOfCharacters = 11u; - fontDescriptionRun12.familyLength = fontHebrew.size(); + fontDescriptionRun12.characterRun.characterIndex = 128u; + fontDescriptionRun12.characterRun.numberOfCharacters = 17u; + fontDescriptionRun12.familyLength = fontLatin.size(); fontDescriptionRun12.familyName = new char[fontDescriptionRun12.familyLength]; - memcpy( fontDescriptionRun12.familyName, fontHebrew.c_str(), fontDescriptionRun12.familyLength ); + memcpy( fontDescriptionRun12.familyName, fontLatin.c_str(), fontDescriptionRun12.familyLength ); fontDescriptionRun12.familyDefined = true; fontDescriptionRun12.weightDefined = false; fontDescriptionRun12.widthDefined = false; @@ -2649,8 +2677,8 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun13; - fontDescriptionRun13.characterRun.characterIndex = 156u; - fontDescriptionRun13.characterRun.numberOfCharacters = 10u; + fontDescriptionRun13.characterRun.characterIndex = 145u; + fontDescriptionRun13.characterRun.numberOfCharacters = 9u; fontDescriptionRun13.familyLength = fontHebrew.size(); fontDescriptionRun13.familyName = new char[fontDescriptionRun13.familyLength]; memcpy( fontDescriptionRun13.familyName, fontHebrew.c_str(), fontDescriptionRun13.familyLength ); @@ -2662,8 +2690,8 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun14; - fontDescriptionRun14.characterRun.characterIndex = 166u; - fontDescriptionRun14.characterRun.numberOfCharacters = 12u; + fontDescriptionRun14.characterRun.characterIndex = 154u; + fontDescriptionRun14.characterRun.numberOfCharacters = 2u; fontDescriptionRun14.familyLength = fontLatin.size(); fontDescriptionRun14.familyName = new char[fontDescriptionRun14.familyLength]; memcpy( fontDescriptionRun14.familyName, fontLatin.c_str(), fontDescriptionRun14.familyLength ); @@ -2675,17 +2703,43 @@ int UtcDaliTextUpdateLayout03(void) // Set a known font description FontDescriptionRun fontDescriptionRun15; - fontDescriptionRun15.characterRun.characterIndex = 178u; - fontDescriptionRun15.characterRun.numberOfCharacters = 14u; - fontDescriptionRun15.familyLength = fontArabic.size(); + fontDescriptionRun15.characterRun.characterIndex = 156u; + fontDescriptionRun15.characterRun.numberOfCharacters = 10u; + fontDescriptionRun15.familyLength = fontHebrew.size(); fontDescriptionRun15.familyName = new char[fontDescriptionRun15.familyLength]; - memcpy( fontDescriptionRun15.familyName, fontArabic.c_str(), fontDescriptionRun15.familyLength ); + memcpy( fontDescriptionRun15.familyName, fontHebrew.c_str(), fontDescriptionRun15.familyLength ); fontDescriptionRun15.familyDefined = true; fontDescriptionRun15.weightDefined = false; fontDescriptionRun15.widthDefined = false; fontDescriptionRun15.slantDefined = false; fontDescriptionRun15.sizeDefined = false; + // Set a known font description + FontDescriptionRun fontDescriptionRun16; + fontDescriptionRun16.characterRun.characterIndex = 166u; + fontDescriptionRun16.characterRun.numberOfCharacters = 12u; + fontDescriptionRun16.familyLength = fontLatin.size(); + fontDescriptionRun16.familyName = new char[fontDescriptionRun16.familyLength]; + memcpy( fontDescriptionRun16.familyName, fontLatin.c_str(), fontDescriptionRun16.familyLength ); + fontDescriptionRun16.familyDefined = true; + fontDescriptionRun16.weightDefined = false; + fontDescriptionRun16.widthDefined = false; + fontDescriptionRun16.slantDefined = false; + fontDescriptionRun16.sizeDefined = false; + + // Set a known font description + FontDescriptionRun fontDescriptionRun17; + fontDescriptionRun17.characterRun.characterIndex = 178u; + fontDescriptionRun17.characterRun.numberOfCharacters = 14u; + fontDescriptionRun17.familyLength = fontArabic.size(); + fontDescriptionRun17.familyName = new char[fontDescriptionRun17.familyLength]; + memcpy( fontDescriptionRun17.familyName, fontArabic.c_str(), fontDescriptionRun17.familyLength ); + fontDescriptionRun17.familyDefined = true; + fontDescriptionRun17.weightDefined = false; + fontDescriptionRun17.widthDefined = false; + fontDescriptionRun17.slantDefined = false; + fontDescriptionRun17.sizeDefined = false; + Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun01 ); fontDescriptionRuns.PushBack( fontDescriptionRun02 ); @@ -2702,29 +2756,32 @@ int UtcDaliTextUpdateLayout03(void) fontDescriptionRuns.PushBack( fontDescriptionRun13 ); fontDescriptionRuns.PushBack( fontDescriptionRun14 ); fontDescriptionRuns.PushBack( fontDescriptionRun15 ); + fontDescriptionRuns.PushBack( fontDescriptionRun16 ); + fontDescriptionRuns.PushBack( fontDescriptionRun17 ); Size textArea(100.f, 300.f); Size layoutSize(92.f, 380.f); float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 35.f, 44.f, 25.f, 55.f, 22.f, 62.f, 25.f, 67.f, 25.f, 75.f, 35.f, - 1.f, 45.f, 9.f, 45.f, 14.f, 42.f, 22.f, 45.f, 32.f, 53.f, 35.f, 44.f, - 0.f, 67.f, 7.f, 69.f, 12.f, 68.f, 18.f, 68.f, 23.f, 64.f, 25.f, 75.f, 27.f, 68.f, 32.f, 64.f, 33.f, 64.f, 37.f, 67.f, 44.f, 64.f, 45.f, 64.f, 49.f, 67.f, 55.f, 75.f, 59.f, 62.f, 68.f, 66.f, 76.f, 62.f, 80.f, 62.f, 83.f, 66.f, 92.f, 75.f, - 0.f, 86.f, 11.f, 86.f, 21.f, 86.f, 27.f, 82.f, 30.f, 82.f, 39.f, 95.f, 44.f, 85.f, 55.f, 82.f, 62.f, 85.f, 67.f, 85.f, 75.f, 95.f, - 1.f, 105.f, 9.f, 105.f, 14.f, 102.f, 22.f, 105.f, 30.f, 115.f, - 1.f, 125.f, 12.f, 122.f, 19.f, 125.f, 24.f, 125.f, 32.f, 135.f, 37.f, 125.f, 45.f, 125.f, 50.f, 122.f, 58.f, 125.f, 66.f, 135.f, - 1.f, 142.f, 10.f, 146.f, 18.f, 142.f, 22.f, 142.f, 25.f, 146.f, 34.f, 155.f, 38.f, 146.f, 49.f, 146.f, 59.f, 146.f, 65.f, 142.f, 68.f, 142.f, 77.f, 155.f, - 0.f, 162.f, 10.f, 166.f, 18.f, 166.f, 30.f, 166.f, 39.f, 172.f, 42.f, 163.f, - 1.f, 182.f, 10.f, 186.f, 18.f, 182.f, 22.f, 182.f, 25.f, 186.f, 34.f, 195.f, 38.f, 186.f, 49.f, 186.f, 59.f, 186.f, 65.f, 182.f, 68.f, 182.f, 77.f, 195.f, - 0.f, 207.f, 7.f, 209.f, 12.f, 208.f, 18.f, 208.f, 23.f, 204.f, 25.f, 215.f, 27.f, 208.f, 32.f, 204.f, 33.f, 204.f, 37.f, 207.f, 44.f, 204.f, 45.f, 204.f, 49.f, 207.f, 55.f, 215.f, 59.f, 205.f, 70.f, 202.f, 77.f, 205.f, 82.f, 205.f, 90.f, 215.f, - 1.f, 225.f, 9.f, 225.f, 14.f, 222.f, 22.f, 225.f, 30.f, 235.f, - 1.f, 243.f, 12.f, 246.f, 20.f, 242.f, 24.f, 242.f, 27.f, 246.f, 36.f, 255.f, 40.f, 246.f, 51.f, 246.f, 61.f, 246.f, 67.f, 242.f, 70.f, 242.f, 79.f, 255.f, - 0.f, 262.f, 10.f, 266.f, 18.f, 266.f, 30.f, 266.f, 39.f, 275.f, 44.f, 265.f, 55.f, 262.f, 62.f, 265.f, 67.f, 265.f, 75.f, 275.f, - 1.f, 285.f, 9.f, 285.f, 14.f, 282.f, 22.f, 285.f, 32.f, 293.f, 35.f, 284.f, - 1.f, 305.f, 12.f, 302.f, 19.f, 305.f, 24.f, 305.f, 32.f, 315.f, 37.f, 305.f, 45.f, 305.f, 50.f, 302.f, 58.f, 305.f, 66.f, 315.f, - 1.f, 322.f, 10.f, 326.f, 18.f, 322.f, 22.f, 322.f, 25.f, 326.f, 34.f, 335.f, 38.f, 326.f, 49.f, 326.f, 59.f, 326.f, 65.f, 322.f, 68.f, 322.f, 77.f, 335.f, - 0.f, 347.f, 7.f, 349.f, 12.f, 348.f, 18.f, 348.f, 23.f, 344.f, 25.f, 355.f, 27.f, 348.f, 32.f, 344.f, 33.f, 344.f, 37.f, 347.f, 44.f, 344.f, 45.f, 344.f, 49.f, 347.f, 55.f, 355.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, + 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, -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, }; + struct LineRun line01 = { { 0u, 12u }, @@ -2753,7 +2810,7 @@ int UtcDaliTextUpdateLayout03(void) { { 22u, 6u }, { 22u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -2897,7 +2954,7 @@ int UtcDaliTextUpdateLayout03(void) { { 150u, 6u }, { 150u, 6u }, - 36.f, + 34.f, 15.f, -5.f, 0.f, @@ -2984,14 +3041,14 @@ int UtcDaliTextUpdateLayout03(void) "Hello world demo שלום עולם.\n" "שלום עולם hello world مرحبا بالعالم\n", textArea, - 15u, + 17u, fontDescriptionRuns.Begin(), layoutSize, 192u, positions, 19u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 128u, 64u, false, @@ -3049,7 +3106,7 @@ int UtcDaliTextLayoutEllipsis01(void) float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, 83.f, 2.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, 83.f, -13.f, }; Size textArea( 100.f, 50.f ); @@ -3067,7 +3124,7 @@ int UtcDaliTextLayoutEllipsis01(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 51u, true, @@ -3138,12 +3195,12 @@ int UtcDaliTextLayoutEllipsis02(void) float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.f, 79.f, 15.f, - 0.f, 22.f, 10.f, 26.f, 18.f, 26.f, 30.f, 26.f, 39.f, 35.f, 44.f, 22.f, 53.f, 26.f, 61.f, 22.f, 65.f, 22.f, 68.f, 26.f, 77.f, 35.f, 81.f, 26.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, -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, }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 60.f ); + Size layoutSize( 100.f, 40.f ); LayoutTextData data = { @@ -3157,7 +3214,7 @@ int UtcDaliTextLayoutEllipsis02(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 51u, true, @@ -3281,7 +3338,7 @@ int UtcDaliTextLayoutEllipsis03(void) float positions[] = { - 1.f, 5.f, 12.f, 2.f, 19.f, 5.f, 24.f, 5.f, 32.f, 15.f, 37.f, 5.f, 45.f, 5.f, 50.f, 2.f, 58.f, 5.f, 66.f, 15.f, 69.f, 7.f, 76.f, 9.f, 81.f, 8.f, 87.f, 8.f, 92.f, 4.f, 94.f, 15.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, }; Size textArea( 100.f, 50.f ); @@ -3299,7 +3356,7 @@ int UtcDaliTextLayoutEllipsis03(void) positions, 1u, lines.Begin(), - LayoutEngine::SINGLE_LINE_BOX, + Layout::Engine::SINGLE_LINE_BOX, 0u, 72u, true, @@ -3436,12 +3493,12 @@ int UtcDaliTextLayoutEllipsis04(void) float positions[] = { - 1.f, 5.f, 12.f, 2.f, 19.f, 5.f, 24.f, 5.f, 32.f, 15.f, 37.f, 5.f, 45.f, 5.f, 50.f, 2.f, 58.f, 5.f, 66.f, 15.f, 69.f, 7.f, 76.f, 9.f, 81.f, 8.f, 87.f, 8.f, 92.f, 4.f, 94.f, 15.f, - 0.f, 28.f, 5.f, 24.f, 6.f, 24.f, 10.f, 27.f, 17.f, 24.f, 18.f, 24.f, 22.f, 27.f, 28.f, 35.f, 32.f, 25.f, 43.f, 22.f, 50.f, 25.f, 55.f, 25.f, 63.f, 35.f, 68.f, 25.f, 76.f, 25.f, 81.f, 22.f, 89.f, 25.f, 97.f, 35.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, 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, 60.f ); + Size layoutSize( 100.f, 40.f ); LayoutTextData data = { @@ -3455,7 +3512,7 @@ int UtcDaliTextLayoutEllipsis04(void) positions, 2u, lines.Begin(), - LayoutEngine::MULTI_LINE_BOX, + Layout::Engine::MULTI_LINE_BOX, 0u, 72u, true, @@ -3471,6 +3528,80 @@ int UtcDaliTextLayoutEllipsis04(void) END_TEST; } +int UtcDaliTextLayoutEllipsis05(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliTextLayoutEllipsis05"); + + const std::string fontLatin( "TizenSans" ); + + // Set a known font description + FontDescriptionRun fontDescriptionRun01; + fontDescriptionRun01.characterRun.characterIndex = 0u; + fontDescriptionRun01.characterRun.numberOfCharacters = 51u; + 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; + + Vector fontDescriptionRuns; + fontDescriptionRuns.PushBack( fontDescriptionRun01 ); + + struct LineRun line01 = + { + { 0u, 11u }, + { 0u, 11u }, + 80.f, + 15.f, + -5.f, + 0.f, + 0.f, + false, + true + }; + Vector lines; + lines.PushBack( line01 ); + + float positions[] = + { + 1.f, -12.f + }; + + Size textArea( 100.f, 19.f ); + Size layoutSize( 100.f, 20.f ); + + LayoutTextData data = + { + "Not enough height.", + "Hello world", + textArea, + 1u, + fontDescriptionRuns.Begin(), + layoutSize, + 1u, + positions, + 1u, + lines.Begin(), + Layout::Engine::MULTI_LINE_BOX, + 0u, + 11u, + true, + true + }; + + if( !LayoutTextTest( data ) ) + { + tet_result(TET_FAIL); + } + + tet_result(TET_PASS); + END_TEST; +} + int UtcDaliTextReorderLayout01(void) { ToolkitTestApplication application; @@ -3498,7 +3629,7 @@ int UtcDaliTextReorderLayout01(void) float positions[] = { - 1.f, 3.f, 12.f, 6.f, 20.f, 2.f, 24.f, 2.f, 27.f, 6.f, 36.f, 15.f, 40.f, 6.f, 51.f, 6.f, 61.f, 6.f, 67.f, 2.f, 70.f, 2.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, }; Size textArea( 100.f, 300.f ); @@ -3618,12 +3749,12 @@ int UtcDaliTextReorderLayout02(void) float positions[] = { - 87.f, 5.f, 79.f, 2.f, 74.f, 5.f, 66.f, 5.f, 61.f, 15.f, 53.f, 5.f, 48.f, 5.f, 41.f, 2.f, 32.f, 5.f, 27.f, 15.f, 20.f, 7.f, 15.f, 9.f, 8.f, 8.f, 5.f, 8.f, 4.f, 4.f, 0.f, 15.f, - 23.f, 28.f, 22.f, 24.f, 17.f, 24.f, 12.f, 27.f, 10.f, 24.f, 5.f, 24.f, 0.f, 27.f, 0.f, 35.f, - 0.f, 47.f, 7.f, 49.f, 12.f, 48.f, 18.f, 48.f, 23.f, 44.f, 25.f, 55.f, 27.f, 48.f, 32.f, 44.f, 33.f, 44.f, 37.f, 47.f, 44.f, 44.f, 45.f, 44.f, 49.f, 47.f, 55.f, 55.f, 59.f, 45.f, 70.f, 42.f, 77.f, 45.f, 82.f, 45.f, 90.f, 55.f, - 1.f, 65.f, 9.f, 65.f, 14.f, 62.f, 22.f, 65.f, 30.f, 75.f, - 1.f, 85.f, 12.f, 82.f, 19.f, 85.f, 24.f, 85.f, 32.f, 95.f, 37.f, 85.f, 45.f, 85.f, 50.f, 82.f, 58.f, 85.f, 66.f, 95.f, 69.f, 87.f, 76.f, 89.f, 81.f, 88.f, 87.f, 88.f, 92.f, 84.f, 94.f, 95.f, - 0.f, 108.f, 5.f, 104.f, 6.f, 104.f, 10.f, 107.f, 17.f, 104.f, 18.f, 104.f, 22.f, 107.f, 30.f, 113.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, + 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, }; Size textArea( 100.f, 300.f ); @@ -3745,12 +3876,12 @@ int UtcDaliTextReorderLayout03(void) float positions[] = { - 1.f, 5.f, 12.f, 2.f, 19.f, 5.f, 24.f, 5.f, 32.f, 15.f, 37.f, 5.f, 45.f, 5.f, 50.f, 2.f, 58.f, 5.f, 66.f, 15.f, 69.f, 7.f, 76.f, 9.f, 81.f, 8.f, 87.f, 8.f, 92.f, 4.f, 94.f, 15.f, - 0.f, 28.f, 5.f, 24.f, 6.f, 24.f, 10.f, 27.f, 17.f, 24.f, 18.f, 24.f, 22.f, 27.f, 28.f, 35.f, - 86.f, 47.f, 81.f, 49.f, 74.f, 48.f, 71.f, 48.f, 70.f, 44.f, 66.f, 55.f, 62.f, 48.f, 61.f, 44.f, 56.f, 44.f, 51.f, 47.f, 49.f, 44.f, 44.f, 44.f, 39.f, 47.f, 36.f, 55.f, 26.f, 45.f, 18.f, 42.f, 13.f, 45.f, 5.f, 45.f, 0.f, 55.f, - 22.f, 65.f, 17.f, 65.f, 10.f, 62.f, 1.f, 65.f, 0.f, 75.f, - 1.f, 85.f, 12.f, 82.f, 19.f, 85.f, 24.f, 85.f, 32.f, 95.f, 37.f, 85.f, 45.f, 85.f, 50.f, 82.f, 58.f, 85.f, 66.f, 95.f, 69.f, 87.f, 76.f, 89.f, 81.f, 88.f, 87.f, 88.f, 92.f, 84.f, 94.f, 95.f, - 0.f, 108.f, 5.f, 104.f, 6.f, 104.f, 10.f, 107.f, 17.f, 104.f, 18.f, 104.f, 22.f, 107.f, 30.f, 113.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, 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, + 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, }; Size textArea( 100.f, 300.f ); @@ -3872,12 +4003,12 @@ int UtcDaliTextReorderLayout04(void) float positions[] = { - 1.f, 5.f, 12.f, 2.f, 19.f, 5.f, 24.f, 5.f, 32.f, 15.f, 37.f, 5.f, 45.f, 5.f, 50.f, 2.f, 58.f, 5.f, 66.f, 15.f, 69.f, 7.f, 76.f, 9.f, 81.f, 8.f, 87.f, 8.f, 92.f, 4.f, 94.f, 15.f, - 0.f, 28.f, 5.f, 24.f, 6.f, 24.f, 10.f, 27.f, 17.f, 24.f, 18.f, 24.f, 22.f, 27.f, 28.f, 35.f, - 0.f, 47.f, 7.f, 49.f, 12.f, 48.f, 18.f, 48.f, 23.f, 44.f, 25.f, 55.f, 27.f, 48.f, 32.f, 44.f, 33.f, 44.f, 37.f, 47.f, 44.f, 44.f, 45.f, 44.f, 49.f, 47.f, 55.f, 55.f, 59.f, 45.f, 70.f, 42.f, 77.f, 45.f, 82.f, 45.f, 90.f, 55.f, - 1.f, 65.f, 9.f, 65.f, 14.f, 62.f, 22.f, 65.f, 30.f, 75.f, - 87.f, 85.f, 79.f, 82.f, 74.f, 85.f, 66.f, 85.f, 61.f, 95.f, 53.f, 85.f, 48.f, 85.f, 41.f, 82.f, 32.f, 85.f, 27.f, 95.f, 20.f, 87.f, 15.f, 89.f, 8.f, 88.f, 5.f, 88.f, 4.f, 84.f, 0.f, 95.f, - 28.f, 108.f, 27.f, 104.f, 22.f, 104.f, 17.f, 107.f, 15.f, 104.f, 10.f, 104.f, 5.f, 107.f, 2.f, 113.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, 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, }; Size textArea( 100.f, 300.f ); @@ -4008,8 +4139,8 @@ int UtcDaliTextAlign01(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_BEGIN, + Layout::VERTICAL_ALIGN_TOP, 0u, 22u, 6u, @@ -4127,8 +4258,8 @@ int UtcDaliTextAlign02(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_BEGIN, + Layout::VERTICAL_ALIGN_TOP, 22u, 26u, 6u, @@ -4246,8 +4377,8 @@ int UtcDaliTextAlign03(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_BEGIN, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_BEGIN, + Layout::VERTICAL_ALIGN_TOP, 48u, 26u, 6u, @@ -4365,8 +4496,8 @@ int UtcDaliTextAlign04(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_CENTER, + Layout::VERTICAL_ALIGN_TOP, 0u, 22u, 6u, @@ -4484,8 +4615,8 @@ int UtcDaliTextAlign05(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_CENTER, + Layout::VERTICAL_ALIGN_TOP, 22u, 26u, 6u, @@ -4603,8 +4734,8 @@ int UtcDaliTextAlign06(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_CENTER, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_CENTER, + Layout::VERTICAL_ALIGN_TOP, 48u, 26u, 6u, @@ -4722,8 +4853,8 @@ int UtcDaliTextAlign07(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_END, + Layout::VERTICAL_ALIGN_TOP, 0u, 22u, 6u, @@ -4841,8 +4972,8 @@ int UtcDaliTextAlign08(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_END, + Layout::VERTICAL_ALIGN_TOP, 22u, 26u, 6u, @@ -4960,8 +5091,8 @@ int UtcDaliTextAlign09(void) textArea, 6u, fontDescriptionRuns.Begin(), - LayoutEngine::HORIZONTAL_ALIGN_END, - LayoutEngine::VERTICAL_ALIGN_TOP, + Layout::HORIZONTAL_ALIGN_END, + Layout::VERTICAL_ALIGN_TOP, 48u, 26u, 6u, @@ -4976,3 +5107,18 @@ 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; +}