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
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
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
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
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
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
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
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
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>
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>
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
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
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
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
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
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
Hermet Park [Tue, 17 Aug 2021 04:45:20 +0000 (13:45 +0900)]
evas render: add a null check for ++safety
Change-Id: I202333d0ab79ad439b7c70fdacbda2041d015840
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
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
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
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
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
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
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
Hermet Park [Wed, 4 Aug 2021 02:49:28 +0000 (11:49 +0900)]
evas canvas: ++safety
prevent null memory access.
Change-Id: I14a9e07d2a4122db9170dc40eafe0e55cc80524a
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
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>
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>
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
Hermet Park [Wed, 16 Jun 2021 05:14:56 +0000 (14:14 +0900)]
evas vg: code refactoring.
remove redundant code.
Change-Id: Icac48d3e0c027b18c24ef7084f5dec38302028e6
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
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
Hermet Park [Tue, 15 Jun 2021 02:37:54 +0000 (11:37 +0900)]
evas vg: code refactoring.
remove redundant code...
Change-Id: Icbe384b0768c24c2b37012571bfecc5bda6ee1a5
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
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
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
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
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
Hermet Park [Fri, 11 Jun 2021 02:57:59 +0000 (11:57 +0900)]
evas canvas: fix a potential memory leak.
Change-Id: Iaf6be94c576c80b99ec8b24d2435e62b4074b6cc
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>
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
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
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
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
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
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
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
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
Michal Szczecinski [Tue, 1 Jun 2021 16:48:46 +0000 (18:48 +0200)]
evas vg: Removed warnings
Change-Id: I5c31dd88331ebd2f030fca1e54900d64d5f16000
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
Chun [Tue, 1 Jun 2021 05:00:13 +0000 (05:00 +0000)]
Revert "ector - code clean up."
This reverts commit
8aae7d5e11124e37c1cc43454ead4dc91a1a6ceb.
Change-Id: I1029adbf5952a24c27be20f0e4e5c4c70d0c8dfc
Hermet Park [Fri, 28 May 2021 11:35:48 +0000 (20:35 +0900)]
ector - code clean up.
remove ector software engine.
Change-Id: If28abc6060426a794d30d9415c84250f323dce09
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
Michal Szczecinski [Fri, 28 May 2021 10:19:45 +0000 (12:19 +0200)]
evas vg: Fixed code style
Change-Id: Ia92af55e4e323d420f5d787c155eed6b84717a10
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Shinwoo Kim [Wed, 12 May 2021 07:45:45 +0000 (16:45 +0900)]
evas: fix typo causing build error
Change-Id: I1b30d4f38a28fad68f5b4a5b4d5cdddc5d96b2df
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
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
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
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
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
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
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
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
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
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
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
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