platform/core/uifw/dali-adaptor.git
2 years agoDirectRendering: 77/270677/10
Adam Bialogonski [Wed, 16 Mar 2022 14:24:11 +0000 (14:24 +0000)]
DirectRendering:

- Implemented DrawNative() command for GL
- Creating individual context for native rendering (per window)

Change-Id: I45e9a3d938d654c1b660370c8cf3b5f91eea9c33

2 years agoWbmp load faster 31/272431/8
Eunki, Hong [Wed, 16 Mar 2022 12:24:30 +0000 (21:24 +0900)]
Wbmp load faster

1. Remove useless memcpy.
2. bit operation more faster

Change-Id: I7db9a239159670e7a3a22a3c2c951b7da0cd4e59
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "Fix crash issue when we decode some bmp" into devel/master
Eunki Hong [Fri, 18 Mar 2022 11:57:20 +0000 (11:57 +0000)]
Merge "Fix crash issue when we decode some bmp" into devel/master

2 years agoDALi Version 2.1.14 42/272542/1 dali_2.1.14
Richard Huang [Fri, 18 Mar 2022 11:23:24 +0000 (11:23 +0000)]
DALi Version 2.1.14

Change-Id: Iafb2cc1aaec7f680f9ae06b8847825c693f396d1

2 years agoFix crash issue when we decode some bmp 34/272534/1
Eunki, Hong [Fri, 18 Mar 2022 08:18:38 +0000 (17:18 +0900)]
Fix crash issue when we decode some bmp

Some code use 'char' instead of 'unsigned char'.
and next, try to convert that value as 'unsigned int'
If char value was 255 (== -1), converted value become INT_MAX.

This patch make BMP decoder use correct data format

Change-Id: I4f08e28c916eb34f2d06da452b6dde6638d1789b
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDragAndDrop: disable default cursor while dragging 00/272400/2
Taehyub Kim [Wed, 16 Mar 2022 01:43:36 +0000 (18:43 -0700)]
DragAndDrop: disable default cursor while dragging

Change-Id: I4f3a0b4bc34f6b7846800d8e01daf6c5d63b3b2b

2 years agoDALi Version 2.1.13 46/272246/1 dali_2.1.13
David Steele [Fri, 11 Mar 2022 15:21:51 +0000 (15:21 +0000)]
DALi Version 2.1.13

Change-Id: I88d6a6dee053b5729bd45106246a2c3bf41a363e

2 years agoTest harness sync 83/272183/2
David Steele [Thu, 10 Mar 2022 14:46:43 +0000 (14:46 +0000)]
Test harness sync

Change-Id: I5eb7873c01501e66ed1b94f5463dbbea407c4236

2 years agoMerge "Test harness sync" into devel/master
David Steele [Thu, 10 Mar 2022 11:15:29 +0000 (11:15 +0000)]
Merge "Test harness sync" into devel/master

2 years agoFix coverity issue on jpeg loader : Add null check 52/272152/1
Eunki, Hong [Thu, 10 Mar 2022 07:23:03 +0000 (16:23 +0900)]
Fix coverity issue on jpeg loader : Add null check

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

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

2 years agoTest harness sync 76/271776/2
David Steele [Mon, 28 Feb 2022 11:46:18 +0000 (11:46 +0000)]
Test harness sync

Change-Id: I9a5c6ea9faa193e67751b1fd9c9e129cc045df92

2 years agoMerge "[AT-SPI] Add Socket interface" into devel/master
Artur Świgoń [Fri, 4 Mar 2022 13:21:27 +0000 (13:21 +0000)]
Merge "[AT-SPI] Add Socket interface" into devel/master

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

2 years agoDALi Version 2.1.12 86/271986/1 dali_2.1.12
Adeel Kazmi [Fri, 4 Mar 2022 10:00:51 +0000 (10:00 +0000)]
DALi Version 2.1.12

Change-Id: Id84ef48d43da2173e9f025124d41bf0d1d7d89b3

2 years agoMerge "dnd : Added more functions to drag and drop." into devel/master
Taehyub Kim [Fri, 4 Mar 2022 06:01:59 +0000 (06:01 +0000)]
Merge "dnd : Added more functions to drag and drop." into devel/master

2 years ago[AT-SPI] text: add "GetRangeExtents" interface 59/271759/5
Shinwoo Kim [Mon, 28 Feb 2022 07:46:23 +0000 (16:46 +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: Iea4881269ee53807d75c0236c35672be7208fdac

2 years agodnd : Added more functions to drag and drop. 82/271682/8
Taehyub Kim [Thu, 24 Feb 2022 13:04:05 +0000 (22:04 +0900)]
dnd : Added more functions to drag and drop.

- Add DragData struct for StartDragAndDrop API which supports mime type to identify drag data type
- Add mime type to DragEvent to know drag data type when drag data is received
- Add RemoveListener API to pair with the AddListener API

Change-Id: I6d262874adb88bed78090288ca6694d5bd030fe2

2 years agoMerge "Speedup image channel operation + alpha masking + etc" into devel/master
David Steele [Wed, 2 Mar 2022 14:26:26 +0000 (14:26 +0000)]
Merge "Speedup image channel operation + alpha masking + etc" into devel/master

2 years agoMerge "[AT-SPI] Rework Accessible::GetInterfaces()" into devel/master
Seoyeon Kim [Wed, 2 Mar 2022 07:14:49 +0000 (07:14 +0000)]
Merge "[AT-SPI] Rework Accessible::GetInterfaces()" into devel/master

2 years agoSpeedup image channel operation + alpha masking + etc 02/271702/10
Eunki, Hong [Fri, 25 Feb 2022 06:08:15 +0000 (15:08 +0900)]
Speedup image channel operation + alpha masking + etc

Refactoring image channel selection algorithm.
Previous version run some unneccessary iterations
to select the offset of channel.
This patch change that we use offset pre-calculated table.
Now we can select & apply O(1) time complexity.
+
Remove unneccessary float operation during alpha masking.
+
Add some more dark magics on linear interpolation jobs.
+
Add some more dark magics on scanline.
Before patch reduced only each-line. This patch also reduce between-line operation
This patch, we can calculate 8 components in one operation.

Change-Id: I3b1ce7abbd5d719cd580c789167970e9012e3dbd
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoDALi Version 2.1.11 30/271730/1 dali_2.1.11
Adam Bialogonski [Fri, 25 Feb 2022 11:47:11 +0000 (11:47 +0000)]
DALi Version 2.1.11

Change-Id: Id51d322b6020b35ba54898ab62f52d9525b51a3a

2 years ago[AT-SPI] Add Socket interface 55/260855/12
Artur Świgoń [Tue, 15 Feb 2022 10:03:10 +0000 (11:03 +0100)]
[AT-SPI] Add Socket interface

Change-Id: I199c18011d24f7984e5f4cb95b5e626a418ab2ec

2 years ago[AT-SPI] Rework Accessible::GetInterfaces() 72/270772/11
Artur Świgoń [Tue, 8 Feb 2022 08:19:46 +0000 (09:19 +0100)]
[AT-SPI] Rework Accessible::GetInterfaces()

This patch:

* Introduces an AtspiInterface enumeration with all possible AT-SPI
interfaces and an AtspiInterfaces collection (using EnumBitSet), and
changes the return type of Accessible::GetInterfaces() to
AtspiInterfaces. The new, compact storage format allows the collection
of interfaces to be cached. Interfaces will be queried even more often
with the upcoming polymorphic NUIViewAccessible. Thus, it makes sense to
introduce such an optimization, and checking whether a bit is set in a
4-byte bitmask is significantly cheaper than performing a series of
dynamic_cast's every time GetInterfaces() is called. Such calculation is
only performed once by a new virtual method, DoGetInterfaces().

* Adds a new static method Accessible::GetInterfaceName() which converts
an AtspiInterface value to a string identifier used in DBus
communication, which allows to remove most of the macro definitions in
accessibility-common.h.

* Adds some missing operators to Accessibility::BitSet and EnumBitSet.

* Introduces a template type resolver AtspiInterfaceType which converts
an AtspiInterface value to a native C++ type, and adds
Accessible::DownCast() which uses this helper to check both the return
value of GetInterfaces() and the result of dynamic_cast. This double
checking is required by the upcoming NUIViewAccessible. As a possible
optimization, dynamic_cast could be changed to static_cast for release
builds in the future (which should be safe as long as DoGetInterfaces()
is implemented correctly).

* Adds a new template method FindCurrentObjectWithInterface() to
BridgeBase in order to centralize previously duplicated error return
logic in implementations of FindSelf() in various Bridge classes, which
differed only in the target type and interface name to be reported in
the error DBus reply.

* Adds a new virtual method Accessible::DoGetInterfaces() which allows
any derived classes to customize (specifically, narrow down) the set of
interfaces visible to DBus callers (and FindCurrentObjectWithInterface()
respects that). This is the first step towards allowing NUI controls to
freely implement AT-SPI interfaces (currently they have to choose from a
small predefined set of NUIViewAccessible-derived classes due to the use
of dynamic_cast).

Change-Id: I14428ec20693a9b121d40ac1b12b6e30c709d313

2 years agoMerge "Make some image operation as bitwise operation + Reduce alpha-masking op"...
Eunki Hong [Wed, 23 Feb 2022 17:39:51 +0000 (17:39 +0000)]
Merge "Make some image operation as bitwise operation + Reduce alpha-masking op" into devel/master

2 years agoMerge "Implement some more speed-up : don't copy geometry" into devel/master
David Steele [Wed, 23 Feb 2022 17:13:35 +0000 (17:13 +0000)]
Merge "Implement some more speed-up : don't copy geometry" into devel/master

2 years agoMake some image operation as bitwise operation + Reduce alpha-masking op 24/271624/4
Eunki, Hong [Wed, 23 Feb 2022 12:50:05 +0000 (21:50 +0900)]
Make some image operation as bitwise operation + Reduce alpha-masking op

Make some simple arithmetic (and computer don't friendly) operations as
2-bit bitwise (and computer friendly) operations.
+
Tiny optimizer when premultiply alpha image pixels

Change-Id: Iff1878d7a6709d54a59cea5cffd55c69cbb7b0cb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoVectorImageRenderer: Fix data released in case of async loading 36/271536/2
Michal Maciola [Mon, 21 Feb 2022 13:30:47 +0000 (14:30 +0100)]
VectorImageRenderer: Fix data released in case of async loading

If thorvg is used by multiple processes it can't be guaranteed that particular
amount of threads will be used. Especially if we choose to work synchronously,
another process may force it to run asynchronously.
This patch changes copy parameter of load() to true, so to assure that in case
of asynchronous execution the data will not be released before the vector
image loaded.
It also adds printing of the return code in case of mSwCanvas->draw() failure.

Change-Id: I539323768d9fa0be0aeb165b161086973efddd8b

2 years agoImplement some more speed-up : don't copy geometry 34/271534/1
Eunki, Hong [Tue, 22 Feb 2022 12:48:33 +0000 (21:48 +0900)]
Implement some more speed-up : don't copy geometry

Make some GraphicsCommand API's input as const vector<>&

These will not copy the internal values. and also we can assume that
inputed data didn't change in that API.

Change-Id: Iffd0e53aa114ccf194b63b1ae9648d7729e9b763
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoFix Coverity issue 06/271506/2
Seoyeon Kim [Tue, 22 Feb 2022 07:27:59 +0000 (16:27 +0900)]
Fix Coverity issue

- Initialized mData, which is std::array type, explicitly.
 Then, BitSet constructor does not need to fill it with zero.

Change-Id: I40bd13bab1603633afc21a25917f361553b9a402
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
2 years agoFixing static analysis failures 57/271457/1
David Steele [Mon, 21 Feb 2022 12:29:24 +0000 (12:29 +0000)]
Fixing static analysis failures

Change-Id: I8239a1648da1c1b91dc366af8f1bb178e3f25bd7

2 years agoMerge "DALi Version 2.1.10" into devel/master
Adeel Kazmi [Fri, 18 Feb 2022 11:13:05 +0000 (11:13 +0000)]
Merge "DALi Version 2.1.10" into devel/master

2 years agoDALi Version 2.1.10 67/271367/1 dali_2.1.10
Richard Huang [Fri, 18 Feb 2022 11:01:20 +0000 (11:01 +0000)]
DALi Version 2.1.10

Change-Id: Ic308305d4d1ccccdd98a25efaf5d3b7e4b37f3c0

2 years agoRemove graphics-api relative codes in public-api/application.h 51/271351/2
Eunki, Hong [Fri, 18 Feb 2022 07:22:41 +0000 (16:22 +0900)]
Remove graphics-api relative codes in public-api/application.h

graphics-api is not public.
so when someone try to include #include<dali/dali.h>, It occure complie error
due to dali/graphics-api/graphics-controller.h is not exist.

This patch remove that temperal codes, and make it compilable

Change-Id: I94404d36f223ea35213bf4f137f9b1d947aae165
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoMerge "dali-adaptor: Multi-Window DnD Feature Implementation" into devel/master
Taehyub Kim [Fri, 18 Feb 2022 04:13:01 +0000 (04:13 +0000)]
Merge "dali-adaptor: Multi-Window DnD Feature Implementation" into devel/master

2 years agoMerge "Add Maximize/Minimized in Window" into devel/master
Wonsik Jung [Fri, 18 Feb 2022 03:00:41 +0000 (03:00 +0000)]
Merge "Add Maximize/Minimized in Window" into devel/master

2 years agoAdd WheelEventGeneratedSignal and add clockwise value 63/270163/13
joogab.yun [Fri, 28 Jan 2022 04:13:23 +0000 (13:13 +0900)]
Add WheelEventGeneratedSignal and add clockwise value

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

2 years agoChange more Vector::Resize in file downloader + Add missing comments 48/271148/2
Eunki, Hong [Wed, 16 Feb 2022 02:51:43 +0000 (11:51 +0900)]
Change more Vector::Resize in file downloader + Add missing comments

Change more jobs with buffer-relative resizes
+
Do some missing code style relative job. actually, copyright change.

Change-Id: I9ac8b7a69ec43df552a1bc367a2a0c5abb95c07d
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agoAdd Maximize/Minimized in Window 90/266890/10
Hosang Kim [Mon, 22 Nov 2021 05:54:48 +0000 (14:54 +0900)]
Add Maximize/Minimized in Window

1. Add Maximize/Minimized in Window.
This functions set maximized window or minimized window.
It is to support window border in client side.

2. Add log for egl window surface
For debugging, add log to print egl window surface's instance.

3. Fix window move or resize by display server.
When window is moved or resized by display server, DALi got configure notification event.
If DALi receives this event, DALi should not called ecore-wl2 window's move/resize function.

Change-Id: I0d1296996d9b6be152f7588913f1a16fef48f6df

2 years agoResizeUninitialized for some memory copy actions 17/271117/1
Eunki, Hong [Tue, 15 Feb 2022 12:38:56 +0000 (21:38 +0900)]
ResizeUninitialized for some memory copy actions

For some dest of memory copy action, they don't need to initialize.
And previous Dali::Vector.Resize action repeat PushBack().

This patch replace these resize action as ResizeUninitialized() function.
That function just Reserve + SetCount so don't initialize data internally.
Most of memory-related jobs don't care about the number of items
Inside of Dali::Vector. So it is effective

It make jpg image load more faster

Change-Id: I0c429e73ad20469384910df971d8922b53fc9192
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years agodali-adaptor: Multi-Window DnD Feature Implementation 04/263704/45
Taehyub Kim [Wed, 8 Sep 2021 10:12:18 +0000 (19:12 +0900)]
dali-adaptor: Multi-Window DnD Feature Implementation

Change-Id: I26d8e7de9ab93156affd2b5c7845b9d6fff8d61e

2 years agoAdded prefix matching to test case execution 42/271042/1
David Steele [Mon, 14 Feb 2022 16:37:12 +0000 (16:37 +0000)]
Added prefix matching to test case execution

Change-Id: I5884a6cb65255a377bd2e7dca29fae0e34335ada

2 years agoMerge "DALi Version 2.1.9" into devel/master
Adeel Kazmi [Fri, 11 Feb 2022 12:07:09 +0000 (12:07 +0000)]
Merge "DALi Version 2.1.9" into devel/master

2 years agoDALi Version 2.1.9 55/270955/1 dali_2.1.9
David Steele [Fri, 11 Feb 2022 12:01:45 +0000 (12:01 +0000)]
DALi Version 2.1.9

Change-Id: I1955fa878514c6dc525ddc01b7b6113024920e2d

2 years agoAdd FeedKeyEvent, FeedTouchPoint and FeedWheelEvent 17/270917/3
joogab.yun [Fri, 11 Feb 2022 06:13:44 +0000 (15:13 +0900)]
Add FeedKeyEvent, FeedTouchPoint and FeedWheelEvent

Change-Id: Ib1868528abdcd292e86585b535efbbedafcce934

2 years ago[AT-SPI] Refactor Accessibility::BitSet 02/270102/8
Artur Świgoń [Tue, 25 Jan 2022 17:17:59 +0000 (18:17 +0100)]
[AT-SPI] Refactor Accessibility::BitSet

BitSets is renamed to BitSet (like std::bitset or java.util.BitSet) and
split into two parts: BitSet and EnumBitSet. This way, the enumeration
type can be effectively erased, so that EnumBitSet<SomeEnum, 13> and
EnumBitSet<OtherEnum, 30> can share the same copy of the code in the
resulting binary. EnumBitSet also calculates the required storage size
automatically based on the maximum enum value.

Additionally, the BitSet class is moved from accessibility.h (which
contains mostly enum classes) to a separate file and is enriched with
extensive documentation.

Change-Id: Ib79a370fa9e6241402acb00e859ba20760dbb88c

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

2 years agoDALi Version 2.1.8 76/270576/1 dali_2.1.8
Adeel Kazmi [Fri, 4 Feb 2022 13:14:53 +0000 (13:14 +0000)]
DALi Version 2.1.8

Change-Id: I5a81657320a9ebfd3fbac488eb5fa218f4fddf03

2 years agoDALi Version 2.1.7 54/270354/1 dali_2.1.7
Adam Bialogonski [Fri, 28 Jan 2022 12:10:32 +0000 (12:10 +0000)]
DALi Version 2.1.7

Change-Id: I53451975a4cc269182bd32e093ad7f9bebe17135

2 years agoFix memory leak of CommandBuffer 59/268459/2
Heeyong Song [Thu, 23 Dec 2021 05:35:59 +0000 (14:35 +0900)]
Fix memory leak of CommandBuffer

Change-Id: I59534fd284063a05af6ecebc7d5fa34de083cd4b

2 years agoMerge "Delayed SceneHolder RenderTarget initialization" into devel/master
Adeel Kazmi [Fri, 21 Jan 2022 16:15:00 +0000 (16:15 +0000)]
Merge "Delayed SceneHolder RenderTarget initialization" into devel/master

2 years agoMerge "[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChan...
Lukasz Oleksak [Fri, 21 Jan 2022 12:27:53 +0000 (12:27 +0000)]
Merge "[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged" into devel/master

2 years agoDelayed SceneHolder RenderTarget initialization 72/268272/7
David Steele [Fri, 17 Dec 2021 17:28:19 +0000 (17:28 +0000)]
Delayed SceneHolder RenderTarget initialization

Initialization of Surface/Context pair happened in wrong thread: for
SceneHolder, the RenderTarget was being created in the Event thread,
which has effect of modifying a render-thread owned vector / queue
in the event thread, which causes crash.

Instead, moved the RenderTarget creation to
SceneGraph::Scene::Initialize(), which is executed in the render
thread.

Change-Id: Ifac94b08b4cb099267abc0353a995539ed5493c2
Signed-off-by: David Steele <david.steele@samsung.com>
2 years agoMerge "DALi Version 2.1.6" into devel/master
David Steele [Fri, 21 Jan 2022 11:51:09 +0000 (11:51 +0000)]
Merge "DALi Version 2.1.6" into devel/master

2 years agoDALi Version 2.1.6 21/269921/1 dali_2.1.6
Richard Huang [Fri, 21 Jan 2022 11:44:35 +0000 (11:44 +0000)]
DALi Version 2.1.6

Change-Id: Ic808f329cd590b3de36184f459934e7c6fdd47ac

2 years ago[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged 13/269913/1
Artur Świgoń [Fri, 21 Jan 2022 09:54:49 +0000 (10:54 +0100)]
[AT-SPI] Remove unnecessary parameter for Accessible::EmitActiveDescendantChanged

Change-Id: Ia7af05e8a4f582f311ef379679a13e74299aa3cb

2 years agoMerge "[AT-SPI] Clean up event emission code for BridgeObject" into devel/master
Artur Świgoń [Fri, 21 Jan 2022 10:52:02 +0000 (10:52 +0000)]
Merge "[AT-SPI] Clean up event emission code for BridgeObject" into devel/master

2 years agoMerge "[AT-SPI] Filter out hidden children" into devel/master
Seoyeon Kim [Fri, 21 Jan 2022 08:35:56 +0000 (08:35 +0000)]
Merge "[AT-SPI] Filter out hidden children" into devel/master

2 years agoChange to latest wayland inputmethod protocol 97/269597/2
Daekwang Ryu [Thu, 20 Jan 2022 05:08:34 +0000 (14:08 +0900)]
Change to latest wayland inputmethod protocol

refer to
https://review.tizen.org/gerrit/#/c/platform/core/uifw/wayland-extension/+/266078/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/wayland-extension/+/266733/

Change-Id: I50125dbac00420abc96040bd27b7a46e340f3637

2 years agoSet http response body in binary format. 37/269637/1
huayong.xu [Wed, 19 Jan 2022 10:20:50 +0000 (18:20 +0800)]
Set http response body in binary format.

Change-Id: I44d59e7071f429c7a6a50d4c5a99c01d27bc4413

2 years agoMerge "Replace obsolete safe bool idiom with explicit operator bool" into devel/master
Adeel Kazmi [Tue, 18 Jan 2022 10:50:47 +0000 (10:50 +0000)]
Merge "Replace obsolete safe bool idiom with explicit operator bool" into devel/master

2 years ago[AT-SPI] Clean up event emission code for BridgeObject 74/268774/8
Artur Świgoń [Fri, 31 Dec 2021 12:55:40 +0000 (13:55 +0100)]
[AT-SPI] Clean up event emission code for BridgeObject

1. Ensure early return if !IsUp() or IsHidden().
2. Use a map to convert C++ names to DBus names.

Change-Id: Iab0548c0561d9db0224ef81815a87b7d1aa012d7

2 years ago[AT-SPI] Filter out hidden children 72/268672/9
Artur Świgoń [Wed, 29 Dec 2021 07:57:51 +0000 (08:57 +0100)]
[AT-SPI] Filter out hidden children

Change-Id: Idfd44364ed26258616711ef9ed786eef1d860c60

2 years agoMerge "[AT-SPI] Rework children handling in ActorAccessible" into devel/master
Seoyeon Kim [Tue, 18 Jan 2022 08:09:06 +0000 (08:09 +0000)]
Merge "[AT-SPI] Rework children handling in ActorAccessible" into devel/master

2 years agoReplace obsolete safe bool idiom with explicit operator bool 01/269401/2
Artur Świgoń [Thu, 13 Jan 2022 14:28:08 +0000 (15:28 +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: I1128903e8f429d8903b5282d7c1bd4aa0be00979

2 years agoChange method names of GlWindow 53/268653/2
Daekwang Ryu [Tue, 28 Dec 2021 05:40:48 +0000 (14:40 +0900)]
Change method names of GlWindow

It copies from GlView.

Change-Id: I7b26e752a0efd972b24e785aa2e661f5674bb132

2 years agoDALi Version 2.1.5 65/269465/1 dali_2.1.5
David Steele [Fri, 14 Jan 2022 15:40:29 +0000 (15:40 +0000)]
DALi Version 2.1.5

Change-Id: I776ecec92051be11c681f2a393051dea91f647fd

2 years ago[AT-SPI] Rework children handling in ActorAccessible 71/268671/8
Artur Świgoń [Wed, 29 Dec 2021 07:57:50 +0000 (08:57 +0100)]
[AT-SPI] Rework children handling in ActorAccessible

This patch reorganizes the children-related methods in ActorAccessible.
A few methods are also marked 'final' to prevent overriding in derived
classes. A new overridable method, DoGetChildren() is provided instead,
to offer a simple and bulletproof mechanism for derived classes to
customize the children to be reported in the AT-SPI tree (possibly
including non-ActorAccessible objects).

Change-Id: I0c34c3493091c108e94aa140f883f012aea347f6

2 years agoMerge "Add a callback for navigation policy in web engine." into devel/master
Seoyeon Kim [Tue, 11 Jan 2022 06:45:13 +0000 (06:45 +0000)]
Merge "Add a callback for navigation policy in web engine." into devel/master

2 years agoMerge "Revert "Change to latest wayland inputmethod protocol"" into devel/master
Daekwang Ryu [Mon, 10 Jan 2022 23:57:41 +0000 (23:57 +0000)]
Merge "Revert "Change to latest wayland inputmethod protocol"" into devel/master

2 years agoRevert "Change to latest wayland inputmethod protocol" 53/269153/2
Daekwang Ryu [Mon, 10 Jan 2022 12:21:18 +0000 (12:21 +0000)]
Revert "Change to latest wayland inputmethod protocol"

This reverts commit a011cb5ffb818680944c1e6c7cb7a77e9a0739d0.

Reason for revert: It cuases build fail from the dali build server. because the target image isn't created with the new wayland protocol

Change-Id: I2ffa27d9d160e213feb8ae115481efc5a0fd92bf

2 years agoMerge "Change to latest wayland inputmethod protocol" into devel/master
Daekwang Ryu [Mon, 10 Jan 2022 06:08:37 +0000 (06:08 +0000)]
Merge "Change to latest wayland inputmethod protocol" into devel/master

2 years agoMerge "Fix CommandPool reallocation bugs" into devel/master
Adeel Kazmi [Sat, 8 Jan 2022 05:51:50 +0000 (05:51 +0000)]
Merge "Fix CommandPool reallocation bugs" into devel/master

2 years agoDALi Version 2.1.4 88/269088/1 dali_2.1.4
Adam Bialogonski [Fri, 7 Jan 2022 10:05:36 +0000 (10:05 +0000)]
DALi Version 2.1.4

Change-Id: I1999ba331e94b62c83ca5c89ba741aef89021330

2 years agoChange to latest wayland inputmethod protocol 28/269028/1
Daekwang Ryu [Thu, 6 Jan 2022 06:06:58 +0000 (15:06 +0900)]
Change to latest wayland inputmethod protocol

refer to
https://review.tizen.org/gerrit/#/c/platform/core/uifw/wayland-extension/+/266078/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/wayland-extension/+/266733/

Change-Id: I5baa59ab0b4cfdd282e7a4cec13e25fc7cfa081d

2 years agoMerge "[ATSPI] do not make window hidden when bridge removes top level window" into...
Shinwoo Kim [Thu, 6 Jan 2022 07:02:30 +0000 (07:02 +0000)]
Merge "[ATSPI] do not make window hidden when bridge removes top level window" into devel/master

2 years ago[ATSPI] do not make window hidden when bridge removes top level window 80/268980/4
Shinwoo Kim [Thu, 6 Jan 2022 01:02:18 +0000 (10:02 +0900)]
[ATSPI] do not make window hidden when bridge removes top level window

OnAccessibilityDisabled > RemoveTopLevelWindow > WindowHidden
makes mIsShown become FALSE

After this point, if the Accessibility is Enabled then the Bridge
does not call EmitActivate in ForceUp because mIsShown is FALSE by
RemoveTopLevelWindow > WindowHidden (mentioned above)

I cannot find any reason calling WindowHidden in RemoveTopLevelWindow
Please refer to following patch

ttps://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/264762/8/dali/internal/accessibility/bridge/bridge-base.cpp@277

Change-Id: I6ebf2e4b94ff00867950047591539e8c8bc96c3a

2 years agoFix CommandPool reallocation bugs 45/268645/3
Eunki, Hong [Tue, 28 Dec 2021 10:49:36 +0000 (19:49 +0900)]
Fix CommandPool reallocation bugs

When fixedCapacity is > 0 and data.size() == fixedCapacity,
There was some logical bugs when data.size() == offset + count.

We can hold 'data.size()'`s data, and after Allocate(count),
we will hold 'offset + count'`s data.
So we should reallocate only data.size() < offset + count.

+

Furthermore, We just set default Command Pool Increment as 32kb exactly.
Previous code increase 32 * sizeof(Command) kb = 2MB for each command pool.

Change-Id: I5e845839057bc75c40c275e884b7677fe2c4d812
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[AT-SPI] Add Accessible::IsHidden() 18/266918/10
Artur Świgoń [Mon, 22 Nov 2021 10:04:37 +0000 (11:04 +0100)]
[AT-SPI] Add Accessible::IsHidden()

Hidden means not present in the AT-SPI tree.

Change-Id: Ic6f51ae6fde88828c482adc6966c57d8bc1d805f

2 years ago[AT-SPI] Add ActorAccessible 55/267455/7
Artur Świgoń [Fri, 3 Dec 2021 12:45:05 +0000 (13:45 +0100)]
[AT-SPI] Add ActorAccessible

This change adds a new ActorAccessible class as a common ancestor for
both AdaptorAccessible and ControlAccessible. This will allow to reduce
code duplication between dali-adaptor and dali-toolkit. There are no
significant changes to methods moved from AdaptorAccessible to
ActorAccessible, as they will be reworked in a later change.

Change-Id: I61fb8c6610e761cd8d49f8cf67f61af35cfe8dda

2 years agoMerge "[ATSPI] recover ForceUp failure" into devel/master
Shinwoo Kim [Mon, 27 Dec 2021 01:55:14 +0000 (01:55 +0000)]
Merge "[ATSPI] recover ForceUp failure" into devel/master

2 years ago[ATSPI] recover ForceUp failure 23/268323/3
Shinwoo Kim [Mon, 20 Dec 2021 10:14:19 +0000 (19:14 +0900)]
[ATSPI] recover ForceUp failure

It is able to be failed at ForceUp.
We did throw an exception if bridge cannot get a11y dbus-daemon address.
There is no proper way to handle this exception on application side.
So we need to recover the failure of ForceUp with this patch set.

Change-Id: I7f58c2fa3283bf6855d58a545ace9acb38252bb8

2 years ago[AT-SPI] Clean up AT-SPI interfaces 54/267454/6
Artur Świgoń [Fri, 3 Dec 2021 17:39:33 +0000 (18:39 +0100)]
[AT-SPI] Clean up AT-SPI interfaces

This patch adds a `const` qualifier to most getter methods across all
AT-SPI interfaces, with the exception of those that return an
`Accessible*`, since these objects are by nature mutable (i.e. exposed
on DBus for external manipulation, and DBus does not have const
objects), and there is always a possibility to return to `this` with the
`const` cast away, e.g. GetParent()->GetChildAtIndex(i).

There are also some other minor changes like a `noexcept` qualifier for
`~Accessible`, the `EditableText` interface now implying `Text`, and a
data-driven `GetRoleName` in `Accessible`.

Change-Id: I2ab0bb451f188fe0bd6dbd47c4aa0bad56624b42

2 years agoAdd a callback for navigation policy in web engine. 16/268416/1
huayong.xu [Wed, 22 Dec 2021 12:11:27 +0000 (20:11 +0800)]
Add a callback for navigation policy in web engine.

Change-Id: Ia8858c98e29d4f9de59c81d78a1007fdb1295dc8

2 years ago[AT-SPI] Use a std::shared_ptr for Bridge 35/268335/2
Artur Świgoń [Mon, 20 Dec 2021 13:44:06 +0000 (14:44 +0100)]
[AT-SPI] Use a std::shared_ptr for Bridge

BridgeImpl was constructed with an unpaired `new`, causing a memory
leak. Using a smart pointer guarantees that the memory will be freed at
the end of application lifetime.

Change-Id: Ib983d600cda082fa68e87c7d67130770acb78bef

2 years agoMerge "[AT-SPI] Split accessibility-impl.h" into devel/master
Lukasz Oleksak [Fri, 17 Dec 2021 14:36:06 +0000 (14:36 +0000)]
Merge "[AT-SPI] Split accessibility-impl.h" into devel/master

2 years agoDALi Version 2.1.3 22/268222/1 dali_2.1.3
Adeel Kazmi [Fri, 17 Dec 2021 06:58:40 +0000 (06:58 +0000)]
DALi Version 2.1.3

Change-Id: Ib89ba13662a31013a7f8e01552aaddfd7c7c9a16

2 years ago[AT-SPI] Split accessibility-impl.h 53/267453/5
Artur Świgoń [Fri, 3 Dec 2021 15:35:25 +0000 (16:35 +0100)]
[AT-SPI] Split accessibility-impl.h

Every AT-SPI interface now resides in a separate header file. There are
no major changes besides moving code between files and making necessary
adjustments to #include statements.

Change-Id: If693012e7babc63518d9d314d27e534497f7014b

2 years ago[ATSPI] ignore ScreenReaderEnabled property on suppress mode 39/267839/5
Shinwoo Kim [Fri, 10 Dec 2021 08:42:21 +0000 (17:42 +0900)]
[ATSPI] ignore ScreenReaderEnabled property on suppress mode

The 'suppress' mode means that we do not want screen-reader working
for our ATSPI related event. In this case, it would be better NOT to
enable ATSPI bridge.

So far we have used 'suppress-screen-reader' attribute. But sometimes
GetAttributes does not work with following error message.

"get attribute error: Did not receive a reply. Possible causes include:
 the remote application did not send a reply, the message bus security
 policy blocked the reply, the reply timeout expired, or the network
 connection was broken."

We could handle this case, but the best is NOT to send unnecessary
ATSPI events.

The screen-reader should turning on ScreenReaderEnabled property only
The ATSPI bridge will be enabled, when IsEnabled property is set by
another AT client such as Aurum.

Change-Id: I529ae8cc29594915b20c23279371a6488d11ea2d

2 years agoMerge "Fix RenderTarget and RenderPass doesn't destroy issue" into devel/master
Adeel Kazmi [Wed, 15 Dec 2021 14:06:49 +0000 (14:06 +0000)]
Merge "Fix RenderTarget and RenderPass doesn't destroy issue" into devel/master

2 years agoFix RenderTarget and RenderPass doesn't destroy issue 23/267923/5
Eunki, Hong [Mon, 13 Dec 2021 09:03:42 +0000 (18:03 +0900)]
Fix RenderTarget and RenderPass doesn't destroy issue

When we create and delete windows repeatly,
previous code doesn't release the memory of
GLES::RenderTarget and GLES::RenderPass.

And cause GLES::~RenderTarget not called,
graphics controller just stack suface infomations
in mSurfaceContexts.

This patch implement the 'TODO' codes so fix the memory issue.

Change-Id: Iebb87a4d4662e8f6c418690950ef46ca09b63d58
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[ATSPI] Fix for DefaultLabel 21/267321/10
Lukasz Oleksak [Wed, 1 Dec 2021 11:48:17 +0000 (12:48 +0100)]
[ATSPI] Fix for DefaultLabel

Previously the call to GetDefaultLabelInfo() was delegated by bridge to
the corresponding Accessible object which computed the reply locally (by default returned self).
However default labels should be managed globally within given application.

This patch:

* replaces existing API AddPopup()/RemovePopup() by RegisterDefaultLabel()/UnregisterDefaultLabel()
  which has wider applicability (not only for popups)
* changes the logic of GetDefaultLabelInfo() to compute default label object globally

Related patches:
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/267323/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/267375/

Change-Id: I68ccaf55835109139ba00e2204fcdfcf2627d403

2 years agoMerge "Fix emoji vertical alignment issue" into devel/master
Bowon Ryu [Mon, 13 Dec 2021 02:16:04 +0000 (02:16 +0000)]
Merge "Fix emoji vertical alignment issue" into devel/master

2 years agoMerge "DALi Version 2.1.2" into devel/master
David Steele [Fri, 10 Dec 2021 12:04:12 +0000 (12:04 +0000)]
Merge "DALi Version 2.1.2" into devel/master

2 years agoDALi Version 2.1.2 51/267851/1 dali_2.1.2
Richard Huang [Fri, 10 Dec 2021 11:58:37 +0000 (11:58 +0000)]
DALi Version 2.1.2

Change-Id: Id939e1c72f97e2a4e681b0811e225987b942fb28

2 years ago[ATSPI] reduce initialization attempts 20/267720/2
Shinwoo Kim [Thu, 9 Dec 2021 06:46:16 +0000 (15:46 +0900)]
[ATSPI] reduce initialization attempts

The at-spi-bus-launcher cannot reponse immediately on booting time.
So there were lots of error logs can overwrite other logs.
This patch is reducing attempt to initialize bridge and read properties.

Change-Id: I546cc71c7e05b7d494a02b4ce73e16f96a8ef707

2 years agoFix emoji vertical alignment issue 79/267379/3
Bowon Ryu [Thu, 2 Dec 2021 10:03:22 +0000 (19:03 +0900)]
Fix emoji vertical alignment issue

This patch uses ascender, descender, yBearing of font metrics to ensure that
the emoji is placed on the proper baseline when it is with a plain text glyphs.

Change-Id: I9b80e84820299c95da824eac286b98dbc40ed014
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
2 years agoMerge "[AT-SPI] Fix not working screen reader when rerunning it" into devel/master
Seoyeon Kim [Wed, 8 Dec 2021 01:48:41 +0000 (01:48 +0000)]
Merge "[AT-SPI] Fix not working screen reader when rerunning it" into devel/master

2 years agoCanvasRenderer: Set initial value of the viewBox to be same as Size. 06/267506/2
JunsuChoi [Mon, 6 Dec 2021 08:46:38 +0000 (17:46 +0900)]
CanvasRenderer: Set initial value of the viewBox to be same as Size.

If the CanvasRenderer's viewBox is not declared, the value will be Vector2::ZERO.
Even if mSize is changed, the size of the drawables does not change. This is not the intended result.
Therefore, depending on the size, the drawables are always modified to be affected by the mSize.

Change-Id: I7ff09282e53c194401bc5e3fc7d6b90fdc379d37

2 years ago[AT-SPI] Fix not working screen reader when rerunning it 92/267192/4
Seoyeon Kim [Mon, 29 Nov 2021 08:02:20 +0000 (17:02 +0900)]
[AT-SPI] Fix not working screen reader when rerunning it

[Reproduce Steps]
 1. Screen Reader ON
 2. Run any application
 3. Turn Screen Reader OFF
 4. Turn Screen Reader ON

- It is caused by NULL windowAccessible which is returned
 by following function used by EmitActivate()
 Dali::Accessibility::Accessible* GetWindowAccessible(Dali::Window window)

- Connected Enabled / Disabled signals to Window
 so that Window can add and remove itself from bridge
 when the state of bridge changes.

Change-Id: I3bdebedd7bf4f9017d24b72999412a0f70cfd24b
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>