Extending Style - Adding Strikethrough 31/258031/35
authorSara Samara <sara.samara@samsung.com>
Sun, 9 May 2021 06:10:54 +0000 (09:10 +0300)
committerabdullah <abdullahhasan10@gmail.com>
Sun, 26 Dec 2021 15:17:47 +0000 (17:17 +0200)
commitfb87251cfeff34418a36798700b81786e522018a
tree55e52e9606e8addf1d153e299b3185768c08d472
parent4aa7dae72975311995ca1d20f4057735862f174b
Extending Style - Adding Strikethrough

***********************************************************
Description:
Adding the strikethrough for the text-editor and the text-label.
The sample code below can be used to test the strikethrough using the property maps.
The following can be used in the property map: enable and color.
***********************************************************

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 = application.GetWindow();
    window.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));

    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(200.f, 100.0f));
    mEditor.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
    mEditor.SetProperty(TextEditor::Property::TEXT, "Hello");

    // new label code
    TextLabel label = TextLabel::New();
    label.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
    label.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
    label.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
    label.SetProperty(Actor::Property::SIZE, Vector2(200.f, 100.0f));
    label.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
    label.SetProperty(TextEditor::Property::TEXT, "Hello");

    //editor property map
    // Property::Map strikethruMapSet;
    // strikethruMapSet.Insert("enable", true);
    // strikethruMapSet.Insert("color", Color::RED);
    // mEditor.SetProperty(TextEditor::Property::STRIKETHROUGH, strikethruMapSet);

    Property::Map strikethruMapSet;
    strikethruMapSet.Insert("enable",true);
    strikethruMapSet.Insert("color",Vector4(0.75f, 0.96f, 1.f, 1.f));
    label.SetProperty(TextLabel::Property::STRIKETHROUGH, strikethruMapSet);

    window.Add(label);
    //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: I8de5088c1de0c042573c925a92a4829b67e00624
43 files changed:
automated-tests/src/dali-toolkit/utc-Dali-TextEditor.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp
automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp
dali-toolkit/devel-api/controls/text-controls/text-editor-devel.h
dali-toolkit/devel-api/controls/text-controls/text-field-devel.h
dali-toolkit/devel-api/controls/text-controls/text-label-devel.h
dali-toolkit/devel-api/controls/text-controls/text-style-properties-devel.h
dali-toolkit/devel-api/visuals/text-visual-properties-devel.h
dali-toolkit/internal/controls/text-controls/text-editor-impl.cpp
dali-toolkit/internal/controls/text-controls/text-editor-property-handler.cpp
dali-toolkit/internal/controls/text-controls/text-field-impl.cpp
dali-toolkit/internal/controls/text-controls/text-field-property-handler.cpp
dali-toolkit/internal/controls/text-controls/text-label-impl.cpp
dali-toolkit/internal/graphics/shaders/text-visual-multi-color-text-with-style-shader.frag
dali-toolkit/internal/graphics/shaders/text-visual-single-color-text-with-style-and-emoji-shader.frag
dali-toolkit/internal/graphics/shaders/text-visual-single-color-text-with-style-shader.frag
dali-toolkit/internal/text/input-style.h
dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp
dali-toolkit/internal/text/rendering/text-typesetter.cpp
dali-toolkit/internal/text/rendering/text-typesetter.h
dali-toolkit/internal/text/rendering/view-model.cpp
dali-toolkit/internal/text/rendering/view-model.h
dali-toolkit/internal/text/text-controller-impl.h
dali-toolkit/internal/text/text-controller.cpp
dali-toolkit/internal/text/text-controller.h
dali-toolkit/internal/text/text-effects-style.cpp
dali-toolkit/internal/text/text-effects-style.h
dali-toolkit/internal/text/text-model-interface.h
dali-toolkit/internal/text/text-model.cpp
dali-toolkit/internal/text/text-model.h
dali-toolkit/internal/text/text-view-interface.h
dali-toolkit/internal/text/text-view.cpp
dali-toolkit/internal/text/text-view.h
dali-toolkit/internal/text/visual-model-impl.cpp
dali-toolkit/internal/text/visual-model-impl.h
dali-toolkit/internal/visuals/text/text-visual.cpp
dali-toolkit/internal/visuals/text/text-visual.h
dali-toolkit/internal/visuals/visual-string-constants.cpp
dali-toolkit/internal/visuals/visual-string-constants.h
dali-toolkit/public-api/controls/text-controls/text-editor.h
dali-toolkit/public-api/controls/text-controls/text-field.h
dali-toolkit/public-api/controls/text-controls/text-label.h
dali-toolkit/public-api/visuals/text-visual-properties.h