platform/upstream/efl.git
2 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

2 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

2 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

2 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

2 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

2 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

2 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

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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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>
3 years agoevas vg: code refactoring. 57/259857/1
Hermet Park [Wed, 16 Jun 2021 05:14:56 +0000 (14:14 +0900)]
evas vg: code refactoring.

remove redundant code.

Change-Id: Icac48d3e0c027b18c24ef7084f5dec38302028e6

3 years agoevas_gl_common: increase max num_fbo_fmts of EVGL_Cap to 150 06/259306/2
Changyeon Lee [Fri, 4 Jun 2021 06:01:51 +0000 (15:01 +0900)]
evas_gl_common: increase max num_fbo_fmts of EVGL_Cap to 150

num_fbo_fmts of Adreno 650 is 114

Change-Id: I21137edc2ba9ee472fc2aba199244c8330e5a143

3 years agoecore_wl2: improve document of exported shell 25/259825/1
Shinwoo Kim [Tue, 15 Jun 2021 08:24:42 +0000 (17:24 +0900)]
ecore_wl2: improve document of exported shell

The commit behaviour is synchronized mode by default, so all relevant API
needs parent wl_surface.commit to get applied.
If user change the commit behaviour to desynchronized mode, then it is
necessary to call ecore_wl2_subsurface_exported_surface_commit.

Change-Id: I7b08568b1935079630058039b67adf351ea02925

3 years agoevas vg: code refactoring. 06/259806/5
Hermet Park [Tue, 15 Jun 2021 02:37:54 +0000 (11:37 +0900)]
evas vg: code refactoring.

remove redundant code...

Change-Id: Icbe384b0768c24c2b37012571bfecc5bda6ee1a5

3 years agocanvas vg: recover the origin code to allocate optimial canvas size while it keeps... 94/259794/8
Hermet Park [Mon, 14 Jun 2021 10:28:45 +0000 (19:28 +0900)]
canvas vg: recover the origin code to allocate optimial canvas size while it keeps the aspect-ratio.

Change-Id: I927a55aec6ca236bed8fbda5268ae4303c141707

3 years agoecore_wl2: update document for subsurface sync mode 12/259812/2
Shinwoo Kim [Tue, 15 Jun 2021 05:50:42 +0000 (14:50 +0900)]
ecore_wl2: update document for subsurface sync mode

The default commit behaviour of subsurface is syncronized mode.
User needs to know about this information.

Change-Id: Iff87f10e520febce116e72b1026c7dcd9ffd1a73

3 years agoecore_wl2: enhance document of exported shell 05/259805/1
Shinwoo Kim [Tue, 15 Jun 2021 02:25:28 +0000 (11:25 +0900)]
ecore_wl2: enhance document of exported shell

The parameter transform without any information is not kind.
We need to provide more information refering to:

  wayland-extension/protocol/tizen/wtz-foreign.xml

Change-Id: Ic1ab7dece1a1e6e3a19eeb313f012589ff6fc61e

3 years agoevas vector: do not redraw the canvas if the both cache tree & user tree are valid. 78/259678/1
Hermet Park [Fri, 11 Jun 2021 03:21:56 +0000 (12:21 +0900)]
evas vector: do not redraw the canvas if the both cache tree & user tree are valid.

previous logic has a potential issue that cache tree drawing result is erased
if the user tree is valid.

To fix this, tvg canvas must draw once after update both trees.

Change-Id: I59405d17b22cc587b69d268dbc86ab525f626905

3 years agoefl canvas: code refactoring 42/259242/4
Hermet Park [Thu, 3 Jun 2021 02:55:20 +0000 (11:55 +0900)]
efl canvas: code refactoring

keep it neat & clean code.

Change-Id: I1f76c2c674db380d7a363c37cb7d0fd3590d4e07

3 years agoevas canvas: fix a potential memory leak. 77/259677/1 accepted/tizen/unified/20210617.124948 submit/tizen/20210611.033305 submit/tizen/20210614.083948 submit/tizen/20210615.004451
Hermet Park [Fri, 11 Jun 2021 02:57:59 +0000 (11:57 +0900)]
evas canvas: fix a potential memory leak.

Change-Id: Iaf6be94c576c80b99ec8b24d2435e62b4074b6cc

3 years agoevas engine: Fixed error in evas render sync type use handling. 10/259610/4
jykeon [Thu, 10 Jun 2021 07:40:07 +0000 (16:40 +0900)]
evas engine: Fixed error in evas render sync type use handling.
             Change duplicate use render sync type.

Change-Id: I926eed7fca1f74eebebbc0b941a55f987e95a42b
Signed-off-by: jykeon <jykeon@samsung.com>
3 years agoector - code clean up. 56/259056/11
Hermet Park [Mon, 31 May 2021 10:46:36 +0000 (19:46 +0900)]
ector - code clean up.

remove unused code, leave the ector buffer for evas_filter feature.

Change-Id: I86ad883fc094fdcc9c3216fe2e17d51ebe6b6db1

3 years agoevas vg: Fixed possible crash in shape interpolate. 04/259504/1
Michal Szczecinski [Wed, 9 Jun 2021 06:08:40 +0000 (08:08 +0200)]
evas vg: Fixed possible crash in shape interpolate.

Added ptr checks before dereference.

Change-Id: I51e625a17be5cd82b30242c73c1b9d8fffb202d9

3 years agoatspi: make plug and socket window work 05/258905/9
Shinwoo Kim [Thu, 27 May 2021 11:39:26 +0000 (20:39 +0900)]
atspi: make plug and socket window work

This is for making Elm.Plug and Efl.Ui.Win_Socket_Legacy work
Elm.Plug (Embedding side such as Quickpanel) has a child Elm.Atspi.Proxy
Efl.Ui.Win_Socket_Legacy (Such as Music player) also has Elm.Atspi.Proxy.

1 finger tap did not work because PLUG proxy does not have size.
It is able to override efl_access_component_accessible_at_get to fix this.
But this patch set makes PLUG proxy have size.

flick "next" and "prev" did not work.
The changes in elm_atspi_bridge.c is fixing this issue.
Each comment explains what the change is going to fix.

This patch is fixing following items
(1) connection between plug and socket window including
    atspi on > off > on case
(2) 1 finger single tap on socket window
(3) 1 finger swipe between plug and socket window
(4) 1 finger double tap and hold on socket window, then 1 finger tap on plug

*tizen-fix

Change-Id: I34f76892da29232c4ae9da892d550fc023759570

3 years agoatspi: add atspi bridge ready event 67/259367/2
Shinwoo Kim [Fri, 4 Jun 2021 11:20:00 +0000 (20:20 +0900)]
atspi: add atspi bridge ready event

Summary:
calling elm_init does not guarantee of readiness of atspi bridge
even though elm_init is calling _elm_atspi_bridge_init.
widget or user could want to know when the atspi bridge is ready.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I75f1f45851ec51af07d3f9ba68d69019160ed721

3 years agocanvas vg: fix a crash issue. 54/259354/3
Hermet Park [Fri, 4 Jun 2021 15:00:29 +0000 (00:00 +0900)]
canvas vg: fix a crash issue.

clear the scene before its parent is changed.
this can occur the corruption of the scene tree
that brings the shapes appended to multiple scenes.

Change-Id: I9d729e185e3d5e27653ec54bda259081c67f5214

3 years agoecore_wl2: fix declaration mistake 80/259280/1
Shinwoo Kim [Fri, 4 Jun 2021 01:51:09 +0000 (10:51 +0900)]
ecore_wl2: fix declaration mistake

It should be ecore_wl2_subsureface_exported_surface_commit
ecore_wl2_subsurface_exported_surface_ is prefix for foreing shell
related API family.

Change-Id: I40a8f5a28503019720c471a050a0a55ce35ee4b6

3 years agoatspi: move duplicated code in one place 63/259263/1
Shinwoo Kim [Thu, 3 Jun 2021 03:44:24 +0000 (12:44 +0900)]
atspi: move duplicated code in one place

Summary: we do not have to change several place for updating.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I655345e11ff6fbf85d5f02e6d1f600a4da6cae68

3 years agoevas vg: Don't update thorvg shapes when node is not changed. 44/259144/5
Michal Szczecinski [Mon, 31 May 2021 13:26:32 +0000 (15:26 +0200)]
evas vg: Don't update thorvg shapes when node is not changed.

When node is not changed it is not necessary to update and redraw
canvas. This change speed up lottie rendering process in vg-benchmark up
to 25%.

Change-Id: If0c85d9fb2f8a20de47e1f243f49e5276617d086

3 years agoevas vg: Removed warnings 53/259153/2
Michal Szczecinski [Tue, 1 Jun 2021 16:48:46 +0000 (18:48 +0200)]
evas vg: Removed warnings

Change-Id: I5c31dd88331ebd2f030fca1e54900d64d5f16000

3 years agoRevert "Revert "ector - code clean up."" 28/259128/1
Hermet Park [Tue, 1 Jun 2021 09:38:27 +0000 (18:38 +0900)]
Revert "Revert "ector - code clean up.""

This reverts commit 2d935a44c1f69a9ac6548efb46900f63c4fd81e7.

Change-Id: Ic84ff4a35a9c9827600dc87a5423bcd7aa7764d8

3 years agoRevert "ector - code clean up." 91/259091/1 accepted/tizen/unified/20210602.122542 submit/tizen/20210601.080645 submit/tizen/20210601.084003
Chun [Tue, 1 Jun 2021 05:00:13 +0000 (05:00 +0000)]
Revert "ector - code clean up."

This reverts commit 8aae7d5e11124e37c1cc43454ead4dc91a1a6ceb.

Change-Id: I1029adbf5952a24c27be20f0e4e5c4c70d0c8dfc

3 years agoector - code clean up. 85/258985/2
Hermet Park [Fri, 28 May 2021 11:35:48 +0000 (20:35 +0900)]
ector - code clean up.

remove ector software engine.

Change-Id: If28abc6060426a794d30d9415c84250f323dce09

3 years agoevas canvas: +null check for safety. 26/259026/1
Hermet Park [Mon, 31 May 2021 06:02:46 +0000 (15:02 +0900)]
evas canvas: +null check for safety.

Prevent any corrupted objects in efl side...
It rarely happens that freed objects are accessed again with null properties...

Change-Id: If026d1ca29a1b9002b4f9c0c073cb4e455f55515

3 years agoevas vg: Fixed code style 82/258982/1
Michal Szczecinski [Fri, 28 May 2021 10:19:45 +0000 (12:19 +0200)]
evas vg: Fixed code style

Change-Id: Ia92af55e4e323d420f5d787c155eed6b84717a10

3 years agocanvas vg: fix the memory leak issue. 45/258845/7
Hermet Park [Wed, 26 May 2021 12:39:03 +0000 (21:39 +0900)]
canvas vg: fix the memory leak issue.

some dangled tvg nodes occured memory leak when interpolating vg tree.

this fixes the issue.

Change-Id: Ifef6f3cad011ef0fd4197bc6c06d00ebc75adbb8

3 years agoevas vg: Shape interpolation patch: indent and case check fix 26/258626/6
Michal Maciola [Fri, 21 May 2021 07:36:56 +0000 (09:36 +0200)]
evas vg: Shape interpolation patch: indent and case check fix

This patch fixes indent and if condition in patch "evas vg: Shape
interpolation patch".

Change-Id: I6d3c322c174f3b5d5cdcc4f8f866de05b3047d98

3 years agoevas vg: Removed macro from thorvg initialization code. 46/258846/1
Michal Szczecinski [Wed, 26 May 2021 12:28:28 +0000 (14:28 +0200)]
evas vg: Removed macro from thorvg initialization code.

Now thorvg is used as default so macro is not necessary there.

Change-Id: I9b40c47b268bc4bd35f01a8c46d45518707f3d2f

3 years agoevas: add evas_map_direct_render_set 53/257753/7
Shinwoo Kim [Fri, 30 Apr 2021 09:31:44 +0000 (18:31 +0900)]
evas: add evas_map_direct_render_set

This is for very special purpose interface to optimize memory usage of map.
This is for a smart object which has only one image object as its children.
The map will be applied to the image object instead of the smart object.

Change-Id: Ieceff3413aba7ac1c88aec694f47fb8c4dcc741d

3 years agoevas: support render sync commit 15/248515/13
Shinwoo Kim [Fri, 27 Nov 2020 09:03:27 +0000 (18:03 +0900)]
evas: support render sync commit

There is a requirement to know display server side commit.
This patch set provides way to get the commit of display server.

[Usage]
https://review.tizen.org/gerrit/#/c/profile/mobile/platform/core/uifw/elm-demo-tizen-mobile/+/240108/

@tizen_only

Change-Id: Ie75465d4e5b3f07ae2a8309b39ea6a6284d416dc

3 years agoecore_wl2_subsurface: support foreign shell 23/257823/3
Shinwoo Kim [Mon, 3 May 2021 11:46:11 +0000 (20:46 +0900)]
ecore_wl2_subsurface: support foreign shell

Please refer to following enlightenment commit message,
for more well defined information about the foreign shell.

  commit b213f873bc279d7957d407aec5f6157713bbf0b2
  Author: Seunghun Lee <shiin.lee@samsung.com>
  Date:   Fri Apr 9 14:41:03 2021 +0900

    Support wtz-foreign protocol
    This is an initial commit to support wtz-foreign protocol.

    This is to support out-of-process video playing surface.
    wtz-foreign protocol is to enable one client to share its resources to
    another client.
    The client which exported a reference of foreign shell then can change
    attributes - such as size, orientation, and map state - of foreign shell.
    So, the client which import a foreign shell can draw its contents onto a
    surface without concerning about attributes such as size like as
    mentioned.

    The e_foreign contains implementation of wtz_exporter and wtz_importer.
    And e_foreign_shell contains implementation of wtz_exported_shell and
    wtz_foreign_shell.

Change-Id: Ie9b5bd5cea33263673f9d551b0486f08f84cb4a7

3 years agoelm_spinner: sync button visibility 39/257539/8
Shinwoo Kim [Tue, 27 Apr 2021 09:36:51 +0000 (18:36 +0900)]
elm_spinner: sync button visibility

This patch is related to accessibility.
The button of spinner has visible state, even though spinner does not show.

The efl_ui_clock could use spiner internally.
Usually it adds 5 spinners and does not show some of them according to
the time format.

We tried to apply following patch, but it is not acceptable.
- elm_datetime_format_set(dd->datetime, "%d/%b/%Y %I:%M %p");
+ elm_datetime_format_set(dd->datetime, "%I:%M %p");

- elm_datetime_format_set(dd->datetime, "%d/%b/%Y %H:%M");
+ elm_datetime_format_set(dd->datetime, "%H:%M");

Change-Id: If7182e669271931b54b3266f79252c87f4cd6bdf

3 years agoeeze: remove memory leak 03/258703/1
Shinwoo Kim [Mon, 24 May 2021 10:48:43 +0000 (19:48 +0900)]
eeze: remove memory leak

Summary: udev_enumerate_new needs to call udev_enumerate_unref before leaving.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Iec9925e4af64cd9b747ceb4ee695eb079a8dac63

3 years agoeeze_net: fix a potentional memory leak case 00/258700/1
Wonki Kim [Thu, 24 Dec 2020 02:43:28 +0000 (11:43 +0900)]
eeze_net: fix a potentional memory leak case

Summary:
if `net` equals zero and `device` has allocated properly at the same time, memory leaks.
this patch fixes it.

Reviewers: Hermet, bu5hm4n, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ie70eb0da84b29c23d3192f03bb09d6a6593381e4

3 years agoeeze_disk: fix potential memory leak 88/258688/1
Christopher Michael [Thu, 25 Feb 2021 15:02:07 +0000 (10:02 -0500)]
eeze_disk: fix potential memory leak

If allocation for disk fails, then we leak memory from previously
called _new_device function.

This patch based on D12223 from akanad (Wonki Kim)

ref D12223

Change-Id: If22a28d99a6b91eadc1b82103daabf92db515923

3 years agoeet: initialize descriptor class' func.type_get and func.type_set 80/258680/1
Jaehyun Cho [Mon, 24 May 2021 07:24:09 +0000 (16:24 +0900)]
eet: initialize descriptor class' func.type_get and func.type_set

Descriptor class' func.type_get and func.type_set are initialized with
NULL.

Change-Id: I94526c2421c1fa2924a705cd2341130905df1da0

3 years agoevas vg: Keep vg shape backward compatibility. 77/258677/1
Michal Szczecinski [Mon, 24 May 2021 06:31:27 +0000 (08:31 +0200)]
evas vg: Keep vg shape backward compatibility.

Thorvg don't support location set/get API. This commit keeps backward
compatibility for this feature in EFL.

Change-Id: Ic13d8ac05798715cb3f71dda8f362ac661427afb

3 years agoeeze_syspaty: fix a potention memory leak 66/258666/2
Wonki Kim [Thu, 24 Dec 2020 02:48:53 +0000 (11:48 +0900)]
eeze_syspaty: fix a potention memory leak

Summary:
if udev device get sysname fails, memory leaks.
this patch fixes the problem.

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: Hermet

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I2d02a6e6eb98e9262255ab3c02cf99f347b8c5f9

3 years agogif loader: show the current frame image if getting row is failed. 68/258668/3
Taehyub Kim [Mon, 24 May 2021 02:05:39 +0000 (11:05 +0900)]
gif loader: show the current frame image if getting row is failed.

Change-Id: I17c79f89550e9a758a532babd55826b3c7ad2810

3 years agoevas vg: Shape interpolation patch 80/258580/2
Michal Maciola [Thu, 20 May 2021 10:12:42 +0000 (12:12 +0200)]
evas vg: Shape interpolation patch

This patch fixes the edgy case when the shape interpolation applies
only to a parameter such as fill color without path interpolation.
Previously, such a case was not performed.
Return case is EINA_FALSE on any error.

Change-Id: Ic8ce2c18ca10cb72c15785f0742a3f0db61beb39

3 years agoevas vg: Fixed invalid return in gradient color get. 77/258577/1
Michal Szczecinski [Thu, 20 May 2021 10:00:57 +0000 (12:00 +0200)]
evas vg: Fixed invalid return in gradient color get.

This typo caused issues with gradient rendered from edje.

Change-Id: I14890260b6a8a8578d2fa9878b6bf5da49c7aab4

3 years agoevas vg: Radial gradient code cleanup. 96/258096/7
Michal Szczecinski [Mon, 10 May 2021 10:49:20 +0000 (12:49 +0200)]
evas vg: Radial gradient code cleanup.

Removed ector dependency. Removed redundant code.

Change-Id: If81e57d02aafbd7489f2a4ff5fa44995d0462637

3 years agoevas vg: Fixed typo in gradients. 15/258315/1
Michal Szczecinski [Thu, 13 May 2021 10:07:34 +0000 (12:07 +0200)]
evas vg: Fixed typo in gradients.

Added missing return value if sanity check don't pass.

Change-Id: I937efee790f07bba07e652026b31c3eee83453d6

3 years agoelementary_tizen: make genlist emit (un)focused signal 89/258189/2
Shinwoo Kim [Wed, 12 May 2021 04:30:45 +0000 (13:30 +0900)]
elementary_tizen: make genlist emit (un)focused signal

Even though genlist item gets focus, elementary_tizen > gnlist
does not send focused signal. So there is not a chance to read
focused item information on AT-client screen-reader.

*tizen-fix

Change-Id: Iaa850ed0a25be0e6245bc274c90d9b4ba30b9cc6

3 years agoatspi: recover init failure 05/257405/4
Shinwoo Kim [Fri, 23 Apr 2021 08:42:16 +0000 (17:42 +0900)]
atspi: recover init failure

There is an application which is trying to init atspi bridge
before DBus is ready. In this case, it is not able to create
atspi bridge instance.

Change-Id: Ie5a0b37ddb814ded90d4e205ef0ccedc9c85c932

3 years agoevas: fix typo causing build error 08/258208/1
Shinwoo Kim [Wed, 12 May 2021 07:45:45 +0000 (16:45 +0900)]
evas: fix typo causing build error

Change-Id: I1b30d4f38a28fad68f5b4a5b4d5cdddc5d96b2df

3 years agocanvas vg: keep the eo interfaces for the compatibility just in case... 86/258186/1
Hermet Park [Wed, 12 May 2021 04:23:36 +0000 (13:23 +0900)]
canvas vg: keep the eo interfaces for the compatibility just in case...

Change-Id: I3e63b44e9182777b385af7231c34008274a3da78

3 years agoevas vg: remove ector usage: efl_canvas_vg_object.c 50/258150/3
Michal Maciola [Fri, 23 Apr 2021 08:46:50 +0000 (10:46 +0200)]
evas vg: remove ector usage: efl_canvas_vg_object.c

Removed HAVE_THORVG blocks from efl_canvas_vg_object.c

Change-Id: Ifa184a2ad416438c8ab04a92595ef1f8cdfd6ec8

3 years agoevas vg: Linear gradients code cleanup 97/258097/2
Michal Szczecinski [Mon, 10 May 2021 09:32:26 +0000 (11:32 +0200)]
evas vg: Linear gradients code cleanup

Removed ector dependency. Removed redundant code.

Change-Id: I1f9744ad354ee75feb63da7727bfdefb3e834b12

3 years agoevas vg: Removed redundant code. 83/258083/3
Michal Szczecinski [Mon, 10 May 2021 08:34:55 +0000 (10:34 +0200)]
evas vg: Removed redundant code.

This commit removes code used in ector mode now switched off by default.

Change-Id: I6cf1c7b2cf0a36703de9b74e2ac948c0c00ee398

3 years agoatspi: move atspi bridge init to elm_run 75/257375/2
Shinwoo Kim [Fri, 23 Apr 2021 06:59:13 +0000 (15:59 +0900)]
atspi: move atspi bridge init to elm_run

We moved initialization to elm_run by following commit already.

   commit 273ad815147a7916c426b6dd60fe45a523ccf048
   Author: Lukasz Stanislawski <l.stanislaws@samsung.com>
   Date:   Mon Nov 27 14:18:57 2017 +0530

       atspi: move atspi initialization to elm_run.

       Change-Id: Ib0656d1312367ee214f4cb2b236f28a4d73a1dfe

But in accident, it resurrected with following commit.

   commit 87d7ed882cc130dd92c1bd7677e3223fc0fe6870
   Author: Alastair Poole <netstar@gmail.com>
   Date:   Mon Jul 30 11:42:28 2018 -0400

       efl_selection: reintroduce missing ELM_CNP_EVENT_SELECTION_CHANGED symbol.

       Summary:
       During the 1.21 development cycle the symbol ELM_CNP_EVENT_SELECTION_CHANGED was lost.

       The commit which introduced this:  e88bbaa1e314751e5c1a04dec7f1f179188428ae

       This patch re-introduced the symbol and expected behaviour.

       Reviewers: #committers, zmike, bu5hm4n, herb

       Reviewed By: #committers, zmike

       Subscribers: herb, ManMower, segfaultxavi, stefan_schmidt, cedric, zmike

        Tags: #efl

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

This could be migration error.
So I would like to move atspi bridge init to elm_run again.
AFAIK, if we create DBus connection at elm_init, there is a security issue.
I am not sure if this is still living issue or not.
Because we have done atspi init from 2018 (above second commit).

Change-Id: I0ca58fa915634cf75367383a3f4c38eb8657d0f1

3 years agoelm_atspi: suppress reading of screen-reader 08/257008/3
Shinwoo Kim [Fri, 16 Apr 2021 09:02:58 +0000 (18:02 +0900)]
elm_atspi: suppress reading of screen-reader

Because there is legacy code for screen-reader, an application could want
to keep previous behavior of the screen-reader even though the ATSPI is
enabled by AT client such as Aurum test framework.

If an application wants to make screen-reader AT client do not read,
then set suppress to EINA_TRUE. The default suppress is @c EINA_FALSE.

This patch is also handling env. variable ELM_SUPPRESS_SCREEN_READER
to define default behavior.

*tizen-only

Change-Id: Ia138fd6fb21c731588eff2deec2ae59a61b3c981

3 years agoevas vg: gradient path bounds get 77/257977/2
Michal Maciola [Tue, 20 Apr 2021 13:39:29 +0000 (15:39 +0200)]
evas vg: gradient path bounds get

Created efl_canvas_vg_gradient_[linear/radial]_efl_gfx_path_bounds_get thorvg implementation

Change-Id: Iff7e286621178127170fc4159ebfd36915a17128

3 years agoevas vg: Added gradients interpolation. 18/258018/3
Michal Szczecinski [Fri, 7 May 2021 10:35:03 +0000 (12:35 +0200)]
evas vg: Added gradients interpolation.

Added gradients interpolation in thorvg mode. In next commits cleanup
removing ector dependency will be performed.

Change-Id: Ie210f59b8403907c3e06dcb6b7985decf4dbc2a7

3 years agoevas vg: remove ector usage: evas_vg_private.h 74/257974/2
Michal Maciola [Wed, 21 Apr 2021 09:20:45 +0000 (11:20 +0200)]
evas vg: remove ector usage: evas_vg_private.h

Removed HAVE_THORVG blocks from evas file evas_vg_private.h

Change-Id: I00e84b4d747fc343f9570190c215832300374784

3 years agoevas vg: Added gradient interpolation example 93/257993/2
Michal Szczecinski [Thu, 6 May 2021 12:24:30 +0000 (14:24 +0200)]
evas vg: Added gradient interpolation example

This example shows how to implement gradient interpolation. It will be
used as a test for gradients interpolation implementation.

Change-Id: Ifb6632d013686597a1c28ebba94b0afe95e5b677

3 years agoevas vg: remove ector usage: efl_canvas_vg_shape.c 17/257917/3
Michal Maciola [Wed, 21 Apr 2021 08:47:26 +0000 (10:47 +0200)]
evas vg: remove ector usage: efl_canvas_vg_shape.c

Removed ector calls / HAVE_THORVG blocks from evas file efl_canvas_vg_shape.c

Change-Id: Ic89f97f4cc797a818acb7497bbb72502d7279dfb

3 years agovg common: Enable fill rule getter. 64/257964/1
Michal Szczecinski [Thu, 6 May 2021 10:18:49 +0000 (12:18 +0200)]
vg common: Enable fill rule getter.

This commit removes ThorVG redundant code and use new fill rule getter.

Change-Id: I3820f3cc9969be9f1daf58b8adedb0a1a1d8d26e

3 years agovg common: Removed thorVG dependency. 15/257915/3
Michal Szczecinski [Thu, 6 May 2021 09:19:46 +0000 (11:19 +0200)]
vg common: Removed thorVG dependency.

ThorVG library now supports path_bounds_get API. This commit uses it in
gradient property calculation.

Change-Id: I87beda0eb1cbb761d0a0d48f752e7e5b95f41588