+ DALI_TEST_CHECK(NULL != model);
+
+ tet_result(TET_PASS);
+ END_TEST;
+}
+
+int UtcDaliTextRenderingControllerRenderRGBA(void)
+{
+ tet_infoline(" UtcDaliTextRenderingControllerRenderRGBA");
+ ToolkitTestApplication application;
+
+ // Load some fonts.
+ TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
+
+ char* pathNamePtr = get_current_dir_name();
+ const std::string pathName(pathNamePtr);
+ free(pathNamePtr);
+
+ 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.
+ ControllerPtr controller = Controller::New();
+
+ // Configures the text controller similarly to the text-label.
+ ConfigureTextLabel(controller);
+
+ // Sets the text.
+ controller->SetMarkupProcessorEnabled(true);
+ controller->SetText("<font family='TizenSansRegular'>Hello world </font><font family='BreezeColorEmoji'>\xF0\x9F\x98\x81</font>");
+
+ // 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);
+
+ // Renders the text and creates the final bitmap.
+ PixelData 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);
+
+ // Changes vertical alignment.
+ controller->SetVerticalAlignment(Text::VerticalAlignment::CENTER);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ 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(Text::VerticalAlignment::BOTTOM);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ 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);
+
+ tet_result(TET_PASS);
+ END_TEST;
+}
+
+int UtcDaliTextRenderingControllerRenderLuminance(void)
+{
+ tet_infoline(" UtcDaliTextRenderingControllerRenderLuminance");
+ ToolkitTestApplication application;
+
+ // Load some fonts.
+ TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
+
+ char* pathNamePtr = get_current_dir_name();
+ const std::string pathName(pathNamePtr);
+ free(pathNamePtr);
+
+ 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.
+ ControllerPtr controller = Controller::New();
+
+ // Configures the text controller similarly to the text-label.
+ ConfigureTextLabel(controller);
+
+ // Sets the text.
+ controller->SetMarkupProcessorEnabled(true);
+ controller->SetText("<font family='TizenSansRegular'>Hello world </font><font family='BreezeColorEmoji'>\xF0\x9F\x98\x81</font>");
+
+ // 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);
+
+ // Renders the text and creates the final bitmap.
+ PixelData bitmap = renderingController->Render(relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT, Typesetter::RENDER_TEXT_AND_STYLES, false, Pixel::L8);
+ DALI_TEST_CHECK(bitmap);
+
+ DALI_TEST_EQUALS(120u, bitmap.GetWidth(), TEST_LOCATION);
+ DALI_TEST_EQUALS(60u, bitmap.GetHeight(), TEST_LOCATION);
+ DALI_TEST_EQUALS(Pixel::L8, bitmap.GetPixelFormat(), TEST_LOCATION);
+
+ // Changes vertical alignment.
+ controller->SetVerticalAlignment(Text::VerticalAlignment::CENTER);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ bitmap = renderingController->Render(relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT, Typesetter::RENDER_TEXT_AND_STYLES, false, Pixel::L8);
+ DALI_TEST_CHECK(bitmap);
+
+ DALI_TEST_EQUALS(120u, bitmap.GetWidth(), TEST_LOCATION);
+ DALI_TEST_EQUALS(60u, bitmap.GetHeight(), TEST_LOCATION);
+ DALI_TEST_EQUALS(Pixel::L8, bitmap.GetPixelFormat(), TEST_LOCATION);
+
+ controller->SetVerticalAlignment(Text::VerticalAlignment::BOTTOM);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ bitmap = renderingController->Render(relayoutSize, Toolkit::DevelText::TextDirection::LEFT_TO_RIGHT, Typesetter::RENDER_TEXT_AND_STYLES, false, Pixel::L8);
+ DALI_TEST_CHECK(bitmap);
+
+ DALI_TEST_EQUALS(120u, bitmap.GetWidth(), TEST_LOCATION);
+ DALI_TEST_EQUALS(60u, bitmap.GetHeight(), TEST_LOCATION);
+ DALI_TEST_EQUALS(Pixel::L8, bitmap.GetPixelFormat(), TEST_LOCATION);
+
+ tet_result(TET_PASS);
+
+ END_TEST;
+}
+
+int UtcDaliTextRenderingControllerRenderWithCompressRGBA(void)
+{
+ EnvironmentVariable::SetTestEnvironmentVariable(DALI_RENDERED_GLYPH_COMPRESS_POLICY, "m");
+
+ tet_infoline(" UtcDaliTextRenderingControllerRenderWithCompressRGBA");
+ ToolkitTestApplication application;
+
+ // Load some fonts.
+ TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
+
+ char* pathNamePtr = get_current_dir_name();
+ const std::string pathName(pathNamePtr);
+ free(pathNamePtr);
+
+ 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.
+ ControllerPtr controller = Controller::New();
+
+ // Configures the text controller similarly to the text-label.
+ ConfigureTextLabel(controller);
+
+ // Sets the text.
+ controller->SetMarkupProcessorEnabled(true);
+ controller->SetText("<font family='TizenSansRegular'>Hello world </font><font family='BreezeColorEmoji'>\xF0\x9F\x98\x81</font>");
+
+ // 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);
+
+ // Renders the text and creates the final bitmap.
+ PixelData 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);
+
+ // Changes vertical alignment.
+ controller->SetVerticalAlignment(Text::VerticalAlignment::CENTER);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ 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(Text::VerticalAlignment::BOTTOM);
+ controller->Relayout(relayoutSize);
+
+ // Renders the text and creates the final bitmap.
+ 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);