Add support for span tag 86/257786/12
authorabdullah <abdullahhasan10@gmail.com>
Sun, 2 May 2021 07:08:25 +0000 (10:08 +0300)
committerabdullah <abdullahhasan10@gmail.com>
Thu, 24 Jun 2021 12:04:42 +0000 (15:04 +0300)
commitf91c59cd34c3bc3951661d1b7b7727f4118e095e
tree8becb048ff4fba6261128069ba5710cb2c58c238
parent93ad73e0e2c46aca4c191a1e2f075061e167e8b5
Add support for span tag

support span tag to be used for grouping font properties & text color.
for example :
Hello <span font-size='50' text-color='blue'>World</span>

using namespace Dali;
using namespace Dali::Toolkit;

class SimpleApp : public ConnectionTracker
{
public:
  SimpleApp(Application& application)
  : mApplication(application)
  {
    mApplication.InitSignal().Connect(this, &SimpleApp::Create);
  }

  void Create(Application& application)
  {
    Window window = mApplication.GetWindow();
    mEditor = TextEditor::New();
    mEditor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
    mEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
    mEditor.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
    mEditor.SetProperty(Actor::Property::SIZE, Vector2(300, 300.0f));
    window.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
    mEditor.SetProperty(TextEditor::Property::POINT_SIZE, 26.f);
    mEditor.SetProperty(TextEditor::Property::ENABLE_MARKUP, true);
    mEditor.SetProperty(TextEditor::Property::TEXT, "Hello <span font-size='50' text-color='blue'>World</span>");
    window.Add(mEditor);
  }

private:
  Application& mApplication;
  TextEditor mEditor;
};

int DALI_EXPORT_API main(int argc, char** argv)
{
  Application application = Application::New(&argc, &argv);
  SimpleApp test(application);
  application.MainLoop();

  return 0;
}

Change-Id: Ie1be3e9d980dbca8ee4f0154000f94defd517a7c
automated-tests/src/dali-toolkit-internal/utc-Dali-TextEditor-internal.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextField-internal.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp
dali-toolkit/internal/file.list
dali-toolkit/internal/text/markup-processor-color.cpp
dali-toolkit/internal/text/markup-processor-color.h
dali-toolkit/internal/text/markup-processor-font.cpp
dali-toolkit/internal/text/markup-processor-font.h
dali-toolkit/internal/text/markup-processor-span.cpp [new file with mode: 0644]
dali-toolkit/internal/text/markup-processor-span.h [new file with mode: 0644]
dali-toolkit/internal/text/markup-processor.cpp