platform/core/uifw/dali-toolkit.git
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 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

21 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

21 months agoMerge "Use RegisterUniqueProperty for some more renderers" into devel/master
David Steele [Tue, 22 Feb 2022 18:00:19 +0000 (18:00 +0000)]
Merge "Use RegisterUniqueProperty for some more renderers" into devel/master

21 months agoSupport paragraph tag <p> in markup 84/270384/16
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

21 months agoAdd underline to anchor in the markup processor 89/271489/1
Bowon Ryu [Tue, 22 Feb 2022 05:22:53 +0000 (14:22 +0900)]
Add underline to anchor in the markup processor

With a recent change, the underline run provides a color property.
So, now we can support color underline for text anchor style.

Change-Id: I9068a7733c1031b60625cb8fb356ac189aa4ae35
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
21 months agoSupport Markup Underline attributes 88/271188/10
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

21 months agoRefactor some parts in Markup processor 87/271187/3
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

21 months agoMerge "fix issue when strikethrough used without ending tag" into devel/master
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

21 months agoDALi Version 2.1.10 68/271368/1 dali_2.1.10
Richard Huang [Fri, 18 Feb 2022 11:01:25 +0000 (11:01 +0000)]
DALi Version 2.1.10

Change-Id: I61506710ab37c3676889439d6a167337cf9b648e

21 months agoFor custom wheel events, event propagation starts from the focused actor. 64/270164/11
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

21 months agoUse RegisterUniqueProperty for some more renderers 19/270919/3
Eunki, Hong [Fri, 11 Feb 2022 06:16:42 +0000 (15:16 +0900)]
Use RegisterUniqueProperty for some more renderers

RegisterUniqueProperty where we can assume it is register first times.

Change-Id: Iced78be54571caa4c78286cc92f863d79c3dc4c3
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
21 months agoAdded prefix matching to test case execution 41/271041/1
David Steele [Mon, 14 Feb 2022 16:34:52 +0000 (16:34 +0000)]
Added prefix matching to test case execution

Change-Id: Ib7ca723ac2236c5d7ee979a94c9b3ad422cfb4bf

21 months agoMerge "Add forward and backward type for Tab, Shift-Tab key" into devel/master
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

21 months agoDALi Version 2.1.9 56/270956/1 dali_2.1.9
David Steele [Fri, 11 Feb 2022 12:01:50 +0000 (12:01 +0000)]
DALi Version 2.1.9

Change-Id: I9996b14be3ad17fdf2ef701a0cd6876d759e0784

21 months agoAdd forward and backward type for Tab, Shift-Tab key 81/270781/2
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

21 months agofix issue when strikethrough used without ending tag 70/270670/2
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

21 months agoMerge "Set http response body in binary format." into devel/master
Heeyong Song [Mon, 7 Feb 2022 08:13:43 +0000 (08:13 +0000)]
Merge "Set http response body in binary format." into devel/master

21 months agoRemove useless API at VideoView - WidthForHeight / HeightForWidth 91/270591/2
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>
21 months agoMerge "DALi Version 2.1.8" into devel/master
Adeel Kazmi [Fri, 4 Feb 2022 15:36:03 +0000 (15:36 +0000)]
Merge "DALi Version 2.1.8" into devel/master

21 months agoDALi Version 2.1.8 77/270577/1 dali_2.1.8
Adeel Kazmi [Fri, 4 Feb 2022 13:14:58 +0000 (13:14 +0000)]
DALi Version 2.1.8

Change-Id: I96f2a2922ef0d806886cbbd44168127a689d0373

21 months agoFix strikethrough coloring for Textlabel 08/270408/1
abdullah [Tue, 1 Feb 2022 12:23:42 +0000 (14:23 +0200)]
Fix strikethrough coloring for Textlabel

Change-Id: If7518092f6e652d5cafa7ed7c8de380e23941c6f

22 months agoNew with additional behavior flag for some Controls 04/270004/14
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>
22 months agoMerge "Reserved Visual properties on renderer creation" into devel/master
Adeel Kazmi [Fri, 28 Jan 2022 17:06:49 +0000 (17:06 +0000)]
Merge "Reserved Visual properties on renderer creation" into devel/master

22 months agoDALi Version 2.1.7 55/270355/1 dali_2.1.7
Adam Bialogonski [Fri, 28 Jan 2022 12:10:37 +0000 (12:10 +0000)]
DALi Version 2.1.7

Change-Id: If0ebda2cdd6cc14363c1d94faa199986bc0ca424

22 months agoMerge "Add null check for currentFocusActor" into devel/master
joogab yun [Thu, 27 Jan 2022 08:00:55 +0000 (08:00 +0000)]
Merge "Add null check for currentFocusActor" into devel/master

22 months agoAdd null check for currentFocusActor 54/270254/1
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

22 months agoMerge "Adding Character Spacing" into devel/master
Bowon Ryu [Thu, 27 Jan 2022 01:19:30 +0000 (01:19 +0000)]
Merge "Adding Character Spacing" into devel/master

22 months agoMerge "Add SelectionStarted signal" into devel/master
Bowon Ryu [Wed, 26 Jan 2022 03:17:19 +0000 (03:17 +0000)]
Merge "Add SelectionStarted signal" into devel/master

22 months agoAdd SelectionStarted signal 16/269516/7
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

22 months agoReserved Visual properties on renderer creation 98/270098/1
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>
22 months agoAdding Character Spacing 90/260890/78
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

22 months agoMerge "fix wrong description in text-style" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 11:02:52 +0000 (11:02 +0000)]
Merge "fix wrong description in text-style" into devel/master

22 months agoSet http response body in binary format. 38/269638/2
huayong.xu [Wed, 19 Jan 2022 10:28:16 +0000 (18:28 +0800)]
Set http response body in binary format.

Change-Id: Idedacaae4d62f96c098d6a1684a7c2ebdac5f598

22 months agoMerge "[AT-SPI] Remove GetBoundAccessibilityObject" into devel/master
Seoyeon Kim [Mon, 24 Jan 2022 05:37:44 +0000 (05:37 +0000)]
Merge "[AT-SPI] Remove GetBoundAccessibilityObject" into devel/master

22 months agofix wrong description in text-style 00/270000/1
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>
22 months agoMerge "Fix svace issue on text-visual" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 01:46:16 +0000 (01:46 +0000)]
Merge "Fix svace issue on text-visual" into devel/master

22 months agoMerge "Fix svace issue on text controller" 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

22 months agoMerge "Synchronizing test harness" into devel/master
Adeel Kazmi [Fri, 21 Jan 2022 16:15:01 +0000 (16:15 +0000)]
Merge "Synchronizing test harness" into devel/master

22 months ago[AT-SPI] Remove GetBoundAccessibilityObject 12/269912/2
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

22 months agoMerge "[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChan...
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

22 months agoSynchronizing test harness 17/269917/2
David Steele [Fri, 21 Jan 2022 11:38:00 +0000 (11:38 +0000)]
Synchronizing test harness

Change-Id: Icf349509f0c61595b2b8a756e560825b7ea82bf7

22 months agoMerge "DALi Version 2.1.6" into devel/master
David Steele [Fri, 21 Jan 2022 11:51:12 +0000 (11:51 +0000)]
Merge "DALi Version 2.1.6" into devel/master

22 months agoDALi Version 2.1.6 22/269922/1 dali_2.1.6
Richard Huang [Fri, 21 Jan 2022 11:44:40 +0000 (11:44 +0000)]
DALi Version 2.1.6

Change-Id: Ib6d2323dac18ead1433c30de6f45baf13a5bdc6b

22 months ago[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged 11/269911/1
Artur Świgoń [Fri, 21 Jan 2022 09:55:46 +0000 (10:55 +0100)]
[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged

Change-Id: I3151a873ced92e3e9c9b51fae0262abd1f4b3a8c

22 months agoMerge "[AT-SPI] Mark text cursors as ACCESSIBILITY_HIDDEN" into devel/master
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

22 months agoMerge "[AT-SPI] Notify parent Accessible when ACCESSIBILITY_HIDDEN is set" into devel...
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

22 months agoFix svace issue on text-visual 90/269890/1
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>
22 months agoFix svace issue on text controller 84/269884/1
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>
22 months agoMerge "Improved visual base property registration speed" into devel/master
David Steele [Thu, 20 Jan 2022 15:59:40 +0000 (15:59 +0000)]
Merge "Improved visual base property registration speed" into devel/master

22 months agoMerge "Forced all ControlWrapper instances to ignore styling" 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

22 months agoForced all ControlWrapper instances to ignore styling 49/269849/1
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>
22 months agoImproved visual base property registration speed 49/269649/1
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>
22 months agoMerge "support strikethrough markup tag" into devel/master
Bowon Ryu [Wed, 19 Jan 2022 11:42:23 +0000 (11:42 +0000)]
Merge "support strikethrough markup tag" into devel/master

22 months ago[AT-SPI] Mark text cursors as ACCESSIBILITY_HIDDEN 96/268896/4
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

22 months ago[AT-SPI] Notify parent Accessible when ACCESSIBILITY_HIDDEN is set 74/268674/7
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

22 months agoReplace obsolete safe bool idiom with explicit operator bool 02/269402/2
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

22 months agoDALi Version 2.1.5 66/269466/1 dali_2.1.5
David Steele [Fri, 14 Jan 2022 15:40:33 +0000 (15:40 +0000)]
DALi Version 2.1.5

Change-Id: I308a8aff18dae9775050a62348ed3b76283c702e

22 months agosupport strikethrough markup tag 48/260348/12
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

22 months agoMerge "Extending Text Styles - Adding Dashed/Double Underline" into devel/master
Bowon Ryu [Thu, 13 Jan 2022 05:53:38 +0000 (05:53 +0000)]
Merge "Extending Text Styles - Adding Dashed/Double Underline" into devel/master

22 months agoUnregister visual directly when IMAGE have invalid value 31/269231/4
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>
22 months agoExtending Text Styles - Adding Dashed/Double Underline 30/257630/38
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

22 months agoMerge "Add a callback for navigation policy in web view." into devel/master
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

22 months agoMerge "Extending Style - Adding Strikethrough" into devel/master
Bowon Ryu [Mon, 10 Jan 2022 10:32:53 +0000 (10:32 +0000)]
Merge "Extending Style - Adding Strikethrough" into devel/master

22 months agoMerge "DALi Version 2.1.4" 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

22 months agoDALi Version 2.1.4 89/269089/1 dali_2.1.4
Adam Bialogonski [Fri, 7 Jan 2022 10:05:41 +0000 (10:05 +0000)]
DALi Version 2.1.4

Change-Id: I3144cd32c56d0226f545406e8afd7cc6f9a864bd

22 months agoMerge "Add ENABLE_FONT_SIZE_SCALE property to text components" into devel/master
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

22 months agoMerge "Fix text written below cursor bug" 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

22 months agoFix text written below cursor bug 39/268839/3
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

22 months agoAdd ENABLE_FONT_SIZE_SCALE property to text components 99/268999/2
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>
22 months agoMerge "Refactorying code related to broken image" into devel/master
sunghyun kim [Thu, 6 Jan 2022 04:49:03 +0000 (04:49 +0000)]
Merge "Refactorying code related to broken image" into devel/master