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=249c7287c314d99596b622d8d95fa5a09c5e7b2f;hp=ab15b46cb1c23d4955b2dc03f02ffe418759d52d;hb=184e719fa04c4a5bbe171c3be7da133e2a7a0399;hpb=259267e944a0215c92b3955695b9b4bc610660db 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 ab15b46..249c728 --- 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) 2017 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. @@ -174,7 +174,8 @@ bool LayoutTextTest( const LayoutTextData& data ) Text::HorizontalAlignment::BEGIN, Text::LineWrap::WORD, outlineWidth, - true ); + true, + false ); layoutParameters.isLastNewParagraph = isLastNewParagraph; @@ -186,11 +187,13 @@ bool LayoutTextTest( const LayoutTextData& data ) layoutSize = Vector2::ZERO; + bool isAutoScroll = false; const bool updated = engine.LayoutText( layoutParameters, glyphPositions, lines, layoutSize, - data.ellipsis ); + data.ellipsis, + isAutoScroll ); // 4) Compare the results. @@ -394,7 +397,8 @@ bool ReLayoutRightToLeftLinesTest( const ReLayoutRightToLeftLinesData& data ) Text::HorizontalAlignment::BEGIN, Text::LineWrap::WORD, outlineWidth, - true ); + true, + false ); layoutParameters.numberOfBidirectionalInfoRuns = logicalModel->mBidirectionalLineInfo.Count(); layoutParameters.lineBidirectionalInfoRunsBuffer = logicalModel->mBidirectionalLineInfo.Begin(); @@ -447,6 +451,8 @@ struct AlignData unsigned int numberOfCharacters; unsigned int numberOfLines; float* lineOffsets; + Dali::LayoutDirection::Type layoutDirection; + bool matchSystemLanguageDirection; }; bool AlignTest( const AlignData& data ) @@ -499,7 +505,9 @@ bool AlignTest( const AlignData& data ) data.numberOfCharacters, data.horizontalAlignment, visualModel->mLines, - alignmentOffset ); + alignmentOffset, + data.layoutDirection, + data.matchSystemLanguageDirection ); // Compare results. if( data.numberOfLines != visualModel->mLines.Count() ) @@ -519,7 +527,6 @@ bool AlignTest( const AlignData& data ) return false; } } - return true; } @@ -710,7 +717,7 @@ int UtcDaliTextLayoutSmallTextArea02(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(1.f, 1.f); - Size layoutSize(80.f, 20.f); + Size layoutSize(80.f, 19.f); float positions[] = { 1.f, -12.f, 11.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 = { @@ -718,7 +725,7 @@ int UtcDaliTextLayoutSmallTextArea02(void) { 0u, 11u }, 80.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -794,7 +801,7 @@ int UtcDaliTextLayoutMultilineText01(void) fontDescriptionRuns.PushBack( fontDescriptionRun1 ); fontDescriptionRuns.PushBack( fontDescriptionRun2 ); Size textArea(100.f, 300.f); - Size layoutSize(95.f, 97.f); + Size layoutSize(95.f, 95.f); float positions[] = { 1.f, -12.f, 11.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, @@ -809,7 +816,7 @@ int UtcDaliTextLayoutMultilineText01(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -822,7 +829,7 @@ int UtcDaliTextLayoutMultilineText01(void) { 12u, 6u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -993,7 +1000,7 @@ int UtcDaliTextLayoutMultilineText02(void) fontDescriptionRuns.PushBack( fontDescriptionRun4 ); fontDescriptionRuns.PushBack( fontDescriptionRun5 ); Size textArea(100.f, 300.f); - Size layoutSize(80.f, 120.f); + Size layoutSize(80.f, 114.f); float positions[] = { 1.f, -12.f, 11.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, @@ -1009,7 +1016,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1022,7 +1029,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 12u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1035,7 +1042,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 22u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1048,7 +1055,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 28u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1061,7 +1068,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 38u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1074,7 +1081,7 @@ int UtcDaliTextLayoutMultilineText02(void) { 50u, 5u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1143,7 +1150,7 @@ int UtcDaliTextLayoutMultilineText03(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(100.f, 300.f); - Size layoutSize(96.f, 60.f); + Size layoutSize(96.f, 57.f); float positions[] = { 1.f, -12.f, 11.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, 84.f, -9.f, @@ -1156,7 +1163,7 @@ int UtcDaliTextLayoutMultilineText03(void) { 0u, 12u }, 93.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1169,7 +1176,7 @@ int UtcDaliTextLayoutMultilineText03(void) { 12u, 12u }, 96.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1182,7 +1189,7 @@ int UtcDaliTextLayoutMultilineText03(void) { 24u, 5u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1247,7 +1254,7 @@ int UtcDaliTextLayoutMultilineText04(void) Vector fontDescriptionRuns; fontDescriptionRuns.PushBack( fontDescriptionRun ); Size textArea(100.f, 300.f); - Size layoutSize(83.f, 40.f); + Size layoutSize(83.f, 38.f); float positions[] = { 1.f, -12.f, 11.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, -2.f, 82.f, -12.f @@ -1258,7 +1265,7 @@ int UtcDaliTextLayoutMultilineText04(void) { 0u, 13u }, 83.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, false, @@ -1270,7 +1277,7 @@ int UtcDaliTextLayoutMultilineText04(void) { 13u, 0u }, 0.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1361,19 +1368,19 @@ int UtcDaliTextLayoutMultilineText05(void) fontDescriptionRuns.PushBack( fontDescriptionRun2 ); fontDescriptionRuns.PushBack( fontDescriptionRun3 ); Size textArea(100.f, 300.f); - Size layoutSize(88.f, 53.f); + Size layoutSize(89.f, 51.f); float positions[] = { - 1.f, -12.f, 11.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, + 1.f, -12.f, 11.f, -9.f, 20.f, -13.f, 24.f, -13.f, 27.f, -9.f, 36.f, -0.f, 40.f, -14.f, 60.f, -9.f, 70.f, -9.f, 76.f, -13.f, 79.f, -13.f, 88.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, + 89.f, 25.f, - -8.f, + -7.f, 4.f, 0.f, 0.f, @@ -1386,7 +1393,7 @@ int UtcDaliTextLayoutMultilineText05(void) { 12u, 5u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1676,7 +1683,7 @@ 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, 11.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, @@ -1705,7 +1712,7 @@ int UtcDaliTextUpdateLayout01(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1718,7 +1725,7 @@ int UtcDaliTextUpdateLayout01(void) { 12u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1731,7 +1738,7 @@ int UtcDaliTextUpdateLayout01(void) { 22u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1744,7 +1751,7 @@ int UtcDaliTextUpdateLayout01(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1757,7 +1764,7 @@ int UtcDaliTextUpdateLayout01(void) { 48u, 11u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1770,7 +1777,7 @@ int UtcDaliTextUpdateLayout01(void) { 59u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1783,7 +1790,7 @@ int UtcDaliTextUpdateLayout01(void) { 64u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1796,7 +1803,7 @@ int UtcDaliTextUpdateLayout01(void) { 74u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 1.f, 0.f, @@ -1809,7 +1816,7 @@ int UtcDaliTextUpdateLayout01(void) { 86u, 6u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1822,7 +1829,7 @@ int UtcDaliTextUpdateLayout01(void) { 92u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1835,7 +1842,7 @@ int UtcDaliTextUpdateLayout01(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1848,7 +1855,7 @@ int UtcDaliTextUpdateLayout01(void) { 123u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1861,7 +1868,7 @@ int UtcDaliTextUpdateLayout01(void) { 128u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1874,7 +1881,7 @@ int UtcDaliTextUpdateLayout01(void) { 140u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1887,7 +1894,7 @@ int UtcDaliTextUpdateLayout01(void) { 150u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1900,7 +1907,7 @@ int UtcDaliTextUpdateLayout01(void) { 156u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1913,7 +1920,7 @@ int UtcDaliTextUpdateLayout01(void) { 166u, 12u }, 79.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -1926,7 +1933,7 @@ int UtcDaliTextUpdateLayout01(void) { 178u, 14u }, 55.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -1939,7 +1946,7 @@ int UtcDaliTextUpdateLayout01(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2251,7 +2258,7 @@ 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, 11.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, @@ -2280,7 +2287,7 @@ int UtcDaliTextUpdateLayout02(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2293,7 +2300,7 @@ int UtcDaliTextUpdateLayout02(void) { 12u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2306,7 +2313,7 @@ int UtcDaliTextUpdateLayout02(void) { 22u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2319,7 +2326,7 @@ int UtcDaliTextUpdateLayout02(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2332,7 +2339,7 @@ int UtcDaliTextUpdateLayout02(void) { 48u, 11u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2345,7 +2352,7 @@ int UtcDaliTextUpdateLayout02(void) { 59u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2358,7 +2365,7 @@ int UtcDaliTextUpdateLayout02(void) { 64u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2371,7 +2378,7 @@ int UtcDaliTextUpdateLayout02(void) { 74u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 1.f, 0.f, @@ -2384,7 +2391,7 @@ int UtcDaliTextUpdateLayout02(void) { 86u, 6u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2397,7 +2404,7 @@ int UtcDaliTextUpdateLayout02(void) { 92u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2410,7 +2417,7 @@ int UtcDaliTextUpdateLayout02(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2423,7 +2430,7 @@ int UtcDaliTextUpdateLayout02(void) { 123u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2436,7 +2443,7 @@ int UtcDaliTextUpdateLayout02(void) { 128u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2449,7 +2456,7 @@ int UtcDaliTextUpdateLayout02(void) { 140u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2462,7 +2469,7 @@ int UtcDaliTextUpdateLayout02(void) { 150u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2475,7 +2482,7 @@ int UtcDaliTextUpdateLayout02(void) { 156u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2488,7 +2495,7 @@ int UtcDaliTextUpdateLayout02(void) { 166u, 12u }, 79.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2501,7 +2508,7 @@ int UtcDaliTextUpdateLayout02(void) { 178u, 14u }, 55.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2514,7 +2521,7 @@ int UtcDaliTextUpdateLayout02(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2826,7 +2833,7 @@ 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, 11.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, @@ -2855,7 +2862,7 @@ int UtcDaliTextUpdateLayout03(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2868,7 +2875,7 @@ int UtcDaliTextUpdateLayout03(void) { 12u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2881,7 +2888,7 @@ int UtcDaliTextUpdateLayout03(void) { 22u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2894,7 +2901,7 @@ int UtcDaliTextUpdateLayout03(void) { 28u, 20u }, 92.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2907,7 +2914,7 @@ int UtcDaliTextUpdateLayout03(void) { 48u, 11u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2920,7 +2927,7 @@ int UtcDaliTextUpdateLayout03(void) { 59u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2933,7 +2940,7 @@ int UtcDaliTextUpdateLayout03(void) { 64u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2946,7 +2953,7 @@ int UtcDaliTextUpdateLayout03(void) { 74u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 1.f, 0.f, @@ -2959,7 +2966,7 @@ int UtcDaliTextUpdateLayout03(void) { 86u, 6u }, 43.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -2972,7 +2979,7 @@ int UtcDaliTextUpdateLayout03(void) { 92u, 12u }, 78.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2985,7 +2992,7 @@ int UtcDaliTextUpdateLayout03(void) { 104u, 19u }, 90.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -2998,7 +3005,7 @@ int UtcDaliTextUpdateLayout03(void) { 123u, 5u }, 31.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3011,7 +3018,7 @@ int UtcDaliTextUpdateLayout03(void) { 128u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3024,7 +3031,7 @@ int UtcDaliTextUpdateLayout03(void) { 140u, 10u }, 76.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3037,7 +3044,7 @@ int UtcDaliTextUpdateLayout03(void) { 150u, 6u }, 34.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3050,7 +3057,7 @@ int UtcDaliTextUpdateLayout03(void) { 156u, 10u }, 67.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3063,7 +3070,7 @@ int UtcDaliTextUpdateLayout03(void) { 166u, 12u }, 79.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3076,7 +3083,7 @@ int UtcDaliTextUpdateLayout03(void) { 178u, 14u }, 55.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3089,7 +3096,7 @@ int UtcDaliTextUpdateLayout03(void) { 192u, 0u }, 0.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3181,7 +3188,7 @@ int UtcDaliTextLayoutEllipsis01(void) { 0u, 13u }, 93.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3197,7 +3204,7 @@ int UtcDaliTextLayoutEllipsis01(void) }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 100.f, 19.f ); LayoutTextData data = { @@ -3258,7 +3265,7 @@ int UtcDaliTextLayoutEllipsis02(void) { 0u, 12u }, 80.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3271,7 +3278,7 @@ int UtcDaliTextLayoutEllipsis02(void) { 12u, 12u }, 93.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3289,7 +3296,7 @@ int UtcDaliTextLayoutEllipsis02(void) }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 40.f ); + Size layoutSize( 100.f, 38.f ); LayoutTextData data = { @@ -3416,7 +3423,7 @@ int UtcDaliTextLayoutEllipsis03(void) { 0u, 16u }, 95.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, @@ -3432,7 +3439,7 @@ int UtcDaliTextLayoutEllipsis03(void) }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 100.f, 19.f ); LayoutTextData data = { @@ -3559,7 +3566,7 @@ int UtcDaliTextLayoutEllipsis04(void) { 0u, 16u }, 96.f, 15.f, - -5.f, + -4.f, 3.f, 0.f, 0.f, @@ -3572,7 +3579,7 @@ int UtcDaliTextLayoutEllipsis04(void) { 16u, 18u }, 97.f, 15.f, - -5.f, + -4.f, 4.f, 0.f, 0.f, @@ -3590,7 +3597,7 @@ int UtcDaliTextLayoutEllipsis04(void) }; Size textArea( 100.f, 50.f ); - Size layoutSize( 100.f, 40.f ); + Size layoutSize( 100.f, 38.f ); LayoutTextData data = { @@ -3649,12 +3656,12 @@ int UtcDaliTextLayoutEllipsis05(void) { 0u, 11u }, 80.f, 15.f, - -5.f, + -4.f, 0.f, 0.f, 0.f, false, - true + false }; Vector lines; lines.PushBack( line01 ); @@ -3665,7 +3672,7 @@ int UtcDaliTextLayoutEllipsis05(void) }; Size textArea( 100.f, 19.f ); - Size layoutSize( 100.f, 20.f ); + Size layoutSize( 80.f, 19.f ); LayoutTextData data = { @@ -4237,7 +4244,9 @@ int UtcDaliTextAlign01(void) 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4356,7 +4365,9 @@ int UtcDaliTextAlign02(void) 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4475,7 +4486,9 @@ int UtcDaliTextAlign03(void) 48u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4594,7 +4607,9 @@ int UtcDaliTextAlign04(void) 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4713,7 +4728,9 @@ int UtcDaliTextAlign05(void) 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4832,7 +4849,9 @@ int UtcDaliTextAlign06(void) 48u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -4951,7 +4970,9 @@ int UtcDaliTextAlign07(void) 0u, 22u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -5070,7 +5091,9 @@ int UtcDaliTextAlign08(void) 22u, 26u, 6u, - positions + positions, + Dali::LayoutDirection::LEFT_TO_RIGHT, + false }; if( !AlignTest( data ) ) @@ -5189,7 +5212,372 @@ int UtcDaliTextAlign09(void) 48u, 26u, 6u, - positions + 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[] = { 20.f, 33.f, 2.f, 0.f, 0.f, 0.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, + 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, + Dali::LayoutDirection::LEFT_TO_RIGHT, + true }; if( !AlignTest( data ) )