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
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
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>
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>
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
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
joogab yun [Mon, 21 Mar 2022 00:57:21 +0000 (00:57 +0000)]
Merge "Add deviceName to GetNextFocusableView() in CustomFocusAlgorithm." into devel/master
Adam Bialogonski [Tue, 15 Mar 2022 10:55:18 +0000 (10:55 +0000)]
DirectRendering:
- Test harness changes
Change-Id: I7dce30ebec907fdb1e5ec182216927c0107c44fa
Richard Huang [Fri, 18 Mar 2022 11:23:29 +0000 (11:23 +0000)]
DALi Version 2.1.14
Change-Id: I3bbbf6faeadcfefb06bd42e49ca899d2e1645d2e
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
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
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
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
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
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
Adeel Kazmi [Mon, 14 Mar 2022 18:58:51 +0000 (18:58 +0000)]
Removed erroneous format file
Change-Id: Ic9d072d8dea448ef88c075b0862885df889c313f
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
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
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>
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
joogab.yun [Fri, 4 Mar 2022 06:05:42 +0000 (15:05 +0900)]
Add deviceName to GetNextFocusableView() in CustomFocusAlgorithm.
Change-Id: Iac3d62a1410ee0cb556f17efbcd2c647e9b503f7
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
Adeel Kazmi [Fri, 11 Mar 2022 15:33:27 +0000 (15:33 +0000)]
Merge "DALi Version 2.1.13" into devel/master
David Steele [Fri, 11 Mar 2022 15:21:56 +0000 (15:21 +0000)]
DALi Version 2.1.13
Change-Id: I9a0ba5596b1250b8de9240c45dd28ea72fcc155e
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
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>
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
David Steele [Thu, 10 Mar 2022 11:37:23 +0000 (11:37 +0000)]
Updating code formatting
Change-Id: I71f58722bae7d13c9866cf7c4f724e09d1ced85b
David Steele [Thu, 10 Mar 2022 11:15:45 +0000 (11:15 +0000)]
Merge "Updated visuals to use VisualRenderer" into devel/master
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>
Shinwoo Kim [Thu, 10 Mar 2022 01:36:03 +0000 (01:36 +0000)]
Merge "[AT-SPI] text: add "GetRangeExtents" interface" into devel/master
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
joogab yun [Tue, 8 Mar 2022 00:58:02 +0000 (00:58 +0000)]
Merge "Remove dead code." into devel/master
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
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
Bowon Ryu [Mon, 7 Mar 2022 10:53:15 +0000 (10:53 +0000)]
Merge "Improve the underline markup" 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
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>
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
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
David Steele [Fri, 4 Mar 2022 11:20:38 +0000 (11:20 +0000)]
Merge "DALi Version 2.1.12" into devel/master
Adeel Kazmi [Fri, 4 Mar 2022 10:00:56 +0000 (10:00 +0000)]
DALi Version 2.1.12
Change-Id: I932e0e95ba9d114c62de87fa73530437ffa9a33f
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>
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
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
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
abdullah [Mon, 28 Feb 2022 14:50:04 +0000 (17:50 +0300)]
fix issue with text size with negative line spacing
Change-Id: If19a05e9b037bcf4076bc1761bab9976d652e6f3
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
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
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
Adam Bialogonski [Fri, 25 Feb 2022 11:47:16 +0000 (11:47 +0000)]
DALi Version 2.1.11
Change-Id: I8074b796513240ec397995e652f6e6bba6dce774
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
Bowon Ryu [Thu, 24 Feb 2022 10:34:59 +0000 (10:34 +0000)]
Merge "Support paragraph tag <p> in markup" into devel/master
Bowon Ryu [Thu, 24 Feb 2022 10:16:22 +0000 (10:16 +0000)]
Merge "fix cursor visible issue" into devel/master
Eunki Hong [Wed, 23 Feb 2022 17:54:04 +0000 (17:54 +0000)]
Merge "Make TextureHash as buffer" 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
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>
David Steele [Wed, 23 Feb 2022 15:15:43 +0000 (15:15 +0000)]
Merge "Split texture-manager-impl files" into devel/master
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>
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
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>
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
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>
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
David Steele [Tue, 22 Feb 2022 18:00:19 +0000 (18:00 +0000)]
Merge "Use RegisterUniqueProperty for some more renderers" into devel/master
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
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>
ssabah [Wed, 9 Feb 2022 16:24:55 +0000 (18:24 +0200)]
Support Markup Underline attributes
Underline attributes:
- type
- color
- height
- dash-gap
- dash-width
How to apply it:
=========================================================================================
TextLabel textLabel = TextLabel::New();
std::string exampleText =
"START<u>only underline</u>THEN"
"<u type='solid'>type is solid</u>THEN"
"<u type='dashed'>type is dashed</u>THEN"
"<u type='double'>type is double</u>THEN"
"<u color='green'>color is green</u>THEN"
"<u height='5.0f'>height is 5</u>THEN"
"<u type='dashed' dash-gap='3.0f'>dashGap is 3</u>THEN"
"<u type='dashed' dash-width='4.0f'>dashWidth is 4</u>THEN"
"<u color='blue' type='dashed' height='4.0f' dash-gap='2.0f' dash-width='3.0f'>all attributes</u>END";
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::TEXT, exampleText);
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP, true);
textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::MULTI_LINE, true);
=========================================================================================
This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/271187
Change-Id: I4ca7f11a1b0eeab51e90b48c3d1bbc470ad628e8
ssabah [Wed, 9 Feb 2022 15:19:37 +0000 (17:19 +0200)]
Refactor some parts in Markup processor
Simplify some functions and reduce duplicated code
Adding some needed common functions
Change-Id: I41104772649633e5bfe864d8b23730f1a4ff26a6
Bowon Ryu [Mon, 21 Feb 2022 08:36:57 +0000 (08:36 +0000)]
Merge "fix issue when strikethrough used without ending tag" into devel/master
Richard Huang [Fri, 18 Feb 2022 11:01:25 +0000 (11:01 +0000)]
DALi Version 2.1.10
Change-Id: I61506710ab37c3676889439d6a167337cf9b648e
joogab.yun [Wed, 26 Jan 2022 06:59:56 +0000 (15:59 +0900)]
For custom wheel events, event propagation starts from the focused actor.
Previously, RotaryEvents could always be received only by window.
Now, User can receive Rotary Events in focused View as well.
It is also possible to propagate events to the parent view.
If there is no focused View, the window will receive the event.
This only applies to Rotary Event(CustomWheel type).
Change-Id: Ifc2f180246bb282efeb5094f970f38b0b76d8dad
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>
David Steele [Mon, 14 Feb 2022 16:34:52 +0000 (16:34 +0000)]
Added prefix matching to test case execution
Change-Id: Ib7ca723ac2236c5d7ee979a94c9b3ad422cfb4bf
joogab yun [Sat, 12 Feb 2022 00:22:23 +0000 (00:22 +0000)]
Merge "Add forward and backward type for Tab, Shift-Tab key" into devel/master
David Steele [Fri, 11 Feb 2022 12:01:50 +0000 (12:01 +0000)]
DALi Version 2.1.9
Change-Id: I9996b14be3ad17fdf2ef701a0cd6876d759e0784
joogab.yun [Wed, 9 Feb 2022 02:01:31 +0000 (11:01 +0900)]
Add forward and backward type for Tab, Shift-Tab key
Change-Id: I3f74f543463c776abf3f1d2a4b5e2ce856868fb4
abdullah [Mon, 7 Feb 2022 14:20:03 +0000 (16:20 +0200)]
fix issue when strikethrough used without ending tag
when we use <s> without ending tag, only one character get strike through,
other tags do not apply the tag at all.
fixed the behavior to be like the other tags.
Change-Id: I94419b923772401af0f0c3e17524521bf2ade892
Heeyong Song [Mon, 7 Feb 2022 08:13:43 +0000 (08:13 +0000)]
Merge "Set http response body in binary format." into devel/master
Eunki, Hong [Fri, 4 Feb 2022 13:59:18 +0000 (22:59 +0900)]
Remove useless API at VideoView - WidthForHeight / HeightForWidth
VideoView::WidthForHeight and VideoView::HeightForWidth
did exactly same jobs as Control::~~~For~~~. So just erase it.
Change-Id: Id741abaf5884651ed921e23727c3a0acf8085f16
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 4 Feb 2022 15:36:03 +0000 (15:36 +0000)]
Merge "DALi Version 2.1.8" into devel/master
Adeel Kazmi [Fri, 4 Feb 2022 13:14:58 +0000 (13:14 +0000)]
DALi Version 2.1.8
Change-Id: I96f2a2922ef0d806886cbbd44168127a689d0373
abdullah [Tue, 1 Feb 2022 12:23:42 +0000 (14:23 +0200)]
Fix strikethrough coloring for Textlabel
Change-Id: If7518092f6e652d5cafa7ed7c8de380e23941c6f
Eunki, Hong [Mon, 24 Jan 2022 06:06:31 +0000 (15:06 +0900)]
New with additional behavior flag for some Controls
Add new "New" function that we can append additional ControlBehaviour
Toolkit::Control::ControlBehaviour was hard-coding. we should change it
as valid type as we can in future.
Current code only works in Control and ImageView and TextLabel.
Change-Id: Iee12d71f699444cd0e85dfa84b485f12086545f2
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Adeel Kazmi [Fri, 28 Jan 2022 17:06:49 +0000 (17:06 +0000)]
Merge "Reserved Visual properties on renderer creation" into devel/master
Adam Bialogonski [Fri, 28 Jan 2022 12:10:37 +0000 (12:10 +0000)]
DALi Version 2.1.7
Change-Id: If0ebda2cdd6cc14363c1d94faa199986bc0ca424
joogab yun [Thu, 27 Jan 2022 08:00:55 +0000 (08:00 +0000)]
Merge "Add null check for currentFocusActor" into devel/master
joogab.yun [Thu, 27 Jan 2022 06:44:28 +0000 (15:44 +0900)]
Add null check for currentFocusActor
Integration::SceneHolder::Get(currentFocusActor);
it crashes if currentFocusActor is null.
Change-Id: Ia3d5f2e47060bd33ee691ebf36b5e0504b1a4a7d
Bowon Ryu [Thu, 27 Jan 2022 01:19:30 +0000 (01:19 +0000)]
Merge "Adding Character Spacing" into devel/master
Bowon Ryu [Wed, 26 Jan 2022 03:17:19 +0000 (03:17 +0000)]
Merge "Add SelectionStarted signal" into devel/master
abdullah [Mon, 17 Jan 2022 15:24:25 +0000 (17:24 +0200)]
Add SelectionStarted signal
added signal which will be called when selection started
void OnSelectionStarted(TextEditor textEditor)
Change-Id: I1ec070f5ebba419d8da2a75693c9c94d8f7f16bb
David Steele [Tue, 25 Jan 2022 11:24:59 +0000 (11:24 +0000)]
Reserved Visual properties on renderer creation
Ensured that the visual properties are reserved prior to registration,
this will prevent reallocation during creation, and save a little time.
Change-Id: I4010d4dd145c723e2c8be9231487ccd603be8f8c
Signed-off-by: David Steele <david.steele@samsung.com>
Sara Samara [Tue, 6 Jul 2021 08:48:26 +0000 (11:48 +0300)]
Adding Character Spacing
***********************************************************
Description:
Adding the CHARACTER_SPACING for text-editor, text-field and text-label.
CHARACTER_SPACING determines the spaces between characters.
A positive value will make the characters far apart (expanded) and a negative value will bring them closer (condensed).
The sample code below can be used to test the CHARACTER_SPACING.
***********************************************************
using namespace Dali;
using namespace Dali::Toolkit;
class SimpleApp : public ConnectionTracker
{
public:
SimpleApp(Application &application)
: mApplication(application)
{
mApplication.InitSignal().Connect(this, &SimpleApp::Create);
}
void Create(Application &application)
{
Window window = application.GetWindow();
window.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
mEditor = TextEditor::New();
mEditor.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
mEditor.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
mEditor.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
mEditor.SetProperty(Actor::Property::SIZE, Vector2(200.f, 100.0f));
mEditor.SetBackgroundColor(Vector4(0.04f, 0.345f, 0.392f, 1.0f));
mEditor.SetProperty(TextEditor::Property::TEXT, "A long text that exceeds the editor's width.");
mEditor.SetProperty(DevelTextEditor::Property::CHARACTER_SPACING, 15.0f);
// mLabel = TextLabel::New();
// mLabel.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
// mLabel.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
// mLabel.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
// mLabel.SetProperty(Actor::Property::SIZE, Vector2(400.f, 200.0f));
// mLabel.SetProperty(TextLabel::Property::TEXT_COLOR, Color::BLACK);
// mLabel.SetProperty(TextLabel::Property::TEXT, "A long text text text that exceeds the label's width.");
// mLabel.SetProperty(DevelTextLabel::Property::CHARACTER_SPACING, 10.0f);
// mLabel.SetProperty(TextLabel::Property::ELLIPSIS, false);
// mField = TextField::New();
// mField.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER);
// mField.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER);
// mField.SetProperty(Actor::Property::POSITION, Vector3(0.f, 0.0f, 0.f));
// mField.SetProperty(Actor::Property::SIZE, Vector2(200.f, 100.0f));
// mField.SetProperty(TextField::Property::TEXT, "A long text text text that exceeds the field's width.");
// mField.SetProperty(DevelTextField::Property::CHARACTER_SPACING, 10.0f);
// mField.SetProperty(TextField::Property::ELLIPSIS, false);
//window.Add(mLabel);
window.Add(mEditor);
//window.Add(mField);
}
bool OnButtonClicked(Button button)
{
if (button == mButton)
{
Vector3 originalSize = mEditor.GetNaturalSize();
}
return true;
}
private:
Application &mApplication;
TextEditor mEditor;
PushButton mButton;
TextField mField;
TextLabel mLabel;
};
int DALI_EXPORT_API main(int argc, char **argv)
{
Application application = Application::New(&argc, &argv);
SimpleApp test(application);
application.MainLoop();
return 0;
}
Change-Id: Ibd89f1398e391dc56e3a230c7a136cfe07edc37a
Bowon Ryu [Mon, 24 Jan 2022 11:02:52 +0000 (11:02 +0000)]
Merge "fix wrong description in text-style" into devel/master
huayong.xu [Wed, 19 Jan 2022 10:28:16 +0000 (18:28 +0800)]
Set http response body in binary format.
Change-Id: Idedacaae4d62f96c098d6a1684a7c2ebdac5f598
Seoyeon Kim [Mon, 24 Jan 2022 05:37:44 +0000 (05:37 +0000)]
Merge "[AT-SPI] Remove GetBoundAccessibilityObject" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 05:21:25 +0000 (14:21 +0900)]
fix wrong description in text-style
the default dash width is 2 pixels
Change-Id: I91c4a1458f354c67ea8348fad29dc65a8e079711
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Mon, 24 Jan 2022 01:46:16 +0000 (01:46 +0000)]
Merge "Fix svace issue on text-visual" into devel/master
Bowon Ryu [Mon, 24 Jan 2022 01:46:11 +0000 (01:46 +0000)]
Merge "Fix svace issue on text controller" into devel/master
Adeel Kazmi [Fri, 21 Jan 2022 16:15:01 +0000 (16:15 +0000)]
Merge "Synchronizing test harness" into devel/master