platform/core/uifw/dali-toolkit.git
19 months agoFix NPatch Auxiliary UTC 22/273422/6
Eunki, Hong [Tue, 5 Apr 2022 11:58:11 +0000 (20:58 +0900)]
Fix NPatch Auxiliary UTC

Change-Id: I8aa5907f50375933d4f8f54dd2fb3bdc71345283
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoMake n-patch image show broken image 83/273283/5
Eunki, Hong [Fri, 1 Apr 2022 13:27:23 +0000 (22:27 +0900)]
Make n-patch image show broken image

Due to the visual-factory-cache.cpp's UpdateBorkenImageRenderer assumed that
inputed renderer is normal image's renderer,
n-patch visual didn't show broken image well.

This patch re-create renderer when we use not-image-renderer.

Change-Id: I93ee8e7c87901e0bed5c843adb38066b8c184342
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
19 months agoRefactoring and documenting the markup tags and attributes 69/272869/5
ssabah [Sun, 27 Mar 2022 21:23:46 +0000 (00:23 +0300)]
Refactoring and documenting the markup tags and attributes

Moved all tags and attributes to separate file.
Added doxygen description for each tag and attribute.

To check doxygen documentation:
   1) Build dali-toolkit
   2)Generate the internal documentation for DALi Toolkit
     https://github.com/dalihub/dali-toolkit/tree/master/docs/generated-internal
   3) Goto: Files > File List > dali-toolkit > internal > text > markup-tags-and-attributes.h

Change-Id: I42693d0c1ce1169614ccad9391ef4f60a04b3f66

19 months agoMerge "DALi Version 2.1.16" into devel/master
David Steele [Fri, 1 Apr 2022 12:07:53 +0000 (12:07 +0000)]
Merge "DALi Version 2.1.16" into devel/master

19 months agoDALi Version 2.1.16 70/273270/1 dali_2.1.16
Adam Bialogonski [Fri, 1 Apr 2022 11:51:39 +0000 (12:51 +0100)]
DALi Version 2.1.16

Change-Id: I7bb3200279a1572562c27eac1ad8007441164919

19 months agoMerge "fix issue in negative line spacing with key arrow down" into devel/master
Bowon Ryu [Fri, 1 Apr 2022 10:12:20 +0000 (10:12 +0000)]
Merge "fix issue in negative line spacing with key arrow down" into devel/master

19 months agoMerge "Support paragraph attribute: relative line height" into devel/master
Bowon Ryu [Fri, 1 Apr 2022 10:04:30 +0000 (10:04 +0000)]
Merge "Support paragraph attribute: relative line height" into devel/master

19 months agoMerge "fix linespacing calculation in TextLabel" into devel/master
Bowon Ryu [Fri, 1 Apr 2022 10:04:07 +0000 (10:04 +0000)]
Merge "fix linespacing calculation in TextLabel" into devel/master

19 months agoMerge "Supports USER_INTERACTION_ENABLED for text components" into devel/master
Bowon Ryu [Fri, 1 Apr 2022 08:33:19 +0000 (08:33 +0000)]
Merge "Supports USER_INTERACTION_ENABLED for text components" into devel/master

19 months agoSupports USER_INTERACTION_ENABLED for text components 41/273041/5
Bowon Ryu [Wed, 30 Mar 2022 03:41:35 +0000 (12:41 +0900)]
Supports USER_INTERACTION_ENABLED for text components

Handles the behaviour of text components according to USER_INTERACTION_ENABLED.

Fixed the following bug :
If editable is false, all decorators should be disabled.
The prev behaviour is that some decorators are not disabled.

Change-Id: I7aeef2b2c238903723eec83e92b5945b06d0f6df
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
19 months agoIf USER_INTERACTION_ENABLED is disabled, it shouldn't even be focused. 28/273228/4
joogab.yun [Fri, 1 Apr 2022 01:52:16 +0000 (10:52 +0900)]
If USER_INTERACTION_ENABLED is disabled, it shouldn't even be focused.

Change-Id: If9fd87747511bf6926bd5d7de19f951bb2b9596a

19 months agoMerge "Changed to not always clearFocus when a touch occurs." into devel/master
joogab yun [Fri, 1 Apr 2022 07:11:50 +0000 (07:11 +0000)]
Merge "Changed to not always clearFocus when a touch occurs." into devel/master

19 months agoIf the Focusable of TextField and TextEditor is set to true, it is modified so that... 67/272967/13
joogab.yun [Tue, 29 Mar 2022 01:02:33 +0000 (10:02 +0900)]
If the Focusable of TextField and TextEditor is set to true, it is modified so that it works well.

Change-Id: Ie3264a8caec3caeba3903d2467017c48f1436c8c

20 months agofix issue in negative line spacing with key arrow down 00/273200/3
Abdulleh Ghujeh [Thu, 31 Mar 2022 11:16:13 +0000 (14:16 +0300)]
fix issue in negative line spacing with key arrow down

when setting negative line spacing property with multiline text.
using arrow down to move the main cursor will skip some line.

Change-Id: Ia69d008203348776c860d5a8e7d1e5833a0e5f30

20 months agoChanged to not always clearFocus when a touch occurs. 53/272953/8
joogab.yun [Mon, 28 Mar 2022 10:13:28 +0000 (19:13 +0900)]
Changed to not always clearFocus when a touch occurs.

Do ClearFocus when focus movement is possible.

Otherwise, only the FocusIndicator is cleared.

Change-Id: I7e482e78e0af590304d066549a554d4fa39d3613

20 months agoChanged the style of the buttons 18/273018/1
Adeel Kazmi [Tue, 29 Mar 2022 18:48:29 +0000 (19:48 +0100)]
Changed the style of the buttons

Change-Id: Icf485af242a836825778bcf033aa68bd83ed73fd

20 months agoMerge "[AT-SPI] Introduce WebView::WebViewAccessible" into devel/master
Lukasz Oleksak [Tue, 29 Mar 2022 08:55:48 +0000 (08:55 +0000)]
Merge "[AT-SPI] Introduce WebView::WebViewAccessible" into devel/master

20 months agoMerge "FocusChanged callback should be called after Focus has changed." into devel...
joogab yun [Tue, 29 Mar 2022 02:57:03 +0000 (02:57 +0000)]
Merge "FocusChanged callback should be called after Focus has changed." into devel/master

20 months agoFocusChanged callback should be called after Focus has changed. 22/272922/4
joogab.yun [Mon, 28 Mar 2022 04:14:36 +0000 (13:14 +0900)]
FocusChanged callback should be called after Focus has changed.

It is now called before Focus is changed.

So calling GetCurrentFocusActor() inside the FocusChanged callback returns the prvious actor.

This is a problem.

So, change the FocusChanged callback to be called after the Focus is changed.

Change-Id: Ie270822ac01196e0bf9a18c2e9ab58326fcb745b

20 months agotext: Fix checking NULL after dereferencing 64/272964/2
Shinwoo Kim [Tue, 29 Mar 2022 00:13:57 +0000 (09:13 +0900)]
text: Fix checking NULL after dereferencing

This was detected by static analysis tool.

Change-Id: I4a4566b5537e905c61cc16e38e54fe7d15fdae17

20 months ago[AT-SPI] Introduce WebView::WebViewAccessible 13/263113/12
Artur Świgoń [Thu, 17 Mar 2022 10:58:17 +0000 (11:58 +0100)]
[AT-SPI] Introduce WebView::WebViewAccessible

This class handles automatic embedding and un-embedding of the AT-SPI
tree created by Chromium as a subtree in a DALi application.

Change-Id: If0875c1106a3d95bd026ee1d24f9d504be2d1ff2

20 months agoSupport paragraph attribute: relative line height 13/272113/4
abdullah [Wed, 9 Mar 2022 10:27:50 +0000 (13:27 +0300)]
Support paragraph attribute: relative line height

<p rel-line-height=2.0>Hello</p>World

Change-Id: I3824dd0d39021222a94e3122c4d88d94da5bc0b2

20 months agofix linespacing calculation in TextLabel 59/272959/2
Abdulleh Ghujeh [Mon, 28 Mar 2022 12:29:35 +0000 (15:29 +0300)]
fix linespacing calculation in TextLabel

line spacing for current line should affect next line not the current one
Change-Id: I0a650dc34aad2aa8d41b85bee7d0912553e8faa5

20 months agoMerge "TTrace enable always in tizen" into devel/master
Eunki Hong [Mon, 28 Mar 2022 10:35:30 +0000 (10:35 +0000)]
Merge "TTrace enable always in tizen" into devel/master

20 months agoMerge "Handle Emoji clustering for cursor handling" into devel/master
Bowon Ryu [Mon, 28 Mar 2022 10:14:24 +0000 (10:14 +0000)]
Merge "Handle Emoji clustering for cursor handling" into devel/master

20 months agoTTrace enable always in tizen 48/272748/3
Eunki, Hong [Wed, 23 Mar 2022 13:55:59 +0000 (22:55 +0900)]
TTrace enable always in tizen

Make ttrace enable always in tizen. Other platform keep current policy

Change-Id: I6c7ffc31be9e0aeb5e139afca18a306bdd1e3afe
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoSupport character-spacing in span tag 16/272016/6
ssabah [Sun, 6 Mar 2022 11:04:49 +0000 (14:04 +0300)]
Support character-spacing in span tag

Add Character-Spacing value attribute "char-space-value" to span tag.

How to apply it in TextEditor:

   textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT,
                           "<span font-size='20' font-family='DejaVu Sans' font-width='condensed' font-slant='italic' text-color='blue' >ABC EF\n</span>"
                           "<span font-size='20' font-family='DejaVu Sans' font-width='condensed' font-slant='italic' text-color='red' char-space-value='-5.0f'>ABC EF\n</span>"
                           "<span font-size='20' font-family='DejaVu Sans' font-width='condensed' font-slant='italic' text-color='green' char-space-value='10.0f'>ABC EF\n</span>");
   textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/271789

Change-Id: I203c6e1f3a116ae557ffbc84859a121739e6b6c6

20 months agoSupport character-spacing tag in markup 89/271789/11
ssabah [Mon, 28 Feb 2022 21:45:57 +0000 (00:45 +0300)]
Support character-spacing tag in markup

How to apply it in TextEditor:

    textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT,
                           "Hello <char-spacing value='-3.0f'>Hello </char-spacing>"
                           "<char-spacing value='3.0f'>Hello </char-spacing>"
                           "<char-spacing value='-6.0f'>Hello </char-spacing>"
                           "<char-spacing value='6.0f'>Hello </char-spacing>"
                           "<char-spacing value='0.0f'>Hello </char-spacing>");
    textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);

Change-Id: Ic24b6cd7e0b88fba175fdc008345956a8fa7980f

20 months agoHandle Emoji clustering for cursor handling 32/272432/9
ssabah [Wed, 16 Mar 2022 14:32:21 +0000 (17:32 +0300)]
Handle Emoji clustering for cursor handling

Checked cases:
  - cursor movement (arrows): it works fine
  - line-breaking: it works fine
Resolved cases:
  - deletion: this patch handled delete cases when the cursor is before or after Emoji
    :: Before: when use delete key and cursor is before Emoji
    :: After: when use backspace key and cursor is after Emoji
  - Emoji layoutted at the end of line: this patch handle the below scenario
    1) When there is Emoji contains multi unicodes and it is layoutted at the end of line (LineWrap case , is not new line case)
    2) Try to click at the center or at the end of Emoji then the cursor appears inside Emoji
    3) Example:"FamilyManWomanGirlBoy &#x1F468;&#x200D;&#x1F469;&#x200D;&#x1F467;&#x200D;&#x1F466;"

 Sample code to test:
 ============================================================================
    TextEditor textEditor = TextEditor::New();
    textEditor.SetBackgroundColor(Dali::Color::GRAY);
    textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT, "AB&#x1F468;&#x200D;&#x1F469;&#x200D;&#x1F467;&#x200D;&#x1F466;AB&#x1F469;&#x1F3FB;&#x200D;&#x1F52C;B&#x1F468;&#x200D;&#x1F469;&#x200D;&#x1F467;&#x200D;&#x1F466;AA&#x262a;&#xfe0e;B&#x262a;&#xfe0f;AB");
    textEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);
    textEditor.SetProperty(Dali::Actor::Property::POSITION, Vector2(10, 30));
    textEditor.SetProperty(Dali::Actor::Property::SIZE, Vector2(100, 100));
    textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);
    textEditor.SetProperty(Dali::Toolkit::DevelTextEditor::Property::LINE_WRAP_MODE, Dali::Toolkit::DevelText::LineWrap::WORD);

 ============================================================================

Change-Id: I6d142c58c5cdef5e900404cca8b777a02c8488d1

20 months agoDALi Version 2.1.15 49/272849/1 dali_2.1.15
Adeel Kazmi [Fri, 25 Mar 2022 10:57:04 +0000 (10:57 +0000)]
DALi Version 2.1.15

Change-Id: I67b275b0f105029b534e8e6d97e08eae0d8769aa

20 months agoHandled nested tags in strikethrough 18/272318/4
ssabah [Mon, 14 Mar 2022 12:05:12 +0000 (15:05 +0300)]
Handled nested tags in strikethrough

The inner tag inherit the attributes of the outer tag and override them when defined in the inner tag
Example:
"<s height='5.0f' color='blue'> outer tag before  <s color='green'> inner tag </s> outer tag after </s>"
"outer tag before" and  "outer tag after" have height = 5.0f and color = 'blue'
"inner tag" has height = 5.0f and color = 'green'

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/272264

Change-Id: I7426507b14c73f09aca67b9a22173e8ee5c0db29

20 months agoSupport Strikethrough with Height attribute in markup 64/272264/5
ssabah [Sun, 13 Mar 2022 21:48:55 +0000 (00:48 +0300)]
Support Strikethrough with Height attribute in markup

The attribute of strikethrough in <s> tag :
  - height

The attribute of strikethrough in <span> tag :
  - s-height

How to apply it in TextEditor:

  textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT, "<span s-color='blue' s-height='5.0f' > hello world span tag</span>nothing<s color='green' height='2.0f' > hello world s tag </s> ");
  textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/272017

Change-Id: I3332531528f53e9bc87c6bf194fb6c58d131a269

20 months agoSupport the strikethrough and its attribute in span tag 17/272017/9
ssabah [Sun, 6 Mar 2022 15:14:19 +0000 (18:14 +0300)]
Support the strikethrough and its attribute in span tag

The attributes of strikethrough :
  - s-color

How to apply it in TextEditor:

  textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::TEXT, "<span s-color='blue'> hello world span tag </span>nothing<s color='green'> hello world s tag </s> ");
  textEditor.SetProperty(Dali::Toolkit::TextEditor::Property::ENABLE_MARKUP, true);

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/272018

Change-Id: I87bdf96565a22d90d9f1d1000cb719fbfd6dbc84

20 months agoMerge "Resolve cases for strikethrough when using multiple <s> tags" into devel/master
Bowon Ryu [Wed, 23 Mar 2022 05:48:55 +0000 (05:48 +0000)]
Merge "Resolve cases for strikethrough when using multiple <s> tags" into devel/master

20 months agoSupport span tag: background 63/272263/2
abdullah [Sun, 13 Mar 2022 13:33:05 +0000 (16:33 +0300)]
Support span tag: background

Change-Id: I20cedebe0f9b07b51afedd8c5481409db80c888d

20 months agoMerge "Fix text markup background incorrect position with negative line spacing"...
Bowon Ryu [Tue, 22 Mar 2022 01:09:20 +0000 (01:09 +0000)]
Merge "Fix text markup background incorrect position with negative line spacing" into devel/master

20 months agoFix text markup background incorrect position with negative line spacing 62/272262/4
abdullah [Sun, 13 Mar 2022 13:03:33 +0000 (16:03 +0300)]
Fix text markup background incorrect position with negative line spacing

the issue appear in TextEditor when using different markup text background in different lines with negative line spacing
Change-Id: I4cab4460ef3073dfe74c69b7071fa304d18b3b74

20 months agoFix cursor visible issue on text editing 04/272604/1
Bowon Ryu [Mon, 21 Mar 2022 11:10:37 +0000 (20:10 +0900)]
Fix cursor visible issue on text editing

I made a prev patch to ensure that the cursor layer is on top.
16ef097a0b2d3945a5045db7bb2f3896ed5a5a95

But cursor layer in clippingDecorationActors(in RednerText) is processed only once.

Therefore, if user edit while the background is present, the cursor still invisible.

This patch passes the cursor layer actor as an argument to RenderText(),
so that the cursor is always on top.

Change-Id: I27e3334f74dbca34aaae18089082125c871935fa
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
20 months agoFix cursor visible issue on text background 86/272586/1
Bowon Ryu [Mon, 21 Mar 2022 07:12:35 +0000 (16:12 +0900)]
Fix cursor visible issue on text background

In some cases, the cursor layer actor is not visible.
Because the text background actor is positioned above the cursor layer actor.
This patch ensures that the cursor layer actor is always on the top.

Change-Id: I1f601e9e648e2983a2703bda03c82cd92bcff16f
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
20 months agoMerge "Fix issue of applying ellipsis with negative line spacing" into devel/master
Bowon Ryu [Mon, 21 Mar 2022 04:43:45 +0000 (04:43 +0000)]
Merge "Fix issue of applying ellipsis with negative line spacing" into devel/master

20 months agoMerge "Add clockwise and counter clockwise direction type and movefocus" into devel...
joogab yun [Mon, 21 Mar 2022 00:57:40 +0000 (00:57 +0000)]
Merge "Add clockwise and counter clockwise direction type and movefocus" into devel/master

20 months agoMerge "Add deviceName to GetNextFocusableView() in CustomFocusAlgorithm." into devel...
joogab yun [Mon, 21 Mar 2022 00:57:21 +0000 (00:57 +0000)]
Merge "Add deviceName to GetNextFocusableView() in CustomFocusAlgorithm." into devel/master

20 months agoDirectRendering: 85/272385/4
Adam Bialogonski [Tue, 15 Mar 2022 10:55:18 +0000 (10:55 +0000)]
DirectRendering:

- Test harness changes

Change-Id: I7dce30ebec907fdb1e5ec182216927c0107c44fa

20 months agoDALi Version 2.1.14 43/272543/1 dali_2.1.14
Richard Huang [Fri, 18 Mar 2022 11:23:29 +0000 (11:23 +0000)]
DALi Version 2.1.14

Change-Id: I3bbbf6faeadcfefb06bd42e49ca899d2e1645d2e

20 months agoMerge "[AT-SPI] fix a crash on scroll-view" into devel/master
Shinwoo Kim [Fri, 18 Mar 2022 01:01:00 +0000 (01:01 +0000)]
Merge "[AT-SPI] fix a crash on scroll-view" into devel/master

20 months agoMerge changes I6399a6ca,Iae5f8784,I40eb6797,I8ba65736 into devel/master
Lukasz Oleksak [Thu, 17 Mar 2022 09:34:49 +0000 (09:34 +0000)]
Merge changes I6399a6ca,Iae5f8784,I40eb6797,I8ba65736 into devel/master

* changes:
  [AT-SPI] Remove SetAccessibilityConstructor()
  [AT-SPI] Require ControlAccessible for Control
  [AT-SPI] Introduce TextControlAccessible
  [AT-SPI] Rename AccessibleImpl to <Control>Accessible

20 months ago[AT-SPI] fix a crash on scroll-view 27/271527/6
Shinwoo Kim [Tue, 22 Feb 2022 11:37:51 +0000 (20:37 +0900)]
[AT-SPI] fix a crash on scroll-view

This patch is resolving the crash with following stack.

__cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Dali::Toolkit::Internal::ScrollView::ScrollTo
Dali::Toolkit::ScrollView::ScrollTo
Dali::Toolkit::Internal::ScrollView::AccessibleImpl::ScrollToChild
Dali::Toolkit::DevelControl::ControlAccessible::ScrollToSelf
Dali::Toolkit::DevelControl::ControlAccessible::GrabHighlight
Dali::Toolkit::DevelControl::GrabAccessibilityHighlight
Dali::Toolkit::Internal::AccessibilityManager::SetCurrentFocusActor
Dali::Toolkit::AccessibilityManager::SetCurrentFocusActor

It is not able to call ScrollView::ScrollTo,
if parent of child in ScrollTo is not the scrollView.

But the ControlAccessible can call ScrollTo when the parent can be
one of child's parents(ancestor).

Change-Id: Ie88c652f8a1ca348f6b8cbe9f95484a5eb5bf508

20 months agoFix issue of applying ellipsis with negative line spacing 86/272386/2
abdullah [Tue, 15 Mar 2022 12:18:37 +0000 (15:18 +0300)]
Fix issue of applying ellipsis with negative line spacing

When setting negative line spacing, ellipsis applied even there is space for more lines.

Change-Id: Ife870f11b7b081fcdc0447a5fc96d0fce1a1e95b

20 months ago[AT-SPI] Remove SetAccessibilityConstructor() 32/271132/9
Artur Świgoń [Mon, 14 Mar 2022 15:41:02 +0000 (16:41 +0100)]
[AT-SPI] Remove SetAccessibilityConstructor()

This function is replaced by a new Control virtual method,
CreateAccessibleObject(), which allows to achieve the same goal using
less eccentric syntax. A slight reduction in memory usage is also
expected, thanks to the fact that there is now no need to store a
'mAccessibilityConstructor' functor in every Control::Impl instance.

Change-Id: I6399a6ca9acefb1648086b17d154541535f6bd2d

20 months ago[AT-SPI] Require ControlAccessible for Control 17/272317/3
Artur Świgoń [Mon, 14 Mar 2022 12:31:51 +0000 (13:31 +0100)]
[AT-SPI] Require ControlAccessible for Control

This change narrows down the type used in GetAccessibilityObject() and
SetAccessibilityConstructor() from Accessible to ControlAccessible. It
has always been the case that a Control is represented by either a
ControlAccessible or a more derived type, and this fact is now
reaffirmed in the API.

Change-Id: Iae5f87845d951ac9affe2eb8589ec4aa3ea274e6

20 months agoRemoved erroneous format file 23/272323/1
Adeel Kazmi [Mon, 14 Mar 2022 18:58:51 +0000 (18:58 +0000)]
Removed erroneous format file

Change-Id: Ic9d072d8dea448ef88c075b0862885df889c313f

20 months ago[AT-SPI] Introduce TextControlAccessible 09/272309/2
Artur Świgoń [Mon, 14 Mar 2022 09:39:30 +0000 (10:39 +0100)]
[AT-SPI] Introduce TextControlAccessible

TextEditorAccessible, TextFieldAccessible and TextLabelAccessible
contained a large amount of nearly identical code. They now have a new
common parent, TextControlAccessible (or EditableTextControlAccessible)
which contains common code.

Change-Id: I40eb67970780a6a320b514cf261a1df91f6dcf49

20 months ago[AT-SPI] Rename AccessibleImpl to <Control>Accessible 08/272308/2
Artur Świgoń [Mon, 14 Mar 2022 09:34:11 +0000 (10:34 +0100)]
[AT-SPI] Rename AccessibleImpl to <Control>Accessible

This change finishes establishing the new naming convention for
Accessible objects, which now mirror the names of DALi/NUI classes,
e.g. ActorAccessible, ControlAccessible (previously AccessibleImpl),
NUIViewAccessible (previously AccessibleImpl_NUI), and now
<Control>::AccessibleImpl becomes <Control>::<Control>Accessible.

Change-Id: I8ba65736da4527d19107cee877541f776ba017ca

20 months agoDo not create visual when URL or array is empty 62/271862/5
Eunki, Hong [Wed, 2 Mar 2022 13:34:48 +0000 (22:34 +0900)]
Do not create visual when URL or array is empty

When we try to create ImageVisual with empty string, it will be failed.
But when we try to create AnimatedImageVisual with empty string,
it will try to create new AnimatedImageVisual.

AnimatedImageVisual is weak when mFrameCount is zero.
So we try to guard that case before creation-level.

Moreover, we also don't create visual for SVG, N_PATCH, ANIMATED_VECTOR_IMAGE

Change-Id: Ibd7a3db825473958bbe51e6fb909572464b21da6
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMerge "When using the auto-focusing function by enabling EnableDefaultAlgorithm,...
joogab yun [Mon, 14 Mar 2022 03:45:21 +0000 (03:45 +0000)]
Merge "When using the auto-focusing function by enabling EnableDefaultAlgorithm, if there is no focused actor, focus on the closest actor based on the upper left corner of the current window." into devel/master

20 months agoAdd deviceName to GetNextFocusableView() in CustomFocusAlgorithm. 83/271983/9
joogab.yun [Fri, 4 Mar 2022 06:05:42 +0000 (15:05 +0900)]
Add deviceName to GetNextFocusableView() in CustomFocusAlgorithm.

Change-Id: Iac3d62a1410ee0cb556f17efbcd2c647e9b503f7

20 months agoAdd clockwise and counter clockwise direction type and movefocus 40/272040/6
joogab.yun [Mon, 7 Mar 2022 08:35:15 +0000 (17:35 +0900)]
Add clockwise and counter clockwise direction type and movefocus

Change-Id: I5352a15d78d53ca1efdf171b984be10df2565697

20 months agoResolve cases for strikethrough when using multiple <s> tags 18/272018/9
ssabah [Sun, 6 Mar 2022 22:37:43 +0000 (01:37 +0300)]
Resolve cases for strikethrough when using multiple <s> tags

 1- Last color is applied for all tags when using multiple <s> tags
 2- Draw strikethrough on text between two <s> tags
 3- Standardize strikethrough code. Make strikethrough code similar to underline code.

Change-Id: I6d6c7c7435423083ca788686b04b97ff554bdb88

20 months agoMerge "DALi Version 2.1.13" into devel/master
Adeel Kazmi [Fri, 11 Mar 2022 15:33:27 +0000 (15:33 +0000)]
Merge "DALi Version 2.1.13" into devel/master

20 months agoDALi Version 2.1.13 47/272247/1 dali_2.1.13
David Steele [Fri, 11 Mar 2022 15:21:56 +0000 (15:21 +0000)]
DALi Version 2.1.13

Change-Id: I9a0ba5596b1250b8de9240c45dd28ea72fcc155e

20 months ago[AT-SPI] Change DevelControl functions' first parameter to Control 95/271395/8
Artur Świgoń [Fri, 18 Feb 2022 09:43:26 +0000 (10:43 +0100)]
[AT-SPI] Change DevelControl functions' first parameter to Control

These functions did nothing for non-Control actors anyway. It is better
to narrow down the parameter type to a Control, especially since they
are in the DevelControl namespace. As a special exception,
SetAccessibilityConstructor() retains its Actor parameter, because
changing that would require too many changes, and we intend to replace
it with a virtual method very soon anyway.

Change-Id: I0b5939dd9fc0933841cd36b6833aeff668d2ab30

20 months agoRe-instating test cases from old graphics backend 00/272100/4
David Steele [Tue, 8 Mar 2022 18:43:27 +0000 (18:43 +0000)]
Re-instating test cases from old graphics backend

Some test cases were partially or completely commented out during
development of the new graphics backend, and have never been fully
recovered.

This patch attempts to re-instate the test cases, and fix issues
with the test harness & new graphics backend.

Main fix: Testing uniforms by explicit name, including for array
based uniforms.

  Test harness has the capability to check what value was written
  to any uniform - it records the uniform name and value in a set
  of maps, for later query.

  DALi implementation of array based uniforms in a shader is to
  record the location of the first index, and store the basename
  in the graphics reflection. The TestGraphicsReflection has to
  perform the same way, so that the hashing implementations don't
  use the "[N]" code.

  Uniform locations were working by happy accident; have changed
  this to now record the locations as returned by the GL side of
  the test abstraction into the test graphics reflection.

  Modified the uniform buffer write to also handle array based
  uniforms. Now, as arrays have their length encoded in the test
  reflection, each element can be written to the GL abstraction.

  Fixed off-by-one error for location values.

  Modified the semantics for custom uniforms in test cases. Instead
  of providing the first element only, the array notation indicates
  the size of the array.

Some TCs used to test for caching of GL capabilites by DALi core,
however, caching is now done in the GL backend in adaptor, which
the toolkit test harness does not use, so these caching tests are
no longer valid.

Change-Id: I4b2d372a95653fd62117e61e5b57a1c66b17092c
Signed-off-by: David Steele <david.steele@samsung.com>
20 months agoWhen using the auto-focusing function by enabling EnableDefaultAlgorithm, 65/272165/4
joogab.yun [Thu, 10 Mar 2022 08:54:58 +0000 (17:54 +0900)]
When using the auto-focusing function by enabling EnableDefaultAlgorithm,
if there is no focused actor, focus on the closest actor based on the upper left corner of the current window.

Change-Id: I8538a1957a17163361ac3b479eaa5dc3228fb69a

20 months agoUpdating code formatting 79/272179/2
David Steele [Thu, 10 Mar 2022 11:37:23 +0000 (11:37 +0000)]
Updating code formatting

Change-Id: I71f58722bae7d13c9866cf7c4f724e09d1ced85b

20 months agoMerge "Updated visuals to use VisualRenderer" into devel/master
David Steele [Thu, 10 Mar 2022 11:15:45 +0000 (11:15 +0000)]
Merge "Updated visuals to use VisualRenderer" into devel/master

20 months agoFix coverity issue on dli loader : Add null check 61/272161/1
Eunki, Hong [Thu, 10 Mar 2022 07:51:03 +0000 (16:51 +0900)]
Fix coverity issue on dli loader : Add null check

Add some null checker branch on dli-loader which can be nullptr

Change-Id: I716b21f041a712bc66a31471c1fd9ae966ecc6b3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoMerge "[AT-SPI] text: add "GetRangeExtents" interface" into devel/master
Shinwoo Kim [Thu, 10 Mar 2022 01:36:03 +0000 (01:36 +0000)]
Merge "[AT-SPI] text: add "GetRangeExtents" interface" into devel/master

20 months agoUpdated visuals to use VisualRenderer 84/271184/6
David Steele [Wed, 16 Feb 2022 16:25:51 +0000 (16:25 +0000)]
Updated visuals to use VisualRenderer

TODO: remove cached values from visual-base-data-impl
as VisualRenderer now caches event side values.

TODO: Check that renderer.GetPropertyIndex isn't used in NUI with VisualProperty keys.

Change-Id: I3f4417e3444d894fd455f40896f2ea07bbd8516a

20 months agoMerge "Remove dead code." into devel/master
joogab yun [Tue, 8 Mar 2022 00:58:02 +0000 (00:58 +0000)]
Merge "Remove dead code." into devel/master

20 months ago[AT-SPI] text: add "GetRangeExtents" interface 61/271761/7
Shinwoo Kim [Mon, 28 Feb 2022 07:52:13 +0000 (16:52 +0900)]
[AT-SPI] text: add "GetRangeExtents" interface

This interface will be used for getting MBR(Minimum Bounding Rectangle)
with following usage on the AT client side.

  cc = atspi_text_get_character_count(text, NULL);
  rect = atspi_text_get_range_extents(text, 0, cc, ATSPI_COORD_TYPE_WINDOW, NULL);

Change-Id: Ib8c91c56f44de5fda65fc2bc28c363601b6afccb

20 months agoMerge "Fix shader issue during Animation & UPDATE_PROPERTY action" into devel/master
David Steele [Mon, 7 Mar 2022 11:03:33 +0000 (11:03 +0000)]
Merge "Fix shader issue during Animation & UPDATE_PROPERTY action" into devel/master

20 months agoMerge "Improve the underline markup" into devel/master
Bowon Ryu [Mon, 7 Mar 2022 10:53:15 +0000 (10:53 +0000)]
Merge "Improve the underline markup" into devel/master

20 months agoMerge "Support the underline and its attributes in span tag" into devel/master
Bowon Ryu [Mon, 7 Mar 2022 10:53:08 +0000 (10:53 +0000)]
Merge "Support the underline and its attributes in span tag" into devel/master

20 months agoFix shader issue during Animation & UPDATE_PROPERTY action 44/272044/2
Eunki, Hong [Mon, 7 Mar 2022 08:53:05 +0000 (17:53 +0900)]
Fix shader issue during Animation & UPDATE_PROPERTY action

mAlwaysUsingCornerRadius flag used when corner radius is on animation,
or it is updated by UPDATE_PROPERTY action.

It is neccessary cause we cannot detemine the value.
So, so bad timming, when mCornerRadius is 0.0f and we call UpdateShader,
the shader cannot use mCornerRadius feature.

There was some bug when mImpl->Renderer already contain CornerRadiusIndex.
Normal case, it will not happend because we always re-create visual in that case.
but, there also can exist some un-normal case = UPDATE_PROPERTY action.

When we setup CornerRadius first,
and create Animation corner radius into zero.
and after animation finish, DoAction(UPDATE_PROPERTY) with borderline.
and animate one more time.
In that case, the visual's shader doesn't contain CornerRadius!

TODO : We don't care about blur radius currently.
NUI didn't do UPDATE_PROPERTY action for this property now.
But anyway we should consider him.

Change-Id: Idf454ed8693da89d5c2f60d0f6a286dbf98c28ac
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
20 months agoRemove dead code. 31/272031/1
joogab.yun [Mon, 7 Mar 2022 06:50:01 +0000 (15:50 +0900)]
Remove dead code.

https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/206393/ Patch contains some incorrect code.
I remove dead code.

Change-Id: Iff60034f8e78b54f132717ead1955a2a9cadfa97

20 months ago[AT-SPI] Remove redundant mAccessibility*Set fields from Control::Impl 94/271394/7
Artur Świgoń [Fri, 18 Feb 2022 09:03:55 +0000 (10:03 +0100)]
[AT-SPI] Remove redundant mAccessibility*Set fields from Control::Impl

There is no need for an additional 'unset' state, an empty string can be
used just like in other DALi properties.

Change-Id: I873b38b54305b4c0ba629f0125fc25cbc13a5dc2

20 months agoMerge "DALi Version 2.1.12" into devel/master
David Steele [Fri, 4 Mar 2022 11:20:38 +0000 (11:20 +0000)]
Merge "DALi Version 2.1.12" into devel/master

20 months agoDALi Version 2.1.12 87/271987/1 dali_2.1.12
Adeel Kazmi [Fri, 4 Mar 2022 10:00:56 +0000 (10:00 +0000)]
DALi Version 2.1.12

Change-Id: I932e0e95ba9d114c62de87fa73530437ffa9a33f

20 months agofix automated test fail in TextLabel, TextEditor 75/271975/1
Bowon Ryu [Fri, 4 Mar 2022 05:34:31 +0000 (14:34 +0900)]
fix automated test fail in TextLabel, TextEditor

Change-Id: I4033d96902a042547eba8d15514db1228c2c2286
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
20 months agoMerge "fix issue with text size with negative line spacing" into devel/master
Bowon Ryu [Fri, 4 Mar 2022 03:02:45 +0000 (03:02 +0000)]
Merge "fix issue with text size with negative line spacing" into devel/master

20 months agoSupport RelativeLineHeight in TextEditor/TextLabel 86/271686/5
abdullah [Thu, 24 Feb 2022 14:33:45 +0000 (16:33 +0200)]
Support RelativeLineHeight in TextEditor/TextLabel

RelativeLineHeight is providing the ability to set relative line size.

Ex:
 0.5 means half of the line size.
 2 means double the line size.

Change-Id: Ic81b3ab0349b17de2339eb4b24002d0d4bb049dc

20 months agoMerge "Fix issue in Selection with negative line spacing" into devel/master
Bowon Ryu [Thu, 3 Mar 2022 09:53:03 +0000 (09:53 +0000)]
Merge "Fix issue in Selection with negative line spacing" into devel/master

20 months agofix issue with text size with negative line spacing 83/271783/2
abdullah [Mon, 28 Feb 2022 14:50:04 +0000 (17:50 +0300)]
fix issue with text size with negative line spacing

Change-Id: If19a05e9b037bcf4076bc1761bab9976d652e6f3

21 months agoImprove the underline markup 45/271745/5
ssabah [Sun, 27 Feb 2022 19:17:18 +0000 (22:17 +0300)]
Improve the underline markup

1) Handle nested tags:
The inner tag inherit the attributes of the outer tag and override them when defined in the inner tag
Example:
"<u height='5.0f' color='blue'> outer tag before  <u color='green'> inner tag </u> outer tag after </u>"
"outer tag before" and  "outer tag after" have height = 5.0f and color = 'blue'
"inner tag" has height = 5.0f and color = 'green'

2) Enhanced the performance of underline-runs and reduced the needed memory to store glyphs-runs

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/271685

Change-Id: I529aacd66c83fb1e55e282a7b849c901c3e0c67a

21 months agoSupport the underline and its attributes in span tag 85/271685/5
ssabah [Thu, 24 Feb 2022 13:15:24 +0000 (15:15 +0200)]
Support the underline and its attributes in span tag

 The attributes of underline :
  - u-color
  - u-height
  - u-type
  - u-dash-gap
  - u-dash-width

 How to apply it in TextLabel:

  textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::TEXT, "Before <span u-color='blue' u-type='dashed' u-height='4.0f' u-dash-gap='2.0f' u-dash-width='3.0f'> Hello World</span> after.");
  textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP, true);

Change-Id: Ia3dfd19e0f7a40903785e6d93d2587b9bfcac056

21 months agoFix issue in Selection with negative line spacing 09/271609/7
abdullah [Wed, 23 Feb 2022 09:01:49 +0000 (11:01 +0200)]
Fix issue in Selection with negative line spacing

this will fix the selection highlighting height & grape handles position.

Editor.SetProperty(TextEditor::Property::TEXT, "A<font size=40>B</font>\nCD");
Editor.SetProperty(TextEditor::Property::LINE_SPACING, -20);

Change-Id: I08dad34722584ff7d3815cd4f8a7b577be6d81cf

21 months agoDALi Version 2.1.11 31/271731/1 dali_2.1.11
Adam Bialogonski [Fri, 25 Feb 2022 11:47:16 +0000 (11:47 +0000)]
DALi Version 2.1.11

Change-Id: I8074b796513240ec397995e652f6e6bba6dce774

21 months agoMerge "Support align attribute for paragraph tag in markup" into devel/master
Bowon Ryu [Thu, 24 Feb 2022 10:36:34 +0000 (10:36 +0000)]
Merge "Support align attribute for paragraph tag in markup" into devel/master

21 months agoMerge "Support paragraph tag <p> in markup" into devel/master
Bowon Ryu [Thu, 24 Feb 2022 10:34:59 +0000 (10:34 +0000)]
Merge "Support paragraph tag <p> in markup" into devel/master

21 months agoMerge "fix cursor visible issue" into devel/master
Bowon Ryu [Thu, 24 Feb 2022 10:16:22 +0000 (10:16 +0000)]
Merge "fix cursor visible issue" into devel/master

21 months agoMerge "Make TextureHash as buffer" into devel/master
Eunki Hong [Wed, 23 Feb 2022 17:54:04 +0000 (17:54 +0000)]
Merge "Make TextureHash as buffer" into devel/master

21 months agoMerge "Implement some more speed-up : Syncing test harness changes" into devel/master
David Steele [Wed, 23 Feb 2022 17:13:20 +0000 (17:13 +0000)]
Merge "Implement some more speed-up : Syncing test harness changes" into devel/master

21 months agoMake TextureHash as buffer 25/271625/1
Eunki, Hong [Wed, 23 Feb 2022 16:54:23 +0000 (01:54 +0900)]
Make TextureHash as buffer

Previous hashTarget use std::string, and Dali::CalculateHash function use
.c_str() internally. This logic will ignore zero values.
For example, when desired_width is 256, TextureHash result will ignore
whole informations about desired_size, fittingMode, maskId, etc.

This patch Fix that problem so we can seperate un-matched textures
and also reduce hash collision.

Change-Id: I95526f7144991e630ac0d19abaefc50175b4317a
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
21 months agoMerge "Split texture-manager-impl files" into devel/master
David Steele [Wed, 23 Feb 2022 15:15:43 +0000 (15:15 +0000)]
Merge "Split texture-manager-impl files" into devel/master

21 months agoImplement some more speed-up : Syncing test harness changes 35/271535/3
Eunki, Hong [Tue, 22 Feb 2022 12:54:22 +0000 (21:54 +0900)]
Implement some more speed-up : Syncing test harness changes

Change-Id: Ia258b91a0b2a74175bafdcd1d80d42bbaa2d1cc0
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
21 months agoSupport align attribute for paragraph tag in markup 42/270442/10
ssabah [Wed, 2 Feb 2022 22:39:30 +0000 (00:39 +0200)]
Support align attribute for paragraph tag in markup

<p align='center'> text </p>
Values: begin | center | end

//How to apply it:
textEditorMultiAlign.SetProperty(TextEditor::Property::TEXT, "text outside<p align='end'>Paragraph end</p><p align='center'>Paragraph center</p><p align='begin' >Paragraph begin</p><p>Paragraph property alignment</p>");
textEditorMultiAlign.SetProperty(TextEditor ::Property::ENABLE_MARKUP, true);
//The alignment on property level works on outside text or on a paragraph without the align attribute
textEditorMultiAlign.SetProperty(TextEditor::Property::HORIZONTAL_ALIGNMENT, Dali::Toolkit::Text::HorizontalAlignment::CENTER);

Change-Id: I3ccd6e6669a5887cdcbfa80be44998fd487e580c

21 months agofix cursor visible issue 29/270329/4
Bowon Ryu [Fri, 28 Jan 2022 06:10:18 +0000 (15:10 +0900)]
fix cursor visible issue

If the height of the cursor(caret) is bigger than the text control, the cursor is not visible.
This seems to be the intended behaviour.
But the user expects the cursor to be clipped even if the text control is smaller than the cursor.

So I added mCursorLayer for cursor clipping.
Because the mActiveLayer has to draw grab and selection handles outside of the text control,
so it is inappropriate to clip.

Change-Id: Id1510bca2e45e5efa091295ea798cce482e61012
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
21 months agoRemoved bits/stdint-uintn.h 87/271587/1
ssabah [Wed, 23 Feb 2022 07:21:14 +0000 (09:21 +0200)]
Removed bits/stdint-uintn.h

Removed unneeded lib from utc-Dali-TextLabel-internal.cpp

Change-Id: I1b04d2028eda16dc8abe3c2db641b56efb6882c2

21 months agoSplit texture-manager-impl files 79/271179/16
Eunki, Hong [Wed, 16 Feb 2022 11:27:33 +0000 (20:27 +0900)]
Split texture-manager-impl files

Collect all TextureManager relative files in one folder.

And split TextureManager API's job as three files.
 - texture-manager-impl :
   Control texture loading it self. like alpha masking / synchronous / atlas / etc...
 - texture-cache-manager :
   Control internal texture caching container, external texture set, external encoded image buffers.
   Generate new TextureId, and we can access TextureInfo by TextureCacheIndex.
 - texture-async-loading-helper :
   Help async loader thread create, and callback load finished.

And make most API's input parameters from 'T' to 'const T&' if we can.

And also, make TextureManagerType namespace s.t. texture-manager-impl and textuer-cache-manager
both class need to be use, and should be shared each other.

Change-Id: Ia522a7b36da51d64282ca6b9ab4190a4e0476ad1
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
21 months agoMerge "Add underline to anchor in the markup processor" into devel/master
Bowon Ryu [Wed, 23 Feb 2022 01:23:28 +0000 (01:23 +0000)]
Merge "Add underline to anchor in the markup processor" into devel/master