ssabah [Wed, 26 Jan 2022 16:00:03 +0000 (18:00 +0200)]
Support paragraph tag <p> in markup
Paragraph tag is used as block of text start & end with new-line (implicitly).
The paragraph tag is nedded to support styles on paragraph level in markup. They are attributes for paragraph tag like: Align, Direction (LTR, RTL), Wrap, etc.
Example:
Text:
"Before paragraph <p>first paragraph</p><p>second paragraph</p><p>new line \n third paragraph</p>After paragraph"
Output:
============================
| Before paragraph |
| first paragraph |
| second paragraph |
| new line |
| third paragraph |
| After paragraph |
============================
How to apply it in TextEditor:
textEditor.SetProperty(TextEditor::Property::ENABLE_MARKUP, true);
textEditor.SetProperty(TextEditor::Property::TEXT, "text one <p>Paragraph two</p> text three <p>Paragraph four</p> text five");
How to apply it in TextLabel:
textLabel.SetProperty(TextLabel::Property::MULTI_LINE, true);
textLabel.SetProperty(TextLabel::Property::ENABLE_MARKUP, true);
textLabel.SetProperty(TextLabel::Property::TEXT, "text one <p>Paragraph two</p> text three <p>Paragraph four</p> text five");
Change-Id: Icee044db488d82646758ccc59a23ce896a3e28c7
ssabah [Wed, 9 Feb 2022 16:24:55 +0000 (18:24 +0200)]
Support Markup Underline attributes
Underline attributes:
- type
- color
- height
- dash-gap
- dash-width
How to apply it:
=========================================================================================
TextLabel textLabel = TextLabel::New();
std::string exampleText =
"START<u>only underline</u>THEN"
"<u type='solid'>type is solid</u>THEN"
"<u type='dashed'>type is dashed</u>THEN"
"<u type='double'>type is double</u>THEN"
"<u color='green'>color is green</u>THEN"
"<u height='5.0f'>height is 5</u>THEN"
"<u type='dashed' dash-gap='3.0f'>dashGap is 3</u>THEN"
"<u type='dashed' dash-width='4.0f'>dashWidth is 4</u>THEN"
"<u color='blue' type='dashed' height='4.0f' dash-gap='2.0f' dash-width='3.0f'>all attributes</u>END";
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::TEXT, exampleText);
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP, true);
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::MULTI_LINE, true);
=========================================================================================
This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/271187
Change-Id: I4ca7f11a1b0eeab51e90b48c3d1bbc470ad628e8
ssabah [Wed, 9 Feb 2022 15:19:37 +0000 (17:19 +0200)]
Refactor some parts in Markup processor
Simplify some functions and reduce duplicated code
Adding some needed common functions
Change-Id: I41104772649633e5bfe864d8b23730f1a4ff26a6
Bowon Ryu [Mon, 21 Feb 2022 08:36:57 +0000 (08:36 +0000)]
Merge "fix issue when strikethrough used without ending tag" into devel/master
Richard Huang [Fri, 18 Feb 2022 11:01:25 +0000 (11:01 +0000)]
DALi Version 2.1.10
Change-Id: I61506710ab37c3676889439d6a167337cf9b648e
joogab.yun [Wed, 26 Jan 2022 06:59:56 +0000 (15:59 +0900)]
For custom wheel events, event propagation starts from the focused actor.
Previously, RotaryEvents could always be received only by window.
Now, User can receive Rotary Events in focused View as well.
It is also possible to propagate events to the parent view.
If there is no focused View, the window will receive the event.
This only applies to Rotary Event(CustomWheel type).
Change-Id: Ifc2f180246bb282efeb5094f970f38b0b76d8dad
David Steele [Mon, 14 Feb 2022 16:34:52 +0000 (16:34 +0000)]
Added prefix matching to test case execution
Change-Id: Ib7ca723ac2236c5d7ee979a94c9b3ad422cfb4bf
joogab yun [Sat, 12 Feb 2022 00:22:23 +0000 (00:22 +0000)]
Merge "Add forward and backward type for Tab, Shift-Tab key" into devel/master
David Steele [Fri, 11 Feb 2022 12:01:50 +0000 (12:01 +0000)]
DALi Version 2.1.9
Change-Id: I9996b14be3ad17fdf2ef701a0cd6876d759e0784
joogab.yun [Wed, 9 Feb 2022 02:01:31 +0000 (11:01 +0900)]
Add forward and backward type for Tab, Shift-Tab key
Change-Id: I3f74f543463c776abf3f1d2a4b5e2ce856868fb4
abdullah [Mon, 7 Feb 2022 14:20:03 +0000 (16:20 +0200)]
fix issue when strikethrough used without ending tag
when we use <s> without ending tag, only one character get strike through,
other tags do not apply the tag at all.
fixed the behavior to be like the other tags.
Change-Id: I94419b923772401af0f0c3e17524521bf2ade892
Heeyong Song [Mon, 7 Feb 2022 08:13:43 +0000 (08:13 +0000)]
Merge "Set http response body in binary format." into devel/master
Eunki, Hong [Fri, 4 Feb 2022 13:59:18 +0000 (22:59 +0900)]
Remove useless API at VideoView - WidthForHeight / HeightForWidth
VideoView::WidthForHeight and VideoView::HeightForWidth
did exactly same jobs as Control::~~~For~~~. So just erase it.
Change-Id: Id741abaf5884651ed921e23727c3a0acf8085f16
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 4 Feb 2022 15:36:03 +0000 (15:36 +0000)]
Merge "DALi Version 2.1.8" into devel/master
Adeel Kazmi [Fri, 4 Feb 2022 13:14:58 +0000 (13:14 +0000)]
DALi Version 2.1.8
Change-Id: I96f2a2922ef0d806886cbbd44168127a689d0373
abdullah [Tue, 1 Feb 2022 12:23:42 +0000 (14:23 +0200)]
Fix strikethrough coloring for Textlabel
Change-Id: If7518092f6e652d5cafa7ed7c8de380e23941c6f
Eunki, Hong [Mon, 24 Jan 2022 06:06:31 +0000 (15:06 +0900)]
New with additional behavior flag for some Controls
Add new "New" function that we can append additional ControlBehaviour
Toolkit::Control::ControlBehaviour was hard-coding. we should change it
as valid type as we can in future.
Current code only works in Control and ImageView and TextLabel.
Change-Id: Iee12d71f699444cd0e85dfa84b485f12086545f2
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 28 Jan 2022 17:06:49 +0000 (17:06 +0000)]
Merge "Reserved Visual properties on renderer creation" into devel/master
Adam Bialogonski [Fri, 28 Jan 2022 12:10:37 +0000 (12:10 +0000)]
DALi Version 2.1.7
Change-Id: If0ebda2cdd6cc14363c1d94faa199986bc0ca424
joogab yun [Thu, 27 Jan 2022 08:00:55 +0000 (08:00 +0000)]
Merge "Add null check for currentFocusActor" into devel/master
joogab.yun [Thu, 27 Jan 2022 06:44:28 +0000 (15:44 +0900)]
Add null check for currentFocusActor
Integration::SceneHolder::Get(currentFocusActor);
it crashes if currentFocusActor is null.
Change-Id: Ia3d5f2e47060bd33ee691ebf36b5e0504b1a4a7d
Bowon Ryu [Thu, 27 Jan 2022 01:19:30 +0000 (01:19 +0000)]
Merge "Adding Character Spacing" into devel/master
Bowon Ryu [Wed, 26 Jan 2022 03:17:19 +0000 (03:17 +0000)]
Merge "Add SelectionStarted signal" into devel/master
abdullah [Mon, 17 Jan 2022 15:24:25 +0000 (17:24 +0200)]
Add SelectionStarted signal
added signal which will be called when selection started
void OnSelectionStarted(TextEditor textEditor)
Change-Id: I1ec070f5ebba419d8da2a75693c9c94d8f7f16bb
David Steele [Tue, 25 Jan 2022 11:24:59 +0000 (11:24 +0000)]
Reserved Visual properties on renderer creation
Ensured that the visual properties are reserved prior to registration,
this will prevent reallocation during creation, and save a little time.
Change-Id: I4010d4dd145c723e2c8be9231487ccd603be8f8c
Signed-off-by: David Steele <david.steele@samsung.com>
Sara Samara [Tue, 6 Jul 2021 08:48:26 +0000 (11:48 +0300)]
Adding Character Spacing
***********************************************************
Description:
Adding the CHARACTER_SPACING for text-editor, text-field and text-label.
CHARACTER_SPACING determines the spaces between characters.
A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
The sample code below can be used to test the CHARACTER_SPACING.
***********************************************************
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, "A long text that exceeds the editor's width.");
mEditor.SetProperty(DevelTextEditor::Property::CHARACTER_SPACING, 15.0f);
// mLabel = TextLabel::New();
// mLabel.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
// mLabel.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
// mLabel.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
// mLabel.SetProperty(Actor::Property::SIZE, Vector2(400.f, 200.0f));
// mLabel.SetProperty(TextLabel::Property::TEXT_COLOR, Color::BLACK);
// mLabel.SetProperty(TextLabel::Property::TEXT, "A long text text text that exceeds the label's width.");
// mLabel.SetProperty(DevelTextLabel::Property::CHARACTER_SPACING, 10.0f);
// mLabel.SetProperty(TextLabel::Property::ELLIPSIS, false);
// mField = TextField::New();
// mField.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
// mField.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
// mField.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
// mField.SetProperty(Actor::Property::SIZE, Vector2(200.f, 100.0f));
// mField.SetProperty(TextField::Property::TEXT, "A long text text text that exceeds the field's width.");
// mField.SetProperty(DevelTextField::Property::CHARACTER_SPACING, 10.0f);
// mField.SetProperty(TextField::Property::ELLIPSIS, false);
//window.Add(mLabel);
window.Add(mEditor);
//window.Add(mField);
}
bool OnButtonClicked(Button button)
{
if (button == mButton)
{
Vector3 originalSize = mEditor.GetNaturalSize();
}
return true;
}
private:
Application &mApplication;
TextEditor mEditor;
PushButton mButton;
TextField mField;
TextLabel mLabel;
};
int DALI_EXPORT_API main(int argc, char **argv)
{
Application application = Application::New(&argc, &argv);
SimpleApp test(application);
application.MainLoop();
return 0;
}
Change-Id: Ibd89f1398e391dc56e3a230c7a136cfe07edc37a
Bowon Ryu [Mon, 24 Jan 2022 11:02:52 +0000 (11:02 +0000)]
Merge "fix wrong description in text-style" into devel/master
huayong.xu [Wed, 19 Jan 2022 10:28:16 +0000 (18:28 +0800)]
Set http response body in binary format.
Change-Id: Idedacaae4d62f96c098d6a1684a7c2ebdac5f598
Seoyeon Kim [Mon, 24 Jan 2022 05:37:44 +0000 (05:37 +0000)]
Merge "[AT-SPI] Remove GetBoundAccessibilityObject" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 05:21:25 +0000 (14:21 +0900)]
fix wrong description in text-style
the default dash width is 2 pixels
Change-Id: I91c4a1458f354c67ea8348fad29dc65a8e079711
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Mon, 24 Jan 2022 01:46:16 +0000 (01:46 +0000)]
Merge "Fix svace issue on text-visual" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 01:46:11 +0000 (01:46 +0000)]
Merge "Fix svace issue on text controller" into devel/master
Adeel Kazmi [Fri, 21 Jan 2022 16:15:01 +0000 (16:15 +0000)]
Merge "Synchronizing test harness" into devel/master
Artur Świgoń [Fri, 21 Jan 2022 09:59:38 +0000 (10:59 +0100)]
[AT-SPI] Remove GetBoundAccessibilityObject
It is unclear what purpose this function meant to serve, but its
documentation is misleading, because it does exactly the same thing
as Accessible::Get.
Change-Id: I80c86851bd83bf98f47e6698893cc3e85e7c80da
Lukasz Oleksak [Fri, 21 Jan 2022 12:28:18 +0000 (12:28 +0000)]
Merge "[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged" into devel/master
David Steele [Fri, 21 Jan 2022 11:38:00 +0000 (11:38 +0000)]
Synchronizing test harness
Change-Id: Icf349509f0c61595b2b8a756e560825b7ea82bf7
David Steele [Fri, 21 Jan 2022 11:51:12 +0000 (11:51 +0000)]
Merge "DALi Version 2.1.6" into devel/master
Richard Huang [Fri, 21 Jan 2022 11:44:40 +0000 (11:44 +0000)]
DALi Version 2.1.6
Change-Id: Ib6d2323dac18ead1433c30de6f45baf13a5bdc6b
Artur Świgoń [Fri, 21 Jan 2022 09:55:46 +0000 (10:55 +0100)]
[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged
Change-Id: I3151a873ced92e3e9c9b51fae0262abd1f4b3a8c
Artur Świgoń [Fri, 21 Jan 2022 10:52:02 +0000 (10:52 +0000)]
Merge "[AT-SPI] Mark text cursors as ACCESSIBILITY_HIDDEN" into devel/master
Artur Świgoń [Fri, 21 Jan 2022 09:21:13 +0000 (09:21 +0000)]
Merge "[AT-SPI] Notify parent Accessible when ACCESSIBILITY_HIDDEN is set" into devel/master
Bowon Ryu [Fri, 21 Jan 2022 08:14:27 +0000 (17:14 +0900)]
Fix svace issue on text-visual
add null check
Change-Id: I8b98c0705a43a54e36d6aa316d4262ed52914af5
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Fri, 21 Jan 2022 07:44:41 +0000 (16:44 +0900)]
Fix svace issue on text controller
uninitialized scalar field
Change-Id: I777e5485cb432d33c45a4191ef0beea22152c1fd
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
David Steele [Thu, 20 Jan 2022 15:59:40 +0000 (15:59 +0000)]
Merge "Improved visual base property registration speed" into devel/master
Adeel Kazmi [Thu, 20 Jan 2022 15:34:16 +0000 (15:34 +0000)]
Merge "Forced all ControlWrapper instances to ignore styling" into devel/master
David Steele [Thu, 20 Jan 2022 14:06:07 +0000 (14:06 +0000)]
Forced all ControlWrapper instances to ignore styling
This turns off all native styling for NUI Views.
Change-Id: I28edb8401bad6a732bc6e1f2922740e02ffb8c6b
Signed-off-by: David Steele <david.steele@samsung.com>
David Steele [Wed, 19 Jan 2022 13:57:27 +0000 (13:57 +0000)]
Improved visual base property registration speed
Time taken to register visual properties was longer than needed
(No need to perform string matching to check for unique names)
Used new RegisterUniqueProperty API to remove unneeded check.
Change-Id: I2f12a8deb55bc118c0472871e872d1eb29b801a5
Signed-off-by: David Steele <david.steele@samsung.com>
Bowon Ryu [Wed, 19 Jan 2022 11:42:23 +0000 (11:42 +0000)]
Merge "support strikethrough markup tag" into devel/master
Artur Świgoń [Tue, 4 Jan 2022 09:36:43 +0000 (10:36 +0100)]
[AT-SPI] Mark text cursors as ACCESSIBILITY_HIDDEN
The text cursor is not an object the Accessibility user can directly
interact with, so it can be hidden from the AT-SPI tree. As an added
benefit, "signal: object:state-changed:visible" for the cursor object
will not be emitted on DBus twice every blink.
Change-Id: Ib148a8bac920cc9fb8c0f6f7158d62c20d995e6c
Artur Świgoń [Wed, 29 Dec 2021 08:24:26 +0000 (09:24 +0100)]
[AT-SPI] Notify parent Accessible when ACCESSIBILITY_HIDDEN is set
Change-Id: I61184a56b2529a2eba19fdf09676f606834f0fb7
Artur Świgoń [Thu, 13 Jan 2022 14:29:55 +0000 (15:29 +0100)]
Replace obsolete safe bool idiom with explicit operator bool
C++11 introduces 'explicit operator bool' to prevent unintended implicit
conversions to 'bool', thus making the trick with converting to a
pointer-to-member (a.k.a. "safe bool idiom") obsolete.
The explicit operator is more restrictive than 'safe bool', and it
helped uncover a bug in the test suite where object handles were
implicitly converted to bool before being sent to an std::ostream.
Change-Id: I2bbb60d6b97e920dc08b641031304b1e07f8a2cd
David Steele [Fri, 14 Jan 2022 15:40:33 +0000 (15:40 +0000)]
DALi Version 2.1.5
Change-Id: I308a8aff18dae9775050a62348ed3b76283c702e
abdullah [Wed, 23 Jun 2021 12:45:00 +0000 (15:45 +0300)]
support strikethrough markup tag
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.SetProperty(TextEditor::Property::TEXT_COLOR, Vector4(0.00f, 0.0f, 1.0f, 1.0f));
mEditor.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
mEditor.SetProperty(TextEditor::Property::ENABLE_MARKUP, true);
mEditor.SetProperty(TextEditor::Property::TEXT, "H<s>el</s>lo <s>World</s>");
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: I4ad7c2ea2f65bc54765ffcc2b2aa177ea84138df
Bowon Ryu [Thu, 13 Jan 2022 05:53:38 +0000 (05:53 +0000)]
Merge "Extending Text Styles - Adding Dashed/Double Underline" into devel/master
Eunki, Hong [Tue, 11 Jan 2022 17:40:53 +0000 (02:40 +0900)]
Unregister visual directly when IMAGE have invalid value
Current code unregist visual only if we use empty Property::Map.
This patch make empty (or invalid) Property::Value also unregist visual.
Change-Id: Idddd7b4158e68ed0f9a51e825a5a1141cdbff8de
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Sara Samara [Wed, 28 Apr 2021 11:13:54 +0000 (14:13 +0300)]
Extending Text Styles - Adding Dashed/Double Underline
***********************************************************
Description:
Adding the dashed & double underlines for the text-editor and the text-label.
The sample code below can be used to test the underline using the property maps.
the type can be specified to be DASHED or DOUBLE and if left unspecified,
the default is the SOLID underline.
Other params can be specified such as the color, color2, type, width
and gap. Their defaults are respectively: black, black, SOLID, 2 and 1.
***********************************************************
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));
//text editor dashed underline
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, "Sara");
//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, "Sara");
// use the code below for the text-editor
Property::Map underlineMapSet;
underlineMapSet.Insert("enable", true);
underlineMapSet.Insert("color", Color::RED);
underlineMapSet.Insert("height", 1);
underlineMapSet.Insert("type", Text::Underline::DASHED);
underlineMapSet.Insert("dashWidth", 5);
underlineMapSet.Insert("dashGap", 3);
mEditor.SetProperty(TextEditor::Property::UNDERLINE, underlineMapSet);
//use the code below for the text-label
// Property::Map underlineMapSet;
// underlineMapSet.Insert("enable",true);
// underlineMapSet.Insert("color", Color::RED);
// underlineMapSet.Insert("height", 1);
// underlineMapSet.Insert("type", Text::Underline::DASHED);
// underlineMapSet.Insert("dashWidth", 5);
// underlineMapSet.Insert("dashGap", 3);
// label.SetProperty(TextLabel::Property::UNDERLINE, underlineMapSet);
//window.Add(label);
window.Add(mEditor);
}
bool OnButtonClicked(Button button)
{
if(button == mButton)
{
Vector3 originalSize = mEditor.GetNaturalSize();
}
return true;
}
private:
Application& mApplication;
TextEditor mEditor;
PushButton mButton;
};
int DALI_EXPORT_API main(int argc, char** argv)
{
Application application = Application::New(&argc, &argv);
SimpleApp test(application);
application.MainLoop();
return 0;
}
***********************************************************
Change-Id: Ie89bcf532ffc3d5ad19d7b39261ac10f4f1b2fda
Seoyeon Kim [Tue, 11 Jan 2022 06:45:21 +0000 (06:45 +0000)]
Merge "Add a callback for navigation policy in web view." into devel/master
Bowon Ryu [Mon, 10 Jan 2022 10:32:53 +0000 (10:32 +0000)]
Merge "Extending Style - Adding Strikethrough" into devel/master
David Steele [Fri, 7 Jan 2022 10:19:16 +0000 (10:19 +0000)]
Merge "DALi Version 2.1.4" into devel/master
Adam Bialogonski [Fri, 7 Jan 2022 10:05:41 +0000 (10:05 +0000)]
DALi Version 2.1.4
Change-Id: I3144cd32c56d0226f545406e8afd7cc6f9a864bd
Bowon Ryu [Fri, 7 Jan 2022 02:45:45 +0000 (02:45 +0000)]
Merge "Add ENABLE_FONT_SIZE_SCALE property to text components" into devel/master
Bowon Ryu [Fri, 7 Jan 2022 02:44:34 +0000 (02:44 +0000)]
Merge "Fix text written below cursor bug" into devel/master
abdullah [Mon, 3 Jan 2022 14:20:42 +0000 (16:20 +0200)]
Fix text written below cursor bug
***********************************************************
Description:
When we use different font sizes with min line size, text in the new line gets written below the cursor position.
Please use the code below to generate the issue.
***********************************************************
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.SetProperty( TextField::Property::TEXT, "H<span font-size='45' font-family='DejaVu Sans' font-width='condensed' font-slant='italic' text-color='red'>ello</span> Span\n <span font-size='50' text-color='red'>S</span> \n" );//issue here with the y position after the new line
mEditor.SetProperty(TextEditor::Property::ENABLE_MARKUP, true);
mEditor.SetProperty(TextEditor::Property::POINT_SIZE, 15.0f);
mEditor.SetBackgroundColor(Color::WHITE);
mEditor.SetProperty(DevelTextEditor::Property::MIN_LINE_SIZE, 50.f);
window.Add(mEditor);
}
bool OnButtonClicked(Button button)
{
if (button == mButton)
{
Vector3 originalSize = mEditor.GetNaturalSize();
}
return true;
}
private:
Application &mApplication;
TextEditor mEditor;
PushButton mButton;
TextField mField;
};
int DALI_EXPORT_API main(int argc, char **argv)
{
Application application = Application::New(&argc, &argv);
SimpleApp test(application);
application.MainLoop();
return 0;
}
***********************************************************
Change-Id: I2868f923e38d9ecc14bf738959f24be015b754fd
Bowon Ryu [Thu, 6 Jan 2022 05:36:34 +0000 (14:36 +0900)]
Add ENABLE_FONT_SIZE_SCALE property to text components
for current, FONT_SIZE_SCALE is applied to all text.
Add ENABLE_FONT_SIZE_SCALE to selectively apply FONT_SIZE_SCALE from SystemSettings.
Change-Id: If8d2574fcdeaa98ff4645ff03eec78e1bc265c3e
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
sunghyun kim [Thu, 6 Jan 2022 04:49:03 +0000 (04:49 +0000)]
Merge "Refactorying code related to broken image" into devel/master
tscholb [Tue, 23 Nov 2021 07:10:10 +0000 (16:10 +0900)]
Refactorying code related to broken image
- Use default broken image when the url of custom broken is invalid
- Create a npatch-helper for merging npatch code
Change-Id: I21f33392f864996e8419715b40e66a5d16eccb6a
Eunki, Hong [Fri, 31 Dec 2021 08:04:38 +0000 (17:04 +0900)]
Unregist visual directly when IMAGE have empty map
Directly unregist visual when Property::IMAGE have empty map.
This code just follow up the action of control's Property::BACKGROUND doing.
When map is empty, the visual cannot be created. So it will always unregist visual before.
This patch just unregist the IMAGE's visual directly.
This will not print error message when NUI try to Unregist imagevisual
Change-Id: Ifdabbf3555a4471b0d3cf1da7b3f405a5e91553b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki Hong [Wed, 5 Jan 2022 05:47:03 +0000 (05:47 +0000)]
Merge "Make DoCreatePropertyMap use index key" into devel/master
Artur Świgoń [Mon, 22 Nov 2021 10:04:15 +0000 (11:04 +0100)]
[AT-SPI] Add DevelControl::Property::ACCESSIBILITY_HIDDEN
Change-Id: Ib9e67ae2bda4e38d9f5eed3cf0977948b3573eac
Artur Świgoń [Fri, 24 Dec 2021 11:03:44 +0000 (12:03 +0100)]
[AT-SPI] Derive ControlAccessible from ActorAccessible
A related dali-adaptor change adds the ActorAccessible class and moves
duplicated code (in AdaptorAccessible and ControlAccessible) from
AdaptorAccessible to ActorAccessible.
Change-Id: If1f62e9d832df61f95d814fde229859729855c45
Bowon Ryu [Mon, 3 Jan 2022 04:54:03 +0000 (13:54 +0900)]
Avoid integer overflow in cursor helper functions
Since index is uint, it can causes problems if totalNumberOfCharacters is 0.
Change-Id: I3a815474a42ddea9f02ab1e358f7edf8ec0f8dac
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Eunki, Hong [Fri, 31 Dec 2021 06:55:08 +0000 (15:55 +0900)]
Make DoCreatePropertyMap use index key
Only image-visual's SynchronousLoading used string key.
It is related with TizenFX's implementation.
It is outlier. So we should change both of them
Change-Id: Iedd002fb24c945cc1fdac94c38ec04198536b4a2
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Seoyeon Kim [Tue, 28 Dec 2021 04:30:06 +0000 (04:30 +0000)]
Merge "Set focusable to true when touched in default." into devel/master
huayong.xu [Mon, 27 Dec 2021 11:53:56 +0000 (19:53 +0800)]
Set focusable to true when touched in default.
Change-Id: Ie9c333b5a0f760434a25d3519b8edee0c22bc6d1
Sara Samara [Sun, 9 May 2021 06:10:54 +0000 (09:10 +0300)]
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
huayong.xu [Thu, 23 Dec 2021 10:28:59 +0000 (18:28 +0800)]
Add a callback for navigation policy in web view.
Change-Id: I47b8c2870e1eeff891957cbdfdfce96504b61b41
Artur Świgoń [Fri, 3 Dec 2021 13:00:20 +0000 (14:00 +0100)]
[AT-SPI] Synchronize with AT-SPI cleanup in dali-adaptor
A related dali-adaptor change adds const-correctness and introduces a
new, more coherent naming convention for Accessible objects. The name
ControlAccessible now matches ApplicationAccessible, ProxyAccessible
etc. and the upcoming ActorAccessible.
Change-Id: I63a6887e1c291fbfb475fd8c2384126a31981d6b
Bowon Ryu [Thu, 23 Dec 2021 02:16:39 +0000 (02:16 +0000)]
Merge "Fix text cursor position issue" into devel/master
Bowon Ryu [Tue, 21 Dec 2021 11:10:38 +0000 (20:10 +0900)]
Fix text cursor position issue
When the size or direction of text is changed,
all decorator elements should be updated.
Change-Id: Ib2fb61f684801c5743762df67e8e6d53399c8098
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Seungho BAEK [Wed, 22 Dec 2021 04:39:17 +0000 (04:39 +0000)]
Merge "Refactoring TextureUploadObserver." into devel/master
Seungho BAEK [Wed, 22 Dec 2021 04:39:11 +0000 (04:39 +0000)]
Merge "Remove .clang-format file from toolkit/automated-tests" into devel/master
Lukasz Oleksak [Fri, 17 Dec 2021 14:36:42 +0000 (14:36 +0000)]
Merge "[AT-SPI] Update #include paths to AT-SPI interfaces" into devel/master
Adeel Kazmi [Fri, 17 Dec 2021 06:58:44 +0000 (06:58 +0000)]
DALi Version 2.1.3
Change-Id: I6c27effcb052b5f4d4732cd13330b2531dccb200
seungho [Fri, 17 Dec 2021 04:03:52 +0000 (13:03 +0900)]
Refactoring TextureUploadObserver.
- Use unified method for any request.
Change-Id: Ief4b744cd42b9184f83ba0ac0ba3436befd2aa61
Signed-off-by: seungho <sbsh.baek@samsung.com>
seungho [Fri, 17 Dec 2021 04:08:58 +0000 (13:08 +0900)]
Remove .clang-format file from toolkit/automated-tests
Change-Id: Id90b45de110a60c6407e2994698be298aa55dae8
Signed-off-by: seungho <sbsh.baek@samsung.com>
Artur Świgoń [Fri, 10 Dec 2021 17:24:27 +0000 (18:24 +0100)]
[AT-SPI] Update #include paths to AT-SPI interfaces
A related dali-adaptor change splits accessibility-impl.h so that there
is one header file per AT-SPI interface.
Change-Id: Iffcbf190e8c7ed3098c0c5109c35ffbdd154e1d4
Bowon Ryu [Thu, 16 Dec 2021 06:22:46 +0000 (06:22 +0000)]
Merge "Fixing Bug: Caret is too big with LineSpacing" into devel/master
joogab yun [Thu, 16 Dec 2021 02:32:45 +0000 (02:32 +0000)]
Merge "Changed GetNearestFocusableActor interface to receive rootActor" into devel/master
Sara Samara [Wed, 15 Sep 2021 10:29:23 +0000 (13:29 +0300)]
Fixing Bug: Caret is too big with LineSpacing
***********************************************************
Description
When using LineSpacing or MinLineSize the caret size is too big and does not look good.
The primary cursor height was obtaining its height from the line height (which includes the line spacing).
I've modified it to obtain the height from the default font height.
Please use the code below to test the issue and its fix.
***********************************************************
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.SetProperty(TextEditor::Property::TEXT, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n");
mEditor.SetProperty(TextEditor::Property::ENABLE_MARKUP, true);
mEditor.SetProperty(TextEditor::Property::POINT_SIZE, 40.0f);
mEditor.SetBackgroundColor(Color::WHITE);
mEditor.SetProperty( DevelTextEditor::Property::MIN_LINE_SIZE, 50.f );
window.Add(mEditor);
}
bool OnButtonClicked(Button button)
{
if(button == mButton)
{
Vector3 originalSize = mEditor.GetNaturalSize();
}
return true;
}
private:
Application &mApplication;
TextEditor mEditor;
PushButton mButton;
TextField mField;
};
int DALI_EXPORT_API main(int argc, char** argv)
{
Application application = Application::New(&argc, &argv);
SimpleApp test(application);
application.MainLoop();
return 0;
}
Change-Id: I8d8accbef03b69ba4e77f4f891bae08e37f93a00
Lukasz Oleksak [Wed, 1 Dec 2021 11:51:36 +0000 (12:51 +0100)]
[ATSPI] Fix for DefaultLabel
This patch:
* replaces usage of existing API AddPopup()/RemovePopup() by RegisterDefaultLabel()/UnregisterDefaultLabel() which has wider applicability (not only for popups)
* extends test utils to allow write tests that emit window:activate / window:deactivate events
Related patches:
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/267321/
Change-Id: Ibae793c10d2f29fdd4af32fc69d518e247b54633
Bowon Ryu [Wed, 15 Dec 2021 09:04:49 +0000 (09:04 +0000)]
Merge "Set FullRelayoutNeeded after GetNaturalSize/GetHeightForWidth to avoid the backup/restore of fields in visual-model." into devel/master
Eunki, Hong [Wed, 15 Dec 2021 02:48:46 +0000 (11:48 +0900)]
Fix svace issue on text-geometry (unsigned int < 0)
CharacterIndex type is unsigned int. So it cannot be negative
Change-Id: I9f9c6868f103ee45695a4fd87dc4cafd0819f471
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
joogab.yun [Tue, 14 Dec 2021 05:02:16 +0000 (14:02 +0900)]
Changed GetNearestFocusableActor interface to receive rootActor
Change-Id: I7994d630cc9544ae048d3fbb4415e393d9870b2b
Eunki, Hong [Fri, 10 Dec 2021 06:45:14 +0000 (15:45 +0900)]
DoAction can chage CornerRadius/Borderline/BlurRadius
we can update properies by DoAction(DevelVisual::Action::UPDATE_PROPERTY).
It is not an usual case, but we may need to prepare of NUI code fix.
(There is some related issue at NUI ImageView)
Here, I update some properies that need to update shader.
We don't want to change the shader many times.
(ex : DoAction with CornerRadius = 1.0f, and DoAction 0.0f after that, and repeat.)
So if someone update properies by DoAction API, turn on
mAlwaysUseXXX = true so shader will not be previous shader anymore.
(This is same logic when these properies are animated.)
Change-Id: I963930f261982d50bd647e4ba7ed4e476dd8898d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Eunki, Hong [Tue, 7 Dec 2021 11:37:48 +0000 (20:37 +0900)]
Fix const table size bug in button + Erase annoying message
Fix unmatched const static table value in button-impl.cpp
+
Remove annoying error message when we change button visual
Change-Id: I97acc25b73395799bef46a03a09739a6708359da
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Bowon Ryu [Mon, 13 Dec 2021 03:49:30 +0000 (03:49 +0000)]
Merge "Add support for text geometry" into devel/master
Seungho BAEK [Fri, 10 Dec 2021 13:26:41 +0000 (13:26 +0000)]
Merge "Cache for the synchronous loading." into devel/master
Richard Huang [Fri, 10 Dec 2021 11:58:43 +0000 (11:58 +0000)]
DALi Version 2.1.2
Change-Id: Ie5ce75faddc5f04c4d1a13c326deb160281d6343
seungho [Wed, 24 Nov 2021 11:06:06 +0000 (20:06 +0900)]
Cache for the synchronous loading.
Change-Id: Id793b3bcb72639d3c7a163196e29bdcf7d94718e
Signed-off-by: seungho <sbsh.baek@samsung.com>
abdullah [Mon, 22 Nov 2021 07:10:51 +0000 (09:10 +0200)]
Add support for text geometry
Added the following requested API's for text geometry :
GetTextSize();
GetTextPosition();
above API's could return a list of values in case of :
1-multiline, each line in a separate value.
2-mixed text of LTR & RTL, each contiguous block of the same direction has a separate value.
note that above API's returns values based on the current rendered text position/size.
Change-Id: I1ee9d26954d529bb81c72647dbc9f09ccc8e35ac