platform/upstream/efl.git
2 years agoecore_wl2_window: added APIs for set min / max size of window 12/272812/4
Junseok Kim [Fri, 25 Mar 2022 02:43:26 +0000 (11:43 +0900)]
ecore_wl2_window: added APIs for set min / max size of window

@tizen_only

Change-Id: Iebd4193320fb55d33a489e46f20dde37d2e64eec
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoevas: fix memleak during a picture duplication 10/268910/3
Mira Grudzinska [Tue, 4 Jan 2022 23:55:12 +0000 (00:55 +0100)]
evas: fix memleak during a picture duplication

A tvg picture is created twice - by efl and by tvg.
The object created by efl has to be deleted in order
to prevent memory the leaks.

Change-Id: I74629c8cb8ea47e476e102cefcb45ee571837856

2 years agoelm_entry: do not send clicked signal if disabled 21/272821/1
Prateek Thakur [Fri, 25 Mar 2022 04:54:24 +0000 (10:24 +0530)]
elm_entry: do not send clicked signal if disabled

Clicked signal was sent even when entry was disabled.
Due to this application would receive clicked signal on disabled entry and
can cause issue if they are taking any decision on this signal.

Change-Id: I72ddfbfa1c9cade57cf9936440392b077e4caffb
Signed-off-by: Prateek Thakur <prateek.th@samsung.com>
2 years agoecore_wl2, elm: add resource id to window attribute 15/272715/4 accepted/tizen/unified/20220325.133343 submit/tizen/20220325.025506
Shinwoo Kim [Wed, 23 Mar 2022 05:02:12 +0000 (14:02 +0900)]
ecore_wl2, elm: add resource id to window attribute

The window resource id is unique value in the system.
This value can be used in screen-reader to support multi-window.
The screen-reader will use this to find a window at xy position.

Change-Id: Ibf19a2aaf4b698cb518b677220a100e14cb1be6f

2 years ago[UI Thread] Use thread default context 74/270474/11
Hwankyu Jhun [Thu, 3 Feb 2022 06:43:34 +0000 (15:43 +0900)]
[UI Thread] Use thread default context

If the process sets the thread default context, the ecore main loop uses
it instead of the global default context.

Change-Id: Icf01d6098ad3c3c9e82d5fbf8045c45e85877928
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years agoecore_evas_tbm: fix a 'NO_RETURN_VALUE' issue 25/272525/3
duna.oh [Fri, 18 Mar 2022 08:18:45 +0000 (17:18 +0900)]
ecore_evas_tbm: fix a 'NO_RETURN_VALUE' issue

Change-Id: Ied351b15f24a18a813659c11ff52efe9a0f13d7b

2 years agoevas: Fixed Null defect issue. 01/272501/2
jykeon [Fri, 18 Mar 2022 02:58:15 +0000 (11:58 +0900)]
evas: Fixed Null defect issue.

Change-Id: I941a6a3e87b4297f5939028c7590b1f9d1f9d777
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agoecore_evas_tbm: use a longer string's length in strncmp() 89/272489/1
duna.oh [Fri, 18 Mar 2022 00:38:05 +0000 (09:38 +0900)]
ecore_evas_tbm: use a longer string's length in strncmp()

Change-Id: I0c8b323ec4518f79905699cb3e68243a98100ff2

2 years agoecore_evas_tbm: fix a wrong seat device as parent of a evas_device 84/272484/1
duna.oh [Thu, 17 Mar 2022 10:38:30 +0000 (19:38 +0900)]
ecore_evas_tbm: fix a wrong seat device as parent of a evas_device

It was a bug that all of evas_devices in tbm backend have a default seat,
though a device sits in different seat, other than 'Enlightenment seat'.
This is fixed by using seatname in Ecore_Event_Device_Info struct.
A device now has a right seat device as a parent of it.

Change-Id: Ica419b3c56eb18a376fe462346da70b234790466

2 years agoevas: ++safety 13/271913/6
Michal Szczecinski [Thu, 3 Mar 2022 06:23:24 +0000 (07:23 +0100)]
evas: ++safety

Stability tests detected crash in evas_object_pointer_grab_del function.
This commit checks NULL dereference in this API.

Change-Id: I2109755e2c38e44ebbf048b32988dd41f7dc0bb0

2 years agoecore_wl2: do not destroy tizen_position in ecore_wl2_window_hide 72/272372/1
Doyoun Kang [Tue, 15 Mar 2022 09:43:32 +0000 (18:43 +0900)]
ecore_wl2: do not destroy tizen_position in ecore_wl2_window_hide

There was a bug that the window's position was wrong if a window called
ecore_wl2_window_position_set after calling ecore_wl2_window_hide.
In this case, the display server didn't get an information about new position
because the tizen_position was destroyed. When the window was shown again, the
display server sent configure event using old position not new position.
By this, window moved to wrong(old) position.

This patch resolve this problem.

@tizen_only

Change-Id: I28b377ca5fd77106a69f442e4300feb891236d84

2 years agoevas vg json: hide parent layer if invisible mask applied 09/269909/3 accepted/tizen/unified/20220316.182839 submit/tizen/20220307.054027 submit/tizen/20220315.013931
Michal Maciola [Fri, 21 Jan 2022 10:09:36 +0000 (11:09 +0100)]
evas vg json: hide parent layer if invisible mask applied

If a layer has an invisible mask applied, parent layer will be set
invisible too. It will help displaying some json files correctly.

Change-Id: Ibaacb3f9617eace384eba0e5fa38032ed9ba9ebf

2 years agoelm_atspi: use timer to recover bridge init failure 45/271645/3
Shinwoo Kim [Thu, 24 Feb 2022 05:17:59 +0000 (14:17 +0900)]
elm_atspi: use timer to recover bridge init failure

An idler has been used to recover bridge init failure.
The idler callback can be called within 1 ms. By the result,
an application was not able to initialize the ATSPI bridge.

So this patch is using a timer and retry for 1 min.

Change-Id: I7d42ec6985b8fe932eb8020b5ea4cf1785365a0e

2 years agoecore_con: add missing goto for error case. 21/271721/1 submit/tizen/20220304.033428
Hosang Kim [Fri, 25 Feb 2022 09:51:15 +0000 (18:51 +0900)]
ecore_con: add missing goto for error case.

Change-Id: I8dc140ec95c43897db5cfabb4742c9608134a1c4
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>
2 years agoevas_object_smart: Set child_has_map flag to parent when parent is set 22/271622/1
Jaehyun Cho [Wed, 23 Feb 2022 12:16:35 +0000 (21:16 +0900)]
evas_object_smart: Set child_has_map flag to parent when parent is set

Previously, parent's child_has_map flag was set only when
evas_object_map_enable_set was called for its child.

This causes an issue that mouse touch may not be caught by the parent.
Because the parent's child_has_map is supposed to be true but it is
actually false.
So the bounding_box of the parent may not be updated properly but mouse
touch is checked by the intersection of the bounding_box since
child_has_map flag is false.

Now, parent's child_has_map flag is set when parent is set.
So child_has_map flag is set to parent and mouse touch is caught
correctly.

Change-Id: I2ed8e57e3a929a6d37f65c319e4306d58f4d88e0

2 years agoecore_evas:fix string comparison of device's identifier 39/271339/5
duna.oh [Fri, 18 Feb 2022 04:30:06 +0000 (13:30 +0900)]
ecore_evas:fix string comparison of device's identifier

Change-Id: I0ecfd04e021af8801dc5ae9c77bdc85a79cf0f0e

2 years agoFix:meson build error. 23/271423/2 accepted/tizen/unified/20220221.080255 submit/tizen/20220221.054736
jykeon [Mon, 21 Feb 2022 05:08:01 +0000 (14:08 +0900)]
Fix:meson build error.

Change-Id: I3d69cc97563e226416163563cb7f4fbea28816df
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agoedje_calc: fix check return of _edje_fetch 58/270858/2
Jaehyun Cho [Thu, 10 Feb 2022 07:26:25 +0000 (16:26 +0900)]
edje_calc: fix check return of _edje_fetch

Summary: checks if _edje_fetch returns null before calling _edje_recalc_do.

Reviewers: Hermet, raster, kimcinoo, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12322

Change-Id: Id1c680e79abd348fa5cc888f0e50334fc93571c5

2 years agoUpdate gcove output patch 91/270691/1 accepted/tizen/unified/20220209.131748 submit/tizen/20220208.041216
jykeon [Tue, 8 Feb 2022 02:18:31 +0000 (11:18 +0900)]
Update gcove output patch

Change-Id: I3bc99b139538df6df48d82aa75d9aba401c2d853
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agogen : remove unnecessary focus_manager calls. 73/270173/3
EverLEEst(SangHyeon Lee) [Wed, 26 Jan 2022 07:39:26 +0000 (16:39 +0900)]
gen : remove unnecessary focus_manager calls.

Change-Id: Ic992497fd990cc0e6c3bd37ab5aeb8d41323baf6

2 years agoevas_device: remove pointer data for touch device. 43/269843/1
Hosang Kim [Tue, 23 Feb 2021 12:37:42 +0000 (21:37 +0900)]
evas_device: remove pointer data for touch device.

Pointer data of touch device is always created.
But it can't be removed when device is removed.
Because there is condition for checking mouse or not.

Change-Id: I9132cef203135a605f3aad9684baf79b1766b03e

2 years agoecore_wl2: do not destroy tizen_rotation in ecore_wl2_window_hide 02/269602/1 accepted/tizen/unified/20220125.121829 submit/tizen/20220120.091110
Doyoun Kang [Wed, 19 Jan 2022 04:12:53 +0000 (13:12 +0900)]
ecore_wl2: do not destroy tizen_rotation in ecore_wl2_window_hide

There was a bug that the display server (enlightenment) didn't get rotation done event if
a window called ecore_wl2_window_rotation_change_done_send after calling ecore_wl2_window_hide.

This patch resolve this problem.

@tizen_only

Change-Id: I20cd592e4744f033978d65977d72a1bb9968441b
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
2 years agoevas render: Fixed invalid sanity check 01/267101/2
Michal Szczecinski [Thu, 25 Nov 2021 10:58:31 +0000 (11:58 +0100)]
evas render: Fixed invalid sanity check

Change-Id: I1db4c81ca84a5c81205eeba946cce687a2c9721d

2 years agoevas examples: improved evas-vg-json-multiple.c example 65/267865/2
Michal Maciola [Fri, 10 Dec 2021 15:47:28 +0000 (16:47 +0100)]
evas examples: improved evas-vg-json-multiple.c example

Change-Id: I6ebf64ca1b8609869db97d3a6053cc44ba70da18

2 years agovg json : Don't create empty shape 11/268611/3
jykeon [Tue, 28 Dec 2021 05:20:53 +0000 (14:20 +0900)]
vg json : Don't create empty shape

Change-Id: I0d9dc77f0061b199e71491624ee6df9f080316ec
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agovg_common: Invert LOTNode transformation matrix before translate. 21/268321/2
Michal Szczecinski [Mon, 20 Dec 2021 09:22:32 +0000 (10:22 +0100)]
vg_common: Invert LOTNode transformation matrix before translate.

Columns and rows in the LOTNode->image->data transformation matrix are
inverted. This commit uses valid layout.

Change-Id: Ia7647f13902db9de3045d78a8a32b18b76a48135

2 years agoevas vg json: refactor masks construct 67/267867/3
Michal Maciola [Fri, 10 Dec 2021 15:56:35 +0000 (16:56 +0100)]
evas vg json: refactor masks construct

This patch changes how nodes that have masks are handled.
TVG doesn't implement masking as mask Substract/Intersect/Difference.
If such masks was used, for most cases, the whole node was masked and
incorrectly invisible. After this patch it should be working correctly
(or just better) for most basic cases with a single mask.

Change-Id: I9204255b79bc6adf551a844de156a8d3e3e41665

2 years agoRevert "vg_common_json: No path information, do not create a shape" 63/268563/1 accepted/tizen/unified/20211228.140402 submit/tizen/20211227.054708
Chun [Mon, 27 Dec 2021 02:47:16 +0000 (02:47 +0000)]
Revert "vg_common_json: No path information, do not create a shape"

This reverts commit b688e1d312aa33ac3c71c7aeac783bdbefc0fb78.

Change-Id: I82a45e07b36057bfce1238fa56c80a423ff3f293

2 years agovg_common_json: No path information, do not create a shape 77/268377/1 submit/tizen/20211227.021527
JunsuChoi [Wed, 22 Dec 2021 04:18:26 +0000 (20:18 -0800)]
vg_common_json: No path information, do not create a shape

Change-Id: Ic016bf3e41d8fd706c31973a78b3c6825d0941b4

2 years agoecore_wl2_input: fix calibration logic for repeating key event 52/268252/1
Hosang Kim [Fri, 17 Dec 2021 09:47:10 +0000 (18:47 +0900)]
ecore_wl2_input: fix calibration logic for repeating key event

Change-Id: I6f444b2a71e6e4d2c0379b0ffad8e755d9375ee0

2 years agoevas canvas: remove tizen only code. 06/268206/2
Hermet Park [Fri, 17 Dec 2021 04:48:19 +0000 (13:48 +0900)]
evas canvas: remove tizen only code.

remove the temporary api usage,
correct the right api call.

Change-Id: I49077d27845a16c1b8722accc295513510eafdc7

2 years agoecore_wl2_input: fix order of calcuation 92/268092/1
Hosang Kim [Thu, 16 Dec 2021 05:51:36 +0000 (14:51 +0900)]
ecore_wl2_input: fix order of calcuation

Change-Id: I5e77796721ebfacc37bfc6ed9ca68067d7398b1a

2 years agoefl: remove unnecessary packed files 65/268065/1
Shinwoo Kim [Wed, 15 Dec 2021 11:31:11 +0000 (20:31 +0900)]
efl: remove unnecessary packed files

This patch will remove unexpected installed files such as

/usr/lib/debug/.build-id
/usr/lib/debug/.build-id/00
/usr/lib/debug/.build-id/00/6352bb9b60c759f3a3fbe71636aa1af486cbaf
/usr/lib/debug/.build-id/00/6352bb9b60c759f3a3fbe71636aa1af486cbaf.debug
...

Change-Id: Ife39da7694e887ac95edde9157e6a6e7baf16268

2 years agoefl: remove touch position log for improving security. 12/267912/1
Hosang Kim [Mon, 13 Dec 2021 07:03:13 +0000 (16:03 +0900)]
efl: remove touch position log for improving security.

Change-Id: Icb99aba71e486a71d6f7f87258ca246a005b7b9e

2 years agodnd: keep the order of enter and leave event for dnd 71/267671/2 accepted/tizen/unified/20211210.115209 submit/tizen/20211209.063123
Taehyub Kim [Wed, 8 Dec 2021 11:34:34 +0000 (20:34 +0900)]
dnd: keep the order of enter and leave event for dnd

Change-Id: I97ce6ee2a26d7c24d25a403cd4e44db383a4cc53

2 years agoelm_cnp: keep the copy and paste selection backword compatibility 74/267674/1
Taehyub Kim [Wed, 8 Dec 2021 11:39:17 +0000 (20:39 +0900)]
elm_cnp: keep the copy and paste selection backword compatibility

Change-Id: Icf64b185929bc2b04911adcb08ebdd98b63807d9

2 years agoevas common: remove lru optimization. 18/267518/2
Hermet Park [Mon, 6 Dec 2021 12:01:53 +0000 (21:01 +0900)]
evas common: remove lru optimization.

This lru optimization is useless because we have already reference count,
Actually, we can't remove the data even though the cache capacity is full
because those are completed referenced.

This mis-implementation occurs the memory leak.

Change-Id: If25e843bcbb6759df81e87c076a002bf771ea1b1

2 years agoevas: fixed memory leak on lottie images container destruction 86/267386/2
Michal Maciola [Thu, 2 Dec 2021 13:04:55 +0000 (14:04 +0100)]
evas: fixed memory leak on lottie images container destruction

Change-Id: I43798742ce06b69fe0691c1c98a0c6b1548b5e3e

2 years agoecore evas extn: Check queue pointer before use. 48/267248/3
Michal Szczecinski [Tue, 30 Nov 2021 08:42:30 +0000 (09:42 +0100)]
ecore evas extn: Check queue pointer before use.

This commit increates safety of _compositor_socket_get() API.

Change-Id: I44ca3a2a095cba9f1aa073bd7749ec008de358f0

2 years ago[AT-SPI] Fixed providing number of items for objects of AT_SPI role DIALOG and POPUP_MENU 69/267169/5
Maria Bialota [Fri, 26 Nov 2021 20:29:42 +0000 (21:29 +0100)]
[AT-SPI] Fixed providing number of items for objects of AT_SPI role DIALOG and POPUP_MENU

Change-Id: I074172a98064da6e1bc7fb957feb1c7ed4a8fe1a

2 years agoedje lua2: check string ptr before dereference 17/267217/1
Taehyub Kim [Tue, 30 Nov 2021 01:48:37 +0000 (10:48 +0900)]
edje lua2: check string ptr before dereference

Summary: fix null pointer dereference

Reviewers: Hermet, kimcinoo, jsuya, raster

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12309

Change-Id: I32e0edbdf7709b516acaa6d91c7b734b36adab9d

2 years agoevas: Fixed invalid sanity check 90/265490/4 accepted/tizen/unified/20211130.125551 submit/tizen/20211125.062540 submit/tizen/20211129.000112
Michal Szczecinski [Wed, 20 Oct 2021 11:53:06 +0000 (13:53 +0200)]
evas: Fixed invalid sanity check

Change-Id: I35f2674d5a29c52cba5540439ec92fb59829da7c

2 years agoecore_wl2: add events for interactive move/resize done 78/266878/1
Doyoun Kang [Mon, 22 Nov 2021 04:22:58 +0000 (13:22 +0900)]
ecore_wl2: add events for interactive move/resize done

Event Type
- ECORE_WL2_EVENT_WINDOW_INTERACTIVE_MOVE_DONE
- ECORE_WL2_EVENT_WINDOW_INTERACTIVE_RESIZE_DONE

Event Structure
- Ecore_Wl2_Event_Window_Interactive_Move_Done
- Ecore_Wl2_Event_Window_Interactive_Resize_Done

Change-Id: I4752611802a3dc9268f7941d769dc20ae399f992

2 years agoevas vg shape: gradient taken from the proper source 88/266588/4
Mira Grudzinska [Tue, 16 Nov 2021 01:13:49 +0000 (02:13 +0100)]
evas vg shape: gradient taken from the proper source

When a shape with the gradient is duplicated, the gradient
adr was taken from the source obj instead of from the target
of the duplication.
In TVG, when a shape is duplicated all its properties, like grad,
are duplicated as well. EFL created independently a new gradient,
which has to be relased first and replaced by the one created
in TVG.

Change-Id: I0848b0591671b6e69148b0d248a0ba0c8bd66726

2 years agoecore_wl2_input: unref device before device is deleted. 99/266599/2
Hosang Kim [Tue, 16 Nov 2021 05:28:47 +0000 (14:28 +0900)]
ecore_wl2_input: unref device before device is deleted.

@fix

Change-Id: I96a09ae32b768ebb9c54bf8ade2a95f14721432a

2 years agovg: update the tvg apis 62/265762/3
Hermet Park [Thu, 28 Oct 2021 06:28:44 +0000 (15:28 +0900)]
vg: update the tvg apis

These apis has been modified under the beta.
now we correct it with the latest ones.

Change-Id: I52fdbe2d28da29057db8b61d3965b8351f5f069d

3 years agoevas_font_query: fix ARABIC HAMZA ABOVE render issue 78/266378/2
Bowon Ryu [Thu, 11 Nov 2021 07:22:35 +0000 (16:22 +0900)]
evas_font_query: fix ARABIC HAMZA ABOVE render issue

INHERITED skip prevents ARABIC_HAMZA_ABOVE from rendering standalone.
Do not skip when ARABIC_HAMZA_ABOVE is at the begginning of an arabic word.

Change-Id: I75d5206194543031fcfe81f5ed208a8b404fc26a
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
3 years agoefl_ui_win: delete ecore_evas when inlined image window is deleted 73/266073/3 accepted/tizen/unified/20211109.042919 submit/tizen/20211108.084528
Hosang Kim [Fri, 5 Nov 2021 07:02:35 +0000 (16:02 +0900)]
efl_ui_win: delete ecore_evas when inlined image window is deleted

When inlined image window is deleted, associated image object and ecore
evas are not deleted. So there is memory leak.

@tizen_only

Change-Id: Iab248b0cf0bfe3f3a9f81a8eb8604a68218be232

3 years agoefl_canvas_image : remove the animated image limitation 08/266108/1
Taehyub Kim [Thu, 4 Nov 2021 07:38:48 +0000 (16:38 +0900)]
efl_canvas_image : remove the animated image limitation

Summary: remove FRAME_MAX limitation to play the huge animated image which has more than 1024 frames

Test Plan: load gif image which has more than 1024 frames

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12303

Change-Id: I59bd00d0e2fb647805c70230df72f4e811a6e58c

3 years agowayland_egl: fix egl attribute type 06/265806/2
Changyeon Lee [Fri, 29 Oct 2021 04:58:59 +0000 (13:58 +0900)]
wayland_egl: fix egl attribute type

attribute of evas_gl_common_eglCreateImage is EGLAttrib

Change-Id: I8afbfc98c4aa8b363dd75d16a6ea86744eb3dee7

3 years agowayland_egl: fix checking egl extension for native image 79/265779/3
Changyeon Lee [Thu, 28 Oct 2021 06:05:49 +0000 (15:05 +0900)]
wayland_egl: fix checking egl extension for native image

initial value of has_tizen_native_surface and has_dma_buf_import
is EINA_TRUE.
it is changed to EINA_FALSE after checking extension in gl_extn_veto.

Change-Id: I74224e3ff696774d46063dc3e2cb3d4a5343d40c

3 years agoevas vg json: fix invisible layer 87/265787/2 accepted/tizen/unified/20211102.024819 submit/tizen/20211101.025718
Michal Maciola [Thu, 28 Oct 2021 11:35:01 +0000 (13:35 +0200)]
evas vg json: fix invisible layer

This patch fixes the reported rendering bug for particular json files.
If the layer was invisible, it was skipped and not rendered, but if it had
some masking layer, it was incorrectly applied for previous layer as a parent.
This fixes incorrect behaviour by skipping these masking layer.

Change-Id: I9015e47b83d479d6ac3e644fcd52551df8836042

3 years agotests: enhance evas_map test
Shinwoo Kim [Mon, 18 Oct 2021 08:10:17 +0000 (09:10 +0100)]
tests: enhance evas_map test

Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12296

3 years agotests: add evas_map test
Shinwoo Kim [Tue, 12 Oct 2021 07:36:23 +0000 (08:36 +0100)]
tests: add evas_map test

Reviewers: raster, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12295

3 years agoevas_render: fix a mistake of ++safety 89/265489/1
Shinwoo Kim [Wed, 20 Oct 2021 11:13:26 +0000 (20:13 +0900)]
evas_render: fix a mistake of ++safety

There was a mistake of following commit.

   928c008 evas: ++safety

And it caused performance issue by not adding obscuring objects.

*tizen_fix

Change-Id: Ie0b376b12e74a4d32925e6ea2500084ad1399f97

3 years agoEcore_Wl2: move ecore_wl2_offer functions for the internal usage 91/265391/3
Taehyub Kim [Mon, 18 Oct 2021 05:36:33 +0000 (14:36 +0900)]
Ecore_Wl2: move ecore_wl2_offer functions for the internal usage

To implement the drag and drop feature in dali,
ecore_wl2_offer functions should be added to Ecore_Wl2.h

Change-Id: I78f872fe6493854a094901c03346b569a83928ee

3 years agoecore_wayland2: include eina 48/265348/1
Shinwoo Kim [Fri, 15 Oct 2021 08:22:43 +0000 (17:22 +0900)]
ecore_wayland2: include eina

If application includes Ecore_Wayland2.h without Eina.h,
then application will have build break as below.

   "error: unknown type name 'Eina_Bool'"

So this patch makes Ecore_Wayland2.h include Eina.h
to fix the application side build error.

Change-Id: Ibd8a65e4cee111c00305ac70b1a930bbb8e4e08d

3 years agoevas map: check source image size for direct render 84/264784/1 accepted/tizen/6.5/unified/20211028.225531 accepted/tizen/unified/20211007.154801 submit/tizen/20211007.055733 submit/tizen_6.5/20211028.163301 tizen_6.5.m2_release
Shinwoo Kim [Wed, 29 Sep 2021 12:54:45 +0000 (21:54 +0900)]
evas map: check source image size for direct render

The direct render is working correctly only if source image size
is equal to the size of smart object.

So this patch is cheking the size of source image.

Change-Id: I2e6c70360a477283903e4c494410c6683dfaa0c0

3 years agoevas: reset change after map direct render 56/264656/3 accepted/tizen/unified/20210929.022336 submit/tizen/20210928.143216
Shinwoo Kim [Tue, 28 Sep 2021 02:30:13 +0000 (11:30 +0900)]
evas: reset change after map direct render

There is a flickering issue which is caused by absence of reset.

If the source image does not reset, then it remains in pending objects
array at the end of  evas_render_updates_internal, and it keeps the
'obj->changed' as TRUE for next frame. And it makes its parent 'changed'
value TRUE as well.

But after handling pending objects array, we are handling render objects
array. The parent 'changed' value is set to FALSE.

As a result, the parent object does not draw on the next frame, and its
children including the source image neither.
(no push to restack objects array, render_pre, output_redraws_rect_add)

Even though there is a change on the source image for the next frame,
(for example, evas_object_color_set)
it cannot makes the parent object 'changed' value TRUE,
(see the logic of evas_object_change)
because the source image 'changed' is already TRUE by the logic handling
pending objects array on the previous frame.

We are calling evas_object_change_reset after evas_render_mapped.
So, same logic should exist for the map direct render.

*tizen_fix

Change-Id: If8b57a8f423e25f0c1f91a90dc30ac1f2c8b4972

3 years agoevas vg: fix for invisible masking layer 72/264572/3 accepted/tizen/unified/20211001.001525 submit/tizen/20210928.074404
Michal Maciola [Fri, 24 Sep 2021 12:02:33 +0000 (14:02 +0200)]
evas vg: fix for invisible masking layer

This patch solves the problem of masking on layers that visibility
is set to false.

Change-Id: I0d96362709e551d8dadf151d7fd79ddb39e8ce7d

3 years agoeo_base_class: Avoid useless memory alloc 90/264590/1
Woochanlee [Thu, 24 Dec 2020 02:47:03 +0000 (11:47 +0900)]
eo_base_class: Avoid useless memory alloc

Summary:
The pd->ext will be NULL when the target object on invalidate state or edje object or isolated object etc..

In above case, If data is NULL and ext is not needed, it seems there is no need to create a node.

Reviewers: raster, cedric, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12206

Change-Id: I7000fd4cbf48c0841865483092e5b778602886d1

3 years agoevas vg: json/lottie memory usage optimization 72/264272/1
Michal Maciola [Wed, 15 Sep 2021 08:41:02 +0000 (10:41 +0200)]
evas vg: json/lottie memory usage optimization

This patch fixes potential memory leaks and unnecessary allocations.

Change-Id: I515c5a809dc5b23e433514aad177dcbda47beb75

3 years agocommon json: fix for an empty layer used as a mask 35/264235/2 accepted/tizen/unified/20210916.123547 submit/tizen/20210915.070054
Michal Maciola [Tue, 14 Sep 2021 14:51:32 +0000 (16:51 +0200)]
common json: fix for an empty layer used as a mask

If a layer is empty, do not use it as a mask, so not to incorrectly completely
hide a parent layer.

Change-Id: Ia48b0b150faa3a1fd44cc79c16facab14ab00564

3 years agoevas vg: Added localization support in append path API. 46/264146/6
Michal Szczecinski [Mon, 13 Sep 2021 17:13:04 +0000 (19:13 +0200)]
evas vg: Added localization support in append path API.

In some languages strtod function don't parse '.' and ',' properly. Due
to this issue set locale part was added. Now path is parsed in the same
way as it was in efl_gfx API.

Change-Id: Ibcd0e460e0dad0e09a0ff08365418aab670194ca

3 years agoupdated edje license. 81/264181/2
Hermet Park [Tue, 14 Sep 2021 06:00:16 +0000 (15:00 +0900)]
updated edje license.

edje uses BSD license and its tools(epp) uses GPL.

Change-Id: Idc18fa7a0db0865d106f129eab94350837aa5f48

3 years agoevas_vg refactoring: thorvg svg loader: edje 49/261149/5 accepted/tizen/unified/20210910.004743 submit/tizen/20210909.071105
Michal Maciola [Mon, 12 Jul 2021 10:39:38 +0000 (12:39 +0200)]
evas_vg refactoring: thorvg svg loader: edje

This patch changes evas svg loader to using thorvg svg loader.
The patch extands .svg only; .svgz and .svg.gz will be loaded using old loader.
For edje_cc support (edj/edc files), svg file content is written into edj.

Patch is divided into two parts- edje & evas. This is edje part.

Change-Id: I716fa0a8b2e5bc23d2b262bb4b134a7972a545ce

3 years agoecore_wl2: add code to handle below_child 67/263467/2
Doyoun Kang [Fri, 3 Sep 2021 04:19:04 +0000 (13:19 +0900)]
ecore_wl2: add code to handle below_child

If the child window wants to place under the parent window, then we call the
tizen_policy_set_parent_with_below(). Otherwise, we call the tizen_policy_set_parent().

@tizen_only

Change-Id: I8a8e8887bae52624bac763b790db940abeef8f79
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
3 years agoecore_wl2_window: add fallback code for ecore_wl2_window_transient_parent_set 66/263466/2
Doyoun Kang [Fri, 3 Sep 2021 04:05:12 +0000 (13:05 +0900)]
ecore_wl2_window: add fallback code for ecore_wl2_window_transient_parent_set

If the tizen_policy version is not supported tizen_policy_set_parent_with_below, then
ecore_wl2_window_transient_parent_set calls the ecore_wl2_window_parent_set instead.

@tizen_only

Change-Id: I83280f30c59e0eadab63daaa043910c5b9f7f5bd
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
3 years agoeina_thread: check if pthread_getschedparam fails 64/263164/1 accepted/tizen/unified/20210901.103715 submit/tizen/20210830.054133 submit/tizen/20210831.021621
Jaehyun Cho [Fri, 27 Aug 2021 05:55:15 +0000 (14:55 +0900)]
eina_thread: check if pthread_getschedparam fails

The return value of pthread_getschedparam is checked to know if it
fails.

Change-Id: Idef27abcdfc2de0dfcf6e746edaf2230258c3eed

3 years agoevas: set default values of strokeCap and strokeJoin to prevent inconsistency 41/263141/2
Michal Maciola [Thu, 26 Aug 2021 12:18:14 +0000 (14:18 +0200)]
evas: set default values of strokeCap and strokeJoin to prevent inconsistency

Default values of strokeCap and strokeJoin differs in EFL and THORVG.
Set EFL default values to prevent inconsistency

Change-Id: Ib935f7470f9d64a63b9dfdd06b6d0dcc50de8f29

3 years agoedje: remove debug message that is likely to break the memory. 22/263122/2
Hermet Park [Thu, 26 Aug 2021 09:36:22 +0000 (18:36 +0900)]
edje: remove debug message that is likely to break the memory.

There are potential scenarios that invalid edje objects are passed during the deletion sequence,
In this case, efl encounter the memory corruption, debug message doesn't helpful.

Although this might be the user problems but this bothers us to review the call stack from time to time.

So disable it.

Change-Id: Iccd18073e48135eb6d4fdbd84672c762341e41ee

3 years agoevas canvas: ++safety 97/262997/2
Hermet Park [Tue, 24 Aug 2021 09:37:56 +0000 (18:37 +0900)]
evas canvas: ++safety

+ null checking as for the exception handling.

Change-Id: I529d2730136f9b4ecf740e30b17664bd69f568b0

3 years agoevas_vg refactoring: thorvg svg loader: evas 47/261147/8
Michal Maciola [Mon, 12 Jul 2021 10:31:13 +0000 (12:31 +0200)]
evas_vg refactoring: thorvg svg loader: evas

This patch changes evas svg loader to using thorvg svg loader.
The patch extands .svg only; .svgz and .svg.gz will be loaded using old loader.
For edje_cc support (edj/edc files), svg file content is written into edj.

Patch is divided into two parts- edje & evas. This is evas part.

Change-Id: I3bbff14058daf737ec4c3c9b3244f1810649b948

3 years agoedje multisense: fix a broken implementation. 86/262586/4 accepted/tizen/unified/20210822.213311 submit/tizen/20210818.053418 submit/tizen/20210818.080539 submit/tizen/20210819.014835
Hermet Park [Fri, 13 Aug 2021 10:10:48 +0000 (19:10 +0900)]
edje multisense: fix a broken implementation.

The latest efl doesn't allow the null parent object.
efl_add_ref() is recommended in this case.

Also, apis doesn't allow the thread calls.
The calls must be synced on the main thread.

Change-Id: Id25ce83900b88bc7630710b808c9fe84b921cf6e

3 years agoevas render: add a null check for ++safety 33/262633/1
Hermet Park [Tue, 17 Aug 2021 04:45:20 +0000 (13:45 +0900)]
evas render: add a null check for ++safety

Change-Id: I202333d0ab79ad439b7c70fdacbda2041d015840

3 years agovg common json: Don't ignore layer opacity. 76/262576/2
Michal Szczecinski [Fri, 13 Aug 2021 09:06:49 +0000 (11:06 +0200)]
vg common json: Don't ignore layer opacity.

Some lottie files use translucent layers as a mask. We can't ignore
them. This commit pass layer opacity to tree to fix rendering issues in
some lottie files.

Change-Id: I05eb2eb43755c2ca3aa2194daeded76613b4d7d4

3 years agowayland_egl: use LINUX_DMA_BUF_EXT when EGLImage is created with tbm_surface 52/260552/9
Changyeon Lee [Wed, 23 Jun 2021 10:48:49 +0000 (19:48 +0900)]
wayland_egl: use LINUX_DMA_BUF_EXT when EGLImage is created with tbm_surface

It is possible gl driver doesn't support EGL_TIZEN_image_native_surface.
but if gl dirver support EGL_EXT_image_dma_buf_import, we can use it
instead of EGL_TIZEN_image_native_surface.

This patch try to use EGL_EXT_image_dma_buf_import extension if
EGL_TIZEN_image_native_surface extension isn't supported when
eglImage is created with tbm_surface.

Change-Id: Ia779101d32448d966343034495dad899574f8552

3 years agogl_tbm: use LINUX_DMA_BUF_EXT when EGLImage is created with tbm_surface 51/260551/9
Changyeon Lee [Tue, 18 May 2021 08:41:14 +0000 (17:41 +0900)]
gl_tbm: use LINUX_DMA_BUF_EXT when EGLImage is created with tbm_surface

It is possible gl driver doesn't support EGL_TIZEN_image_native_surface.
but if gl dirver support EGL_EXT_image_dma_buf_import, we can use it
instead of EGL_TIZEN_image_native_surface.

This patch try to use EGL_EXT_image_dma_buf_import extension if
EGL_TIZEN_image_native_surface extension isn't supported when
eglImage is created with tbm_surface.

Change-Id: Ie1c2c98ec1db14d46149911343aec55095f35853

3 years agoecore_evas: introduce ecore_evas_tbm_native_allocfunc_new 50/260550/7
Changyeon Lee [Tue, 18 May 2021 08:19:00 +0000 (17:19 +0900)]
ecore_evas: introduce ecore_evas_tbm_native_allocfunc_new

tizen display server needs to create ecore_evas by native_surface
and native_display of EGL created in display server if EGL driver
deosn't support tbm.

native_display and native_surface must be not destroyed before
ecore_evas is freed.

Change-Id: Id096c1c233f0f49112171ab4c824fff5aa58b898

3 years agoevas vg: minor changes in vg_common_json.c 29/262329/1
Michal Maciola [Fri, 6 Aug 2021 10:49:05 +0000 (12:49 +0200)]
evas vg: minor changes in vg_common_json.c

Change-Id: I5ee39ec5c2f73cd973e2023bfcef192bebf1f04c

3 years agoRevert "Revert "evas vg: lottie rendering optimization"" 97/262197/2
Hermet Park [Wed, 4 Aug 2021 03:07:09 +0000 (12:07 +0900)]
Revert "Revert "evas vg: lottie rendering optimization""

This reverts commit 5aecd0c3d221a402340e59f5ba7ec8ccb4f8ff07.

Change-Id: I7c3abc8c1f6599434ebacf15c918fff7a1392c0c

3 years agoevas vg: added evas-vg-json-multiple.c example 15/262215/2
Michal Maciola [Wed, 4 Aug 2021 09:57:42 +0000 (11:57 +0200)]
evas vg: added evas-vg-json-multiple.c example

Added evas-vg-json-multiple.c example for loading multiple lottie files
Example shows the usage of efl_file_simple_load and eina_file_dir_list
and is helpful testing json loader changes

Change-Id: I11de3eb5ff774e1ab26d6db9cc7e0e1d809f793f

3 years agoevas canvas: ++safety 94/262194/2 accepted/tizen/unified/20210805.131712 submit/tizen/20210804.104948
Hermet Park [Wed, 4 Aug 2021 02:49:28 +0000 (11:49 +0900)]
evas canvas: ++safety

prevent null memory access.

Change-Id: I14a9e07d2a4122db9170dc40eafe0e55cc80524a

3 years agoRevert "evas vg: lottie rendering optimization" 20/262020/1
Michal Maciola [Fri, 30 Jul 2021 15:18:52 +0000 (17:18 +0200)]
Revert "evas vg: lottie rendering optimization"

This reverts commit b4e4e4a2bf25367fe778dd6fa674685430067c1e.

Change-Id: I7c4a68d0aad658a746e670912196ffd3cd958315

3 years agoecore_wl2: add ecore_wl2_window_transient_parent_set API 06/261706/6
Doyoun Kang [Fri, 23 Jul 2021 03:52:45 +0000 (12:52 +0900)]
ecore_wl2: add ecore_wl2_window_transient_parent_set API

This API makes relationship between windows as a child and a parent.
And the child window must set the place_below flag where it is placed.
If the place_below flag is true, then child window is placed UNDER the parent,
Otherwise, it is placed ON the parent.

@tizen_only

Change-Id: I19d834a14e2fa0376be9ecf356f713713e77366c
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
3 years agoecore_wl2: update tizen_policy version to 9 from 8 02/261702/2
Doyoun Kang [Fri, 23 Jul 2021 02:59:34 +0000 (11:59 +0900)]
ecore_wl2: update tizen_policy version to 9 from 8

According to the updated version of tizen_policy,
ecore_wl2 also updates the version of ecore_wl2's tizen_policy.

@tizen_only

Change-Id: I139c8dbc94ebfb2f624565f06d3832582e2e7218
Signed-off-by: Doyoun Kang <doyoun.kang@samsung.com>
3 years agoevas gl: bind texture with external target for map 75/261875/1
Shinwoo Kim [Wed, 28 Jul 2021 04:39:37 +0000 (13:39 +0900)]
evas gl: bind texture with external target for map

Summary:
egl images created using tbm surface for native surface set use
GL_TEXTURE_EXTERNA_OES as texture target, so we should bind to
this target when rendering. Or there is a GL_INVALID_OPERATION
error on glBindTexture in function _orig_shader_array_flush.

Thia patch follows logic of following commit;

7db0e20 evas/gl: Bind texture with external target for tbm surface

Reviewers: Hermet, raster, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12286

Change-Id: Ie0b9bb35285dbd553443ab814461bd9eb38b526e

3 years agoecore_wl2: recover missing extern "C" 11/261811/1 accepted/tizen/unified/20210728.090535 submit/tizen/20210727.032657
Shinwoo Kim [Tue, 27 Jul 2021 03:10:15 +0000 (12:10 +0900)]
ecore_wl2: recover missing extern "C"

There is a build error on cpp project
because following commit remove extern "C".

8548d4d ecore_wl2: Move managed APIs to public header

Change-Id: Ic508303c317445194f22399fd77a7dc1efaa366c

3 years agoevas: ++safety. 73/261373/5 submit/tizen/20210726.093758
Michal Szczecinski [Fri, 16 Jul 2021 06:57:56 +0000 (08:57 +0200)]
evas: ++safety.

Added possible null dereference check in evas object clipping
recalculation.

Change-Id: I353d09809d7884b0d827a914199ac4dba6dd8958

3 years agoecore_wl2: Move managed APIs to public header 47/261547/3
Woochanlee [Wed, 21 Jul 2021 04:56:54 +0000 (13:56 +0900)]
ecore_wl2: Move managed APIs to public header

From this patch set ecore-devel package provides both
Ecore_Wl2.h and Ecore_Wayland2.h

Change-Id: I0a2b4121eaa9473607586b84f21e549ea3e0b372

3 years agoevas: ++safety 64/261264/2
Michal Szczecinski [Wed, 14 Jul 2021 06:42:18 +0000 (08:42 +0200)]
evas: ++safety

Added null pointer dereference checkers for evas mask object.

Change-Id: Ie8fef77982bfb8883ec208ab0e0f06b1efe6283c

3 years agoscroller: initialize flags for scrollbar 76/261276/2
Hosang Kim [Wed, 14 Jul 2021 09:26:34 +0000 (18:26 +0900)]
scroller: initialize flags for scrollbar

After scroller theme apply is called, scrollbar flags should be initialized
also.

@tizen_only

Change-Id: I278d22c1213174f80b61fc87ee2175f6ec41d2e4

3 years agoecore_wl2 input: prevent unintended key repeats by performance. 88/261088/2
Hermet Park [Fri, 9 Jul 2021 14:02:21 +0000 (23:02 +0900)]
ecore_wl2 input: prevent unintended key repeats by performance.

Change-Id: I32d14ccf5f4ea811aa30da44c84afd872b85b0f4

3 years agoevas canvas: ++safety 09/261109/1
Hermet Park [Mon, 12 Jul 2021 05:55:47 +0000 (14:55 +0900)]
evas canvas: ++safety

prevent null access just in case.

Change-Id: I5cb089edf8d8209ac85eb287f2d3a6245d951a3c

3 years agoevas vg: lottie rendering optimization 25/259925/6 accepted/tizen/unified/20210712.025004 submit/tizen/20210708.025913
Michal Maciola [Tue, 15 Jun 2021 11:16:08 +0000 (13:16 +0200)]
evas vg: lottie rendering optimization

Patch changes vg_common_json.c for loading json file directly into
tvg_scene, without efl functions used.
About 15% improvement was obtained.

Change-Id: I0ce55fa1f6d1d5a17dedbf6372492d8fce03347d

3 years agoecore_wl2: prevent invalid timer if the input is invalid. 33/260833/1
Hermet Park [Mon, 5 Jul 2021 09:07:04 +0000 (18:07 +0900)]
ecore_wl2: prevent invalid timer if the input is invalid.

Summary:
It is non-sense that running timer even if the input/timer is invalid.
Stop the timer to prevent invalid key down repeating.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12285

Change-Id: Id36b9b61b90ad6dd886cb2e7653be6b7f7b29c84

3 years agoevas vg: revise buffer caching mechanism from ector version. 00/260000/9
Hermet Park [Thu, 17 Jun 2021 09:44:04 +0000 (18:44 +0900)]
evas vg: revise buffer caching mechanism from ector version.

This helps to save memory when process uses the same resource
among the objects.

In case of ui, many ui instances uses the same visual resources,
So this mechanism is very effective.

Additionally, this keeps the designated buffer for animation frames.

Previously, we didn't reuse the buffer so every frame buffer is
generated and destroyed, it's an inefficient task...

Change-Id: Ida6c59d972ccc130cb0fa990fce475ce5a2dca64

3 years agoecore_wl2: ++safety code 97/260197/1 accepted/tizen/unified/20210629.051647 submit/tizen/20210628.020154
Shinwoo Kim [Tue, 22 Jun 2021 01:55:32 +0000 (10:55 +0900)]
ecore_wl2: ++safety code

This patch is removing 'Dereference after null check' type issue.

Change-Id: Ifb0fdcc690fa8682d71303323083f688a93d4119

3 years agoevas vg: ++optimization rendering performance. 07/259807/13
Hermet Park [Tue, 15 Jun 2021 03:23:16 +0000 (12:23 +0900)]
evas vg: ++optimization rendering performance.

recover to use the tbm-surface to update the texture data from
the tvg canvas. This brings skipping memory copy, improve the
fps around 10 on average.

Change-Id: I6eb54e8b62c88a6475c6750f69f55a50b4a6f566

3 years agoecore_wl2_window: use set_config geometry. 13/259913/1
Hosang Kim [Mon, 28 Jan 2019 08:10:59 +0000 (17:10 +0900)]
ecore_wl2_window: use set_config geometry.

Sometimes _ecore_wl_window_cb_angle_change is called before
_zxdg_toplevel_cb_configure is called.
In this case def_config geometry is not yet updated,
therefore we use set_config geometry.

@tizen_only

Change-Id: I13eb16db6ef476ac45a886bfb3ce1c788369e8e3
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>