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
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
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
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
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
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>
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
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
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>
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
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>
EverLEEst(SangHyeon Lee) [Wed, 26 Jan 2022 07:39:26 +0000 (16:39 +0900)]
gen : remove unnecessary focus_manager calls.
Change-Id: Ic992497fd990cc0e6c3bd37ab5aeb8d41323baf6
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
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>
Michal Szczecinski [Thu, 25 Nov 2021 10:58:31 +0000 (11:58 +0100)]
evas render: Fixed invalid sanity check
Change-Id: I1db4c81ca84a5c81205eeba946cce687a2c9721d
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
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>
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
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
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
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
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
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
Hosang Kim [Thu, 16 Dec 2021 05:51:36 +0000 (14:51 +0900)]
ecore_wl2_input: fix order of calcuation
Change-Id: I5e77796721ebfacc37bfc6ed9ca68067d7398b1a
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
Hosang Kim [Mon, 13 Dec 2021 07:03:13 +0000 (16:03 +0900)]
efl: remove touch position log for improving security.
Change-Id: Icb99aba71e486a71d6f7f87258ca246a005b7b9e
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
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
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
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
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
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
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
Michal Szczecinski [Wed, 20 Oct 2021 11:53:06 +0000 (13:53 +0200)]
evas: Fixed invalid sanity check
Change-Id: I35f2674d5a29c52cba5540439ec92fb59829da7c
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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