7 months agoMerge "Resolved incorrect size when call GetTextSize(TextLabel) for one glyph" into...
Bowon Ryu [Tue, 26 Apr 2022 09:49:36 +0000 (09:49 +0000)]
Merge "Resolved incorrect size when call GetTextSize(TextLabel) for one glyph" into devel/master

7 months agoMerge "Enhance texteditor background drawing performance" into devel/master
Bowon Ryu [Tue, 26 Apr 2022 09:38:01 +0000 (09:38 +0000)]
Merge "Enhance texteditor background drawing performance" into devel/master

7 months agoMerge "If the currently focused actor is hidden or disabled, it should lose focus...
joogab yun [Mon, 25 Apr 2022 23:47:58 +0000 (23:47 +0000)]
Merge "If the currently focused actor is hidden or disabled, it should lose focus." into devel/master

7 months agoMerge "Block the changeness of PreMultiplied for some visuals" into devel/master
David Steele [Mon, 25 Apr 2022 15:54:41 +0000 (15:54 +0000)]
Merge "Block the changeness of PreMultiplied for some visuals" into devel/master

7 months agoBlock the changeness of PreMultiplied for some visuals 68/274268/1
Eunki, Hong [Mon, 25 Apr 2022 10:54:04 +0000 (19:54 +0900)]
Block the changeness of PreMultiplied for some visuals

Svg, AnimatedVector, Text, and Gradient Visuals always use
PreMultiplied texture.
But PreMultiplied option is Visual::Base property.

So it was possible to change premultiplied option as false
even It's visual type is not allow it

This patch make some kind of visual that should not change the
PreMultiplied alpha flags don't change it.

Change-Id: I22e8416796493b34d2907f8043f57d31039be587
Signed-off-by: Eunki, Hong <>
7 months agoMerge "[AT-SPI] Set child's parent in WebViewAccessible" into devel/master
Lukasz Oleksak [Mon, 25 Apr 2022 10:55:32 +0000 (10:55 +0000)]
Merge "[AT-SPI] Set child's parent in WebViewAccessible" into devel/master

7 months agoIf the currently focused actor is hidden or disabled, it should lose focus. 32/273832/9 [Thu, 14 Apr 2022 08:39:56 +0000 (17:39 +0900)]
If the currently focused actor is hidden or disabled, it should lose focus.

Change-Id: I9ccc144a266982085b4aae43cbd87bd1e3d2391e

7 months agoMerge "fix incorrect selection highlight position with postive line spacing" into...
Bowon Ryu [Mon, 25 Apr 2022 05:56:04 +0000 (05:56 +0000)]
Merge "fix incorrect selection highlight position with postive line spacing" into devel/master

7 months agoadd theme to TextSelectionPopup according to 7.0 UX 19/274219/1
Bowon Ryu [Fri, 22 Apr 2022 06:05:43 +0000 (15:05 +0900)]
add theme to TextSelectionPopup according to 7.0 UX

Change-Id: Ia39f62cb8183109be4bd5c6046b488aeed3f682b
Signed-off-by: Bowon Ryu <>
7 months ago[AT-SPI] Set child's parent in WebViewAccessible 99/273899/5
Artur Świgoń [Fri, 15 Apr 2022 12:47:39 +0000 (14:47 +0200)]
[AT-SPI] Set child's parent in WebViewAccessible

A related dali-adaptor patch makes ProxyAccessible's parent settable.

Change-Id: Ifff884b6b20302617720ca25eedf16bdf275ef0e

7 months agoMerge "DALi Version 2.1.19" into devel/master
David Steele [Fri, 22 Apr 2022 13:10:07 +0000 (13:10 +0000)]
Merge "DALi Version 2.1.19" into devel/master

7 months agoDALi Version 2.1.19 86/274186/1 dali_2.1.19
Adeel Kazmi [Fri, 22 Apr 2022 12:54:28 +0000 (13:54 +0100)]
DALi Version 2.1.19

Change-Id: I69bbfe529b1d2bd2589bbb12517d3a7b5cd1d1ff

7 months agoMerge "Ambient occlusion support in DLI model" into devel/master
David Steele [Fri, 22 Apr 2022 12:15:08 +0000 (12:15 +0000)]
Merge "Ambient occlusion support in DLI model" into devel/master

7 months agoAmbient occlusion support in DLI model 20/274120/3
Richard Huang [Thu, 21 Apr 2022 12:52:56 +0000 (13:52 +0100)]
Ambient occlusion support in DLI model

Change-Id: If4378a8ecffbc37755b711805cc0f241dbd6e592

7 months agoCreate visual's border property map for only valid type 60/274160/2
Eunki, Hong [Fri, 22 Apr 2022 08:44:06 +0000 (17:44 +0900)]
Create visual's border property map for only valid type

Now we don't insert property map when it's type is not valid
Something like NPatch, Text, Mesh

Change-Id: I95935dd2afa4332063cf474ac47ee234754055b3
Signed-off-by: Eunki, Hong <>
7 months agoResolved incorrect size when call GetTextSize(TextLabel) for one glyph 18/274118/1
ssabah [Wed, 20 Apr 2022 09:03:48 +0000 (12:03 +0300)]
Resolved incorrect size when call GetTextSize(TextLabel) for one glyph

GetTextSize(TextLabel) for one glyph return zero size with ellipsis end.
But it works fine with GetTextSize(TextEditor).

To check it:
    Window window = application.GetWindow();

    textLabel = TextLabel::New();
    textLabel.SetProperty(TextLabel::Property::POINT_SIZE, 7.f);
    textLabel.SetProperty(Actor::Property::SIZE, Vector2(200.f, 200.f));
    textLabel.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
    textLabel.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);
    textLabel.SetProperty(TextLabel::Property::TEXT, "H");


    Vector<Vector2> sizesList = DevelTextLabel::GetTextSize(textLabel, 0u, 0u);

Change-Id: I38f6177c46f7485663412d55d95a5ffc318341f9

7 months agofix incorrect selection highlight position with postive line spacing 11/274111/2
Abdulleh Ghujeh [Thu, 21 Apr 2022 07:40:26 +0000 (10:40 +0300)]
fix incorrect selection highlight position with postive line spacing

Change-Id: I411127b55c2bbbf0a1b5a6a1cdeb95d32ae8a429

7 months agoMerge "Transfer uploadOnly flag to the core and update manager" into devel/master
Seungho BAEK [Thu, 21 Apr 2022 05:13:50 +0000 (05:13 +0000)]
Merge "Transfer uploadOnly flag to the core and update manager" into devel/master

7 months agoTransfer uploadOnly flag to the core and update manager 32/273932/2
seungho [Mon, 18 Apr 2022 07:16:26 +0000 (16:16 +0900)]
Transfer uploadOnly flag to the core and update manager

Change-Id: I096fc8b2bac265e1aa78f5a45b439ec16d1d1b8e
Signed-off-by: seungho <>
7 months agoFix incorrect calc of GetHeightForWidth in TextLabel 88/273988/3
Bowon Ryu [Tue, 19 Apr 2022 15:05:20 +0000 (00:05 +0900)]
Fix incorrect calc of GetHeightForWidth in TextLabel

the recent change of CalculateLayoutSizeOnRequiredControllerSize()
causes compatibility issues in TextLabel.

avoiding backup/restore of visual-model fields after GetNaturalSize/GetHeightForWidth is
usually to resolve broken index of editable controls.

this patch DoRelayout() with minimal operation when non-editable case.
it's almost like legacy code.

Change-Id: Ib918c96ad45fc3567941bec17dffe910b8b45134
Signed-off-by: Bowon Ryu <>
7 months agoMerge "Add CHROMINANCE pixel format" into devel/master
Heeyong Song [Tue, 19 Apr 2022 03:16:09 +0000 (03:16 +0000)]
Merge "Add CHROMINANCE pixel format" into devel/master

7 months agoEnhance texteditor background drawing performance 36/273736/2
Abdulleh Ghujeh [Wed, 13 Apr 2022 06:02:35 +0000 (09:02 +0300)]
Enhance texteditor background drawing performance

Change-Id: Ib2e2bce28431e4845adcfc0328844765bc8df1a7

7 months agoMerge "Call ResourceReady callback even image loading failed." into devel/master
David Steele [Thu, 14 Apr 2022 11:24:42 +0000 (11:24 +0000)]
Merge "Call ResourceReady callback even image loading failed." into devel/master

7 months agoDALi Version 2.1.18 42/273842/1 dali_2.1.18
Richard Huang [Thu, 14 Apr 2022 10:35:10 +0000 (11:35 +0100)]
DALi Version 2.1.18

Change-Id: I1736c18ac5e0ea69ef9657703f63aa0292ff5c94

7 months agoAdd CHROMINANCE pixel format 37/273837/1
Heeyong Song [Thu, 14 Apr 2022 10:03:34 +0000 (19:03 +0900)]
Add CHROMINANCE pixel format

Change-Id: I4ec7df3e842a957007dd224ab8a78e3bcd5bd228

7 months agoCall ResourceReady callback even image loading failed. 81/273281/8
Eunki, Hong [Fri, 1 Apr 2022 12:14:10 +0000 (21:14 +0900)]
Call ResourceReady callback even image loading failed.

image-visual and svg-visual and npatch-visual call ResourceReady callback even
they fail to load image.

But when animated image load faild, it doesn't call ResourceReady.

This patch make both image-used visuals call ResourceReady callback
even if load state is failed.

Change-Id: I7f0a267b7103d0d4df0753236cc90b2e467c707d
Signed-off-by: Eunki, Hong <>
7 months agoMerge "Make broken alpha mask image show image" into devel/master
David Steele [Wed, 13 Apr 2022 17:03:46 +0000 (17:03 +0000)]
Merge "Make broken alpha mask image show image" into devel/master

7 months agoRefactoring npatch-loader so it works well both sync-async loading 29/273429/15
Eunki, Hong [Tue, 5 Apr 2022 14:00:04 +0000 (23:00 +0900)]
Refactoring npatch-loader so it works well both sync-async loading

Make async loading always call LoadComplete when we try to load n-patch image.
Releative with both sync-async case,
Fix minor reference count issue for NPatchData.
Previous logic only control refrence count as Observer. It was not good.
Fix minor caching issue with border.
Previous code logic have problem when we use same Url and different border.

Change-Id: Ic54dd522e44f5db64f3e9d08aa44db224ab4d506
Signed-off-by: Eunki, Hong <>
7 months agoMake broken alpha mask image show image 68/273368/7
Eunki, Hong [Tue, 5 Apr 2022 03:32:45 +0000 (12:32 +0900)]
Make broken alpha mask image show image

Previous code only assume that ALPHA_MASK_URL load success.
When we use alpha mask image invalid, the result become strange ;
Most of image view not showing anything, but somtimes 1~2 image show broken.

This patch make when we use that maskTextureId is load failed case.

Change-Id: Ifd157d8b3a74c3a813d13ed3072c945d8ae8cda8
Signed-off-by: Eunki, Hong <>
7 months agoMerge "Refactoring Animated image visual" into devel/master
Seungho BAEK [Tue, 12 Apr 2022 12:48:25 +0000 (12:48 +0000)]
Merge "Refactoring Animated image visual" into devel/master

7 months agoMerge "Test harness sync" into devel/master
David Steele [Mon, 11 Apr 2022 14:20:19 +0000 (14:20 +0000)]
Merge "Test harness sync" into devel/master

7 months agoMerge "Refactored text selection popup to reduce loc" into devel/master
Bowon Ryu [Mon, 11 Apr 2022 02:07:24 +0000 (02:07 +0000)]
Merge "Refactored text selection popup to reduce loc" into devel/master

8 months agoTest harness sync 21/273621/1
David Steele [Fri, 8 Apr 2022 16:18:19 +0000 (17:18 +0100)]
Test harness sync

Change-Id: I6799eccd1e813351c87446dda4c379162e1b4f4d

8 months agoMerge "GlView using DirectRendering" into devel/master
Adeel Kazmi [Fri, 8 Apr 2022 14:00:44 +0000 (14:00 +0000)]
Merge "GlView using DirectRendering" into devel/master

8 months agoRefactored text selection popup to reduce loc 14/273614/2
Bowon Ryu [Fri, 8 Apr 2022 12:19:36 +0000 (21:19 +0900)]
Refactored text selection popup to reduce loc

- refactored property setters/getters

- I plan to bind the TextSelectionPopup to NUI.
before that, I will reduce loc with some refactoring.

Change-Id: I7f790153ed845a50a68591c97211d240b662e77e
Signed-off-by: Bowon Ryu <>
8 months agoMerge "DALi Version 2.1.17" into devel/master
David Steele [Fri, 8 Apr 2022 12:01:40 +0000 (12:01 +0000)]
Merge "DALi Version 2.1.17" into devel/master

8 months agoDALi Version 2.1.17 04/273604/1 dali_2.1.17
David Steele [Fri, 8 Apr 2022 11:54:46 +0000 (12:54 +0100)]
DALi Version 2.1.17

Change-Id: Id2ddb789190bb060330ac6c0ff263cdf79ade17b

8 months agoGlView using DirectRendering 13/273213/11
Adam Bialogonski [Thu, 31 Mar 2022 15:25:46 +0000 (16:25 +0100)]
GlView using DirectRendering

Added GlView::BackendMode enum

The backend mode can be changed only upon the GlView creation. There is no way to change the backend after that.

Change-Id: I0e6c072e9b9b03c65324177ba1c2df9f6cf8d458

8 months agoMerge "Add vertical alignment for text editor" into devel/master
Bowon Ryu [Fri, 8 Apr 2022 04:50:14 +0000 (04:50 +0000)]
Merge "Add vertical alignment for text editor" into devel/master

8 months agoAdd vertical alignment for text editor 39/273039/6
Bowon Ryu [Wed, 30 Mar 2022 03:07:15 +0000 (12:07 +0900)]
Add vertical alignment for text editor

- Support VerticalAlignment for TextEditor
- If the layout size is bigger than control size,
  there is no meaning in calculating the vertical offset.
- But when the text is empty,
  the cursor position should be updated according to the vertical alignment.

Change-Id: I219abf970ff4cb3ce0540244a3f6fd4ed41d24e8
Signed-off-by: Bowon Ryu <>
8 months agoAdjust node scale for avatar models generated by glTF Tools for M-Renderer 19/273419/6
Richard Huang [Tue, 5 Apr 2022 09:31:38 +0000 (10:31 +0100)]
Adjust node scale for avatar models generated by glTF Tools for M-Renderer

Change-Id: I4bbfd455aafd4772e8b0433e469f07e981bcf9d4

8 months agoRefactoring Animated image visual 77/266977/34
seungho [Tue, 23 Nov 2021 08:46:41 +0000 (17:46 +0900)]
Refactoring Animated image visual

 - Animated image file will be opened when the visual is on scene.
 - Only the first frame is cached to cache single frame image as the image visual do.
 - Pause timer when next frame is not cached yet. And resume it after the frame is ready.
 - Load policy and release policy is now supported.

Change-Id: I39a1d93396865f56d6c7e0b54b9d9fffecdc88ef
Signed-off-by: seungho <>
8 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 <>
8 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 <>
8 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
   3) Goto: Files > File List > dali-toolkit > internal > text > markup-tags-and-attributes.h

Change-Id: I42693d0c1ce1169614ccad9391ef4f60a04b3f66

8 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

8 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

8 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

8 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

8 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

8 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

8 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 <>
8 months agoIf USER_INTERACTION_ENABLED is disabled, it shouldn't even be focused. 28/273228/4 [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

8 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

8 months agoIf the Focusable of TextField and TextEditor is set to true, it is modified so that... 67/272967/13 [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

8 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

8 months agoChanged to not always clearFocus when a touch occurs. 53/272953/8 [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

8 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

8 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

8 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

8 months agoFocusChanged callback should be called after Focus has changed. 22/272922/4 [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

8 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

8 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

8 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

8 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

8 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

8 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

8 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 <>
8 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:

                           "<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:

Change-Id: I203c6e1f3a116ae557ffbc84859a121739e6b6c6

8 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:

                           "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

8 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.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

8 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

8 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
"<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:

Change-Id: I7426507b14c73f09aca67b9a22173e8ee5c0db29

8 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:

Change-Id: I3332531528f53e9bc87c6bf194fb6c58d131a269

8 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:

Change-Id: I87bdf96565a22d90d9f1d1000cb719fbfd6dbc84

8 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

8 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

8 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

8 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

8 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.

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 <>
8 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 <>
8 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

8 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

8 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

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

- Test harness changes

Change-Id: I7dce30ebec907fdb1e5ec182216927c0107c44fa

8 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

8 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

8 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

8 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/

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

8 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

8 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

8 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

8 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

8 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

8 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

8 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 <>
8 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

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

Change-Id: Iac3d62a1410ee0cb556f17efbcd2c647e9b503f7

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

Change-Id: I5352a15d78d53ca1efdf171b984be10df2565697

8 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