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-Typesetter.cpp;h=8ec03d6160b0f3d457d3e5bf22fd1a90bc94a92f;hp=63f9a22db418095b2e79145c5bb9deab5a46671d;hb=1a0dc2cc53708bbc32546da6031e996465544f51;hpb=a68dbe03813fd3db34c81f4e6960572e8882930b diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Typesetter.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Typesetter.cpp index 63f9a22..8ec03d6 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Typesetter.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Typesetter.cpp @@ -27,6 +27,9 @@ #include #include #include +#include +#include +#include using namespace Dali; using namespace Toolkit; @@ -35,7 +38,7 @@ using namespace Text; namespace { const std::string DEFAULT_FONT_DIR( "/resources/fonts" ); -const PointSize26Dot6 EMOJI_FONT_SIZE = 62u * 64u; +const PointSize26Dot6 EMOJI_FONT_SIZE = 3840u; // 60 * 64 } // namespace int UtcDaliTextTypesetter(void) @@ -86,7 +89,7 @@ int UtcDaliTextRenderingControllerRender(void) const std::string pathName( pathNamePtr ); free( pathNamePtr ); - fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenColorEmoji.ttf", EMOJI_FONT_SIZE ); + fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/BreezeColorEmoji.ttf", EMOJI_FONT_SIZE ); fontClient.GetFontId( pathName + DEFAULT_FONT_DIR + "/tizen/TizenSansRegular.ttf" ); // Creates a text controller. @@ -97,7 +100,7 @@ int UtcDaliTextRenderingControllerRender(void) // Sets the text. controller->SetMarkupProcessorEnabled( true ); - controller->SetText( "Hello world \xF0\x9F\x98\x81" ); + controller->SetText( "Hello world \xF0\x9F\x98\x81" ); // Creates the text's model and relais-out the text. const Size relayoutSize( 120.f, 60.f ); @@ -108,7 +111,7 @@ int UtcDaliTextRenderingControllerRender(void) DALI_TEST_CHECK( renderingController ); // Renders the text and creates the final bitmap. - PixelData bitmap = renderingController->Render( relayoutSize ); + PixelData bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); DALI_TEST_CHECK( bitmap ); DALI_TEST_EQUALS( 120u, bitmap.GetWidth(), TEST_LOCATION ); @@ -116,22 +119,22 @@ int UtcDaliTextRenderingControllerRender(void) DALI_TEST_EQUALS( Pixel::RGBA8888, bitmap.GetPixelFormat(), TEST_LOCATION ); // Changes vertical alignment. - controller->SetVerticalAlignment( Layout::VERTICAL_ALIGN_CENTER ); + controller->SetVerticalAlignment( Text::VerticalAlignment::CENTER ); controller->Relayout( relayoutSize ); // Renders the text and creates the final bitmap. - bitmap = renderingController->Render( relayoutSize ); + bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); DALI_TEST_CHECK( bitmap ); DALI_TEST_EQUALS( 120u, bitmap.GetWidth(), TEST_LOCATION ); DALI_TEST_EQUALS( 60u, bitmap.GetHeight(), TEST_LOCATION ); DALI_TEST_EQUALS( Pixel::RGBA8888, bitmap.GetPixelFormat(), TEST_LOCATION ); - controller->SetVerticalAlignment( Layout::VERTICAL_ALIGN_BOTTOM ); + controller->SetVerticalAlignment( Text::VerticalAlignment::BOTTOM ); controller->Relayout( relayoutSize ); // Renders the text and creates the final bitmap. - bitmap = renderingController->Render( relayoutSize ); + bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); DALI_TEST_CHECK( bitmap ); DALI_TEST_EQUALS( 120u, bitmap.GetWidth(), TEST_LOCATION ); @@ -141,3 +144,107 @@ int UtcDaliTextRenderingControllerRender(void) tet_result(TET_PASS); END_TEST; } + +int UtcDaliTextTypesetterVerticalLineAlignment(void) +{ + tet_infoline(" UtcDaliTextTypesetter"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + // Configures the text controller similarly to the text-label. + ConfigureTextLabel( controller ); + + // Sets the text. + controller->SetMarkupProcessorEnabled( true ); + controller->SetText( "Hello world" ); + + // Creates the text's model and relais-out the text. + const Size relayoutSize( 120.f, 60.f ); + controller->Relayout( relayoutSize ); + + // Tests the rendering controller has been created. + TypesetterPtr renderingController = Typesetter::New( controller->GetTextModel() ); + DALI_TEST_CHECK( renderingController ); + + { + controller->SetVerticalLineAlignment( Dali::Toolkit::DevelText::VerticalLineAlignment::TOP ); + controller->Relayout( relayoutSize ); + + // Renders the text and creates the final bitmap. + auto bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); + DALI_TEST_EQUALS( 60u, bitmap.GetHeight(), TEST_LOCATION ); + } + + { + controller->SetVerticalLineAlignment( Dali::Toolkit::DevelText::VerticalLineAlignment::MIDDLE ); + controller->Relayout( relayoutSize ); + + // Renders the text and creates the final bitmap. + auto bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); + DALI_TEST_EQUALS( 60u, bitmap.GetHeight(), TEST_LOCATION ); + } + + { + controller->SetVerticalLineAlignment( Dali::Toolkit::DevelText::VerticalLineAlignment::BOTTOM ); + controller->Relayout( relayoutSize ); + + // Renders the text and creates the final bitmap. + auto bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); + DALI_TEST_EQUALS( 60u, bitmap.GetHeight(), TEST_LOCATION ); + } + + tet_result(TET_PASS); + END_TEST; +} + +int UtcDaliTextTypesetterBitmapFont(void) +{ + tet_infoline("UtcDaliTextTypesetterBitmapFont "); + ToolkitTestApplication application; + + DevelText::BitmapFontDescription fontDescription; + fontDescription.name = "Digits"; + fontDescription.underlinePosition = 0.f; + fontDescription.underlineThickness = 0.f; + fontDescription.isColorFont = true; + + fontDescription.glyphs.push_back( { TEST_RESOURCE_DIR "/fonts/bitmap/u0031.png", "0", 34.f, 0.f } ); + fontDescription.glyphs.push_back( { TEST_RESOURCE_DIR "/fonts/bitmap/u0032.png", "1", 34.f, 0.f } ); + + TextAbstraction::BitmapFont bitmapFont; + DevelText::CreateBitmapFont( fontDescription, bitmapFont ); + + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + fontClient.GetFontId( bitmapFont ); + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + // Configures the text controller similarly to the text-label. + ConfigureTextLabel( controller ); + + // Sets the text. + controller->SetMarkupProcessorEnabled( true ); + controller->SetText( "0" ); + + // Creates the text's model and relais-out the text. + const Size relayoutSize( 31.f, 34.f ); + controller->Relayout( relayoutSize ); + + // Tests the rendering controller has been created. + TypesetterPtr renderingController = Typesetter::New( controller->GetTextModel() ); + DALI_TEST_CHECK( renderingController ); + + controller->Relayout( relayoutSize ); + + // Renders the text and creates the final bitmap. + auto bitmap = renderingController->Render( relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT ); + + DALI_TEST_EQUALS( 31u, bitmap.GetWidth(), TEST_LOCATION ); + DALI_TEST_EQUALS( 34u, bitmap.GetHeight(), TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +}