Michal Szczecinski [Thu, 4 Mar 2021 20:23:16 +0000 (21:23 +0100)]
evas vg: Fixed container alpha settings.
This commit fixes rendering issues of SVG's with opacity and color
defined in <g> node type.
Change-Id: I5de54ec9cde3a931ce4920c9a5f91f1c73adb0ae
Shinwoo Kim [Wed, 3 Mar 2021 07:44:28 +0000 (16:44 +0900)]
evas_object_smart: enhance logic checking clipper visibility
Summary:
If current clipper object is equal to previous clipper object,
then the value of visible (or alpha) is same, because it is same object.
But there is a case that current visible value is different with
previous visible, when clipper object is same.
I added this patch to cover above case to draw childern of map.
See following flow.
evas_render_mapped
> if (_evas_render_has_map(obj) && !_evas_render_can_map(obj))
> if (!changed) changed = evas_object_smart_changed_get(obj);
The evas_object_smart_changed_get returned FALSE, even though
current visible value is different with previous one in the same
clipper object.
Reviewers: raster, Hermet, herb, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12250
Change-Id: I4306eaf0a5aab156dbbf223dd844e338bde1d6b2
Michal Maciola [Tue, 2 Feb 2021 15:39:45 +0000 (16:39 +0100)]
evas canvas: if statements cleanup
Change-Id: I59147a26d9f639e38cb244f0b6b4a215f16874ec
Taehyub Kim [Tue, 26 Jan 2021 08:22:26 +0000 (17:22 +0900)]
gl_generic: disable creating gl thread
The gl render thread was implemented for gl threading but this feature is not used.
because the gl render thread feature has no performance advantage and not stable.
so disable creating Evas-gl-thread-wk thread.
Change-Id: I6b13588e6d5cc44df11579b401d7621413f4e047
Michal Szczecinski [Sun, 31 Jan 2021 11:11:11 +0000 (12:11 +0100)]
evas canvas: code cleanup. Removed warnings.
Change-Id: Ib475a8e806556c06c2eb11aa9b9e0d61d369e7cd
Shinwoo Kim [Wed, 17 Feb 2021 01:18:28 +0000 (10:18 +0900)]
eeze: fix a potention memory leak
Summary:
if udev device get parents fails, memory leaks.
this patch fixes the problem.
Reviewers: raster, Hermet, jsuya, herb, ali.alzyod, devilhorns
Reviewed By: ali.alzyod, devilhorns
Subscribers: ali.alzyod, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12249
Change-Id: I6f2484184dd0b918952f7fbfddd3b974e8faba3b
Shinwoo Kim [Sat, 13 Feb 2021 11:51:16 +0000 (11:51 +0000)]
gl: remove memory leak of orient_set
Summary:
The tex->pt->references is descreased by
evas_gl_common_texture_free -> pt_unref
if tex->references is 0
And tex->pt->texture is removed by
evas_gl_common_texture_free -> pt_unref -> glDeleteTextures
if tex->pt->references is 0
The evas_gl_common_texture_free decreases tex->references only
if tex->references is bigger than 0. There is no chance to decrease
tex->pt->references at this point.
So if orient_set increases both references of tex and tex->pt, then
the tex->pt->reference is not decreased till tex->references is 0.
So do not increase tex->pt->references in eng_orient_set.
Reviewers: raster, cedric, Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12243
Change-Id: I193f4007e53e1f6077e9baf55aa774504353c7df
Shinwoo Kim [Mon, 25 Jan 2021 11:53:03 +0000 (20:53 +0900)]
gl: remove orient mismatch between texture and image
With following step, we got abnormal image,
because there is a mismatch between texture and image.
evas_object_image_orient_set(90)
evas_object_image_data_get
evas_object_image_orient_set(180)
evas_object_image_data_get
evas_object_image_orient_set(270)
evas_object_image_data_get
evas_object_image_orient_set(0)
evas_object_image_data_get
The evas_object_image_data_get create rotated image and texture.
The rotated image and texture is used in evas_gl_common_context_image_push.
evas_gl_common_context_image_push has been used 0 orient texture so far.
But following commit made evas_gl_common_context_image_push use
rotated texture
0abf1ee [evas_gl] change oreint_set() / data_set() / data_get() ...
And for more information,
The following commit increase ref count of rotated texture
So by somehow... rotated texture was used with 0 orient image.
1b91101 evas: fix usage of the same ressource ...
*tizen_fix
Change-Id: I8429cedd835cdf1dc94931e1c9c4b308d775ac71
Youngbok Shin [Mon, 15 Feb 2021 10:14:24 +0000 (19:14 +0900)]
elementary entry: fix limit size issue in the password mode
The elm_entry always give plain text in the password mode.
When it needs to calculate the length of the current text,
the current text should be handled as a plain text.
@tizen_fix
Change-Id: Ia8e9cab9196e209f86334f40ce06c2de8aa3fb18
Shinwoo Kim [Mon, 15 Feb 2021 09:35:21 +0000 (18:35 +0900)]
ecore_wl2: get window from subsurface
There is a requirement to get ecore_wl2_window from
given ecore_wl2_subsurface.
Change-Id: Idffef92b50b4edc474ae53cb7df5ffc65b26f615
Shinwoo Kim [Tue, 9 Feb 2021 07:23:19 +0000 (16:23 +0900)]
ecore_wl2_subsurface: remove double free
User could use ecore_wl2_subsurface API as below.
if (!ecore_wl2_subsurface_video_surface_prepare)
ecore_wl2_subsurface_del;
If video_surface_prepare frees subsurface when it gets a failure,
then del also tries to free the subsurface again. (double free)
It does not make sense to release subsurface in video_surface_prepare.
So this patch is removing the line to free subsurface.
*tizen_fix
Change-Id: I5da0c10f59ebae5d7b4406f8ad93dacb082bb285
Jaehyun Cho [Thu, 4 Feb 2021 02:00:14 +0000 (11:00 +0900)]
edje_entry: fix a potential error of null deref
Summary:
This is a patch to fix a potential error of null dereferencing.
This patch is based on D12087.
Reviewers: Hermet, jsuya
Reviewed By: jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12241
Change-Id: I564443644aabf64e055736c201b8df87f7eced9a
Shinwoo Kim [Thu, 4 Feb 2021 01:11:16 +0000 (10:11 +0900)]
eet, emile: safety++
Summary:
(1) EVP_MD_CTX_new could return NULL
(2) EVP_DigestUpdate returns 0 for failure.
https://www.openssl.org/docs/man1.0.2/man3/EVP_DigestUpdate.html
Reviewers: raster, Hermet, cedric, devilhorns
Reviewed By: devilhorns
Subscribers: SPAM-roll99, devilhorns, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12237
Change-Id: If86106c318e91754010eca27bfd5ee898c49f0d1
Doyoun Kang [Wed, 3 Feb 2021 04:56:28 +0000 (13:56 +0900)]
ecore_wl2_window: update window's saved size in ecore_wl2_window_commit
There was a bug that the window size was not changed after unsetting user geometry.
@tizen_only
Change-Id: Ia611b04ba57a29f891f95f6f9b9b03ef84a83bb9
Shinwoo Kim [Fri, 29 Jan 2021 10:12:24 +0000 (19:12 +0900)]
efl_ui_widget: remove missing break in switch
Current code is correct logically.
But someday we could make a mistake, if there is missing break in switch.
So remove the missing break.
Change-Id: I61094a9aa788e31d5744bb0ace6a744c869cf300
JunsuChoi [Mon, 1 Feb 2021 00:59:33 +0000 (09:59 +0900)]
Efl.Canvas.Vg.Object: Skip render, if size of the drawing area is 0
Summary:
If the size of the boundary of path is 0, there is no area to draw.
Therefore, it is the same as hide().
If there is no area to draw, there is no need to create a buffer or perform rendering.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: devilhorns, cedric, #reviewers, #committers, herb
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12235
Change-Id: I5c3345986f034664d43ea84cef3f3f08f70c4ae5
Michal Maciola [Thu, 14 Jan 2021 09:07:02 +0000 (10:07 +0100)]
Evas renderer: vg_image push/update fix
Change-Id: Ie0425066dd9629cc088989fc7798310dddf4a24c
jeon [Tue, 22 Dec 2020 11:34:03 +0000 (20:34 +0900)]
ecore_wl2_input: support a touch max count event
Change-Id: I95e16e5378ddd9c73161c84854770561e626dba5
Michal Maciola [Tue, 5 Jan 2021 12:25:38 +0000 (13:25 +0100)]
Gradient update fix
Gradient didnt update after setting new parameters (like new color stops, center point or radius).
This fix solves the problem. Could be tested with evas-vg-gradient-manipulation.c example.
Shape was added into Efl_Canvas_Vg_Gradient_Data for efl_canvas_vg_node_change() calling.
gd->gradient_render_pre_tvg() is now called in renderer loop.
Fixed for svg-gradient.
Change-Id: I401984cf5f163520dad0c46489ebb24b72325258
Michal Maciola [Tue, 12 Jan 2021 15:21:08 +0000 (16:21 +0100)]
Evas renderer: animation value provider update fix
Change-Id: I27774a965429cb24038637dad27e18648efb986c
Piotr Kalota [Mon, 11 Jan 2021 15:44:24 +0000 (16:44 +0100)]
evas vector: Fix shape's path getter
Add handling of improper values from 'tvg_shape_get_path_commands' and 'tvg_shape_get_path_coords'.
Change-Id: Ibf0355b1238c2e4b87ea66f6913b1f5ee215306a
Piotr Kalota [Tue, 12 Jan 2021 12:53:51 +0000 (13:53 +0100)]
evas vector: Fix stroke's color convertion problem
Change-Id: I1947a178617cae5a0dfd088920d654016746126e
Michal Maciola [Wed, 30 Dec 2020 09:10:25 +0000 (10:10 +0100)]
Node geometry get bounds fix
This is a fix for evas_vg_node_geometry_get() function.
tvg_paint_get_bounds() was added to thorvg.
Commit was rebuilded on patch set 7.
Efl.Gfx.Path.bounds_get override was added into efl_canvas_vg_shape.eo.
For thorvg tvg_paint_get_bounds(), for efl super is called.
Change-Id: If6ecef780ade2deeec70129f75660c57544c5d68
Michal Szczecinski [Fri, 15 Jan 2021 14:08:51 +0000 (15:08 +0100)]
evas vector: Added stroke's color and width restore after reset.
This commit fixes issue with invisible circle progressbars. Thorvg
resets stroke width and color information. We have to set it again to
use reset api in the same way as it is designed in ector mode.
Change-Id: I8310455ba64333ee767b90c0d6002945024e51b6
Piotr Kalota [Mon, 18 Jan 2021 14:17:13 +0000 (15:17 +0100)]
evas vector: Fix changing visibility of container
Change-Id: Ia6df0e34fb9630aedf5eaecfac9c77b459b28d1a
Youngbok Shin [Sat, 16 Jan 2021 07:42:34 +0000 (16:42 +0900)]
evas text: do recalc immediately whenever ellipsis property is changed
It was impossible to get properly recalculated size immediately when
the ellipsis property is updated. It required some meaningless resize call
to trigger the Evas Text calculation.
So, the patch put the recalc function in evas_object_text_ellipsis_set() function
to do recalc immediately.
Change-Id: I425f27e3fa3c37cebddde60e9e357b7238f5a28f
Shinwoo Kim [Thu, 14 Jan 2021 04:47:06 +0000 (13:47 +0900)]
gl: remove invalid read and write
Summary:
There could be 2 evas_gl_image referencing 1 evas_gl_texture.
evas_object_image_orient_set could make this case.
In this case, when one evas_gl_image is removed(free), the evas_gl_texture
is not removed because its reference count.
After this point, if the other evas_gl_image is removed without drawing
(see function evas_gl_common_image_draw, line "im->tex->im = im")
then evas_gl_texture is reading invalid adress when it is removed.
Reviewers: Hermet, jsuya, herb, devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12229
Change-Id: I6e7dc894ab314a45ddaadeba709ea2b35360b43a
Wonki Kim [Tue, 5 Jan 2021 05:21:57 +0000 (14:21 +0900)]
ecore_evas: fix to notify mainthread just once
in tizen, there is an indivisual thread for getting vsync signal.
and the thread notifies the main thread every single time it gets vsync signal.
so that main thread has a possibility to handle multiple times of thread callbacks
(notify handler) when main thread can't iterate within about 16ms
which is an interval of the vsync signal.
this patch fixes the vsync logic not to notify the main thread
when the previous vsync is not handled.
Change-Id: I650a6213f7935f00600496aaac398858f5e9ebf2
Woochanlee [Tue, 12 Jan 2021 02:11:00 +0000 (11:11 +0900)]
Eanimator_vsync: Disabled log domain register
Same reason with
38544f61d0573f6a11c459ec52500282f556a6ad.
Change-Id: Ic452a56a3585899566d558a4b43c2d878399b035
Woochanlee [Mon, 11 Jan 2021 06:16:16 +0000 (15:16 +0900)]
Eanimator-vsync : Disabled log print
We need to call eina_log_threads_enable() when print eina_log in thread.
If we use eina_log in thread without a mutex lock, if the log_domain is realloc in main thread,
it may refer to wrong memory ref and cause memory curruption.
Change-Id: I4e1c4ceabee183673da8ab50c7fcfb331ea11a09
Piotr Kalota [Mon, 4 Jan 2021 13:01:31 +0000 (14:01 +0100)]
evas vector: Fix stroke's width scaling
Since the scale value was multiplied by current stroke's width, scaling
worked diffrently than implementation without thorvg. Stroke's width field in
_Efl_Canvas_Vg_Shape_Data allows us to multiply scale value by the base width
set in the evas_vg_node_shape_stroke_set and now this implementation
works correctly
Change-Id: I88b009878d69dc7ed558a6035fa2b7c2ec06e103
Myoungwoon Roy, Kim [Wed, 6 Jan 2021 09:21:12 +0000 (18:21 +0900)]
docs: Fix errors in Evas that make wrong API reference documentation
Change-Id: I1be1d3f31114b9972f132bcd1df06ea1c841af07
Myoungwoon Roy, Kim [Tue, 5 Jan 2021 04:22:45 +0000 (13:22 +0900)]
docs: Fix errors in Ecore/Eina that makes wrong API reference documentation
Change-Id: I79487ece77271b0a06199541959d540fd83ca776
Myoungwoon Roy, Kim [Tue, 5 Jan 2021 01:50:15 +0000 (10:50 +0900)]
docs: Fix error in Eet that makes wrong API reference documentation
Change-Id: I66440fbaa857326c64290c97834c2028b435ddc9
Myoungwoon Roy, Kim [Thu, 31 Dec 2020 06:56:13 +0000 (15:56 +0900)]
docs: Fix errors In Eina/Eet that make wrong API reference documentation
Change-Id: I70ac4339a1eac92c7d58b37e9538ba768d395466
SangHyeon Jade Lee [Mon, 4 Jan 2021 08:10:11 +0000 (17:10 +0900)]
gengrid: modify getenv calls as getenv is expensive calls
Change-Id: I9f7dbd9eeff97d74c645108933fe3e33423cba0e
Shinwoo Kim [Mon, 28 Dec 2020 11:16:00 +0000 (20:16 +0900)]
atspi: make webapp work
The webapp does not use evas smart object which type is (E)WebView.
The webapp is using only window. So we need to check promissed data
using the window, and create elm_atspi_ewk_wrapper.
Change-Id: Id6ab9b7fa329f40de7f1479e5a23888a80fdad6d
Myoungwoon Roy, Kim [Wed, 30 Dec 2020 22:29:49 +0000 (07:29 +0900)]
docs: Fix doxygen errors in Edje that make wrong API reference documentation
Change-Id: I6995c111fed40daa62724ad364cb1e0d88be7c2c
SangHyeon Jade Lee [Wed, 30 Dec 2020 10:46:02 +0000 (19:46 +0900)]
Add realize policy canvas output for optimized lazy loading on scroller in gengrid case
This patch is tricky way of realize/unrealize item on evas output size
instead of object size.
export or setenv() "GENGRID_REALIZE_POLICY_CANVAS_OUTPUT",
gengrid will change realize policy to canvas output.
@tizen_only
Change-Id: I99f6007f19721228233d006e283fe46ebd4eef6a
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Michal Maciola [Wed, 23 Dec 2020 15:24:14 +0000 (16:24 +0100)]
Gradient get float/double fix
Patch fixes types convertion problems for evas_vg_gradient_radial_center_get() and other functions
Change-Id: I18a2a639aaca2cac90c53bcca904b91f02a2f587
Myoungwoon Roy, Kim [Thu, 24 Dec 2020 06:51:36 +0000 (15:51 +0900)]
docs: Fix doxygen errors that generates wrong API reference documentation
Change-Id: If7b7cc504a25e41986ced37343697e949597873b
(cherry picked from commit
5b0589e3555d714de30a3428e71b21b20c78bc89)
Mira Grudzinska [Tue, 22 Dec 2020 16:15:45 +0000 (17:15 +0100)]
evas vector: changes reconciling the differences in the direction of arc drawing in EFL and ThorVG
Since EFL and ThorVG draw arcs anti-clockwise and clockwise, respectively,
it was necessary to change the sign of angles in a ThorVG function call.
The current point has been properly assigned in the arc drawing API.
Change-Id: I397afdd8213713f32f537c2dfb9f0d2b5b920ef4
Taehyub Kim [Tue, 22 Dec 2020 09:09:22 +0000 (18:09 +0900)]
DnD: Make the accepted callback of elm_drag_start working correctly
problem: The accepted callback of elm_drag_start always returns 0
solved: The accepted callback will be return 1 when drag and drop is finished successfully.
(When the drag data is sent)
Change-Id: Id877b3f39b1634128fa453d99cde20bd6e44806a
Michal Szczecinski [Fri, 18 Dec 2020 12:33:16 +0000 (13:33 +0100)]
evas vector: fixed dash getter.
Dash properties getter was return wrong values which may cause crashes
or unexpedcted behaviour.
Change-Id: I1f42e40ec69bee219e0e25d19c65090138fbfd3b
Taehyub Kim [Mon, 21 Dec 2020 06:37:06 +0000 (15:37 +0900)]
efl_ui_dnd: change dnd window type to utility type since enlightenment server does not support dnd window type
Change-Id: Ie55f1fe4e197a025c37f078a1cc7b6cb6660386b
Hermet Park [Fri, 18 Dec 2020 02:53:00 +0000 (11:53 +0900)]
evas render: ++safety
Null check exceptional handling in just case.
Change-Id: I17793d2d573f5b64f011de449057fab598dd6d53
Myoungwoon Roy, Kim [Thu, 17 Dec 2020 07:24:35 +0000 (16:24 +0900)]
docs: Removing unnecessary HTML link for feature/privilege
Change-Id: I17b93d9c2569b344f1afe3166572a6bccf1c6b69
Piotr Kalota [Mon, 14 Dec 2020 13:23:31 +0000 (14:23 +0100)]
evas vector: Fixed translation of interpoalted shape
Added interpolation of x and y fields of the node data, used for shape transalting during rendering
Change-Id: Iae242c93fca43448ed58c77790d89f3719813f98
Michal Maciola [Wed, 16 Dec 2020 11:29:23 +0000 (12:29 +0100)]
evas vector: efl_vanvas_vg_image: added scene pushing in render_pre_tvg
Change-Id: I84faac086cf906eead2658475c623f23aefd59c8
Michal Maciola [Tue, 15 Dec 2020 17:37:57 +0000 (18:37 +0100)]
evas vector: code integration fix
Change-Id: Ic732a89eb92f028e64fed5ff3769b1c53678588b
JunsuChoi [Thu, 17 Dec 2020 03:50:47 +0000 (12:50 +0900)]
edje_data: Add missing descriptor for image.max(min).limit
Summary:
Edje_Part_Description_Image uses EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB,
EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON_SUB is missing max.limit and min.limit descriptors.
Therefore, max:SOURCE and min:SOURCE did not work in EDC.
Adds a descriptor to it.
https://www.enlightenment.org/_legacy_embed/edcref.html#sec_toplevel_images
max [width] [height] or SOURCE
The maximum size of the state. A size of -1 means that it will be ignored in one direction.
When max is set to SOURCE, edje will enforce the part to be not more than the original image size.
The part must be an IMAGE part.
Test Plan:
{
F4230539}
edje_cc test.edc && gcc -o test test.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
./test
Reviewers: Hermet, Jaehyun_Cho, cedric, raster
Reviewed By: Hermet
Subscribers: #reviewers, #committers, kimcinoo, herb
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12215
Change-Id: Ic67098d72ded7cb229c3dbd5c1b728d1884c36e4
Youngbok Shin [Tue, 15 Dec 2020 10:16:54 +0000 (19:16 +0900)]
edje: fix dereferening without checking issue
Change-Id: I7a3d3371069786bf32ea674097bf65af7a0d6d8e
JunsuChoi [Tue, 15 Dec 2020 11:47:41 +0000 (11:47 +0000)]
evas: Prevent null pointer access
Summary: add null check
Test Plan: N/A
Reviewers: Hermet, cedric, kimcinoo, raster
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12213
Change-Id: I9b34ccbeaa2df3fc97e707c35d0d8e7e34c32f24
Bowon Ryu [Tue, 15 Dec 2020 09:13:45 +0000 (18:13 +0900)]
evas_textblock: remove unreachable code
Change-Id: Id3f70515c2a837549e19031d15f116b5acfb2043
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Tue, 15 Dec 2020 05:09:27 +0000 (14:09 +0900)]
elm_toolbar: fix box size issue
When an item in a box is deleted, the box size changed callback is not called.
because the actual evas_box size does not change in the sizing_eval of the box.
So this patch tries to resize the box using EVAS_CALLBACK_CHANGED_SIZE_HINTS callback.
@tizen_fix
Change-Id: I9c803a1b9471cd645fe25652bdeab22d270557ae
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Mateusz Palkowski [Wed, 9 Dec 2020 15:30:22 +0000 (16:30 +0100)]
evas vector: Fixed dereferencing uninitialized matrix
Apps on tizen crashed when using check. Checking for uninitialized
transform matrices solves this problem.
Change-Id: I09efe75b52c106369e1c8670dbc12a4896a1e6a8
Michal Maciola [Tue, 8 Dec 2020 11:31:10 +0000 (12:31 +0100)]
JSON Lottie and vg image fix
In this push some crucial things for json animations was fixed:
1. vg_common_json.c is fixed and will load json files properly.
2. efl_canvas_vg_image.c was fixed for proper raw images loading.
Change-Id: I69e6913c2e8771c100555cd968c87c5c88a0eb44
Michal Szczecinski [Thu, 10 Dec 2020 13:24:05 +0000 (14:24 +0100)]
evas vector: Added ellipse API
In thorVG circle API provides two radius parameters so arc should not be
used to draw ellipses. To simplify code in vg_common lib ellipse API was
created.
Change-Id: I28cc59c9f7c3fa82b1ae3823cd712dce6090bdbc
Hosang Kim [Fri, 11 Dec 2020 05:13:30 +0000 (14:13 +0900)]
elm_gengrid: Remove unnecessary code.
When gengrid is rotating, gengrid shows wrong position because number of span size in gengrid is changed.
this code is maintain the ratio of scroller when the content size is changed.
@tizen_only
Change-Id: I4e7f8c8a503e4460e439ff93f4f1a9aa3bf489e7
(cherry picked from commit
d5e36f479794fc45cffdf709a7a7627806d9196d)
Michal Szczecinski [Tue, 8 Dec 2020 14:49:31 +0000 (15:49 +0100)]
evas vector: Fixed linear gradient start/end getter.
Function evas_vg_gradient_linear_end_get() returns gradient start
position. This commit fix this issue. Also not used variables was
removed from start getter.
Change-Id: I701ab874654f351aee63f765dba932765df00600
Michal Szczecinski [Mon, 7 Dec 2020 14:17:13 +0000 (15:17 +0100)]
evas vector: Fixed container interpolation
Commit fixes containers interpolation (interpolation of all childrens in
container), used mostly in edje files as svg loaders. Additionally hash
array of shape targets was removed because of rendering pipe changed.
Now tvg_canvas_clear() is used in rendering pipeline, which simplifies
code.
Change-Id: I2a328ab13afb088e170d6ccd8fe43808176ec3ba
Michal Szczecinski [Wed, 9 Dec 2020 07:00:10 +0000 (08:00 +0100)]
evas vector: Removed duplicated length check.
Accidentaly added length check was removed. There is no necessary for
double check if length pointer is diff than NULL in one function for
performance reasons.
Change-Id: Id7eee513559798af87cf604556e989dd45306629
Michal Szczecinski [Tue, 8 Dec 2020 15:13:58 +0000 (16:13 +0100)]
evas vector: Fixed gradient color stops length.
Fixed evas_vg_gradient_stop_get() API where length was not set properly.
Change-Id: I2ffc80182caa0f24c4d350f6904a66c69d7817db
Michal Maciola [Fri, 20 Nov 2020 16:55:13 +0000 (17:55 +0100)]
Lottie (json) animation demo added key handler
Change-Id: Idfe6905a2ea6e826c879ae73224a8fda595d7086
Shinwoo Kim [Mon, 7 Dec 2020 07:52:54 +0000 (16:52 +0900)]
png: handle 9-patch ends with stretch
Summary:
The strech region has paired information; total and strechable.
Refer to function _strech_region_load retrieving strech region info.
But if 9-patch information line ends with strechable,
png did not push the strechable information.
And it leads to devide by zero.
This patch is adding strechable info to the strech region,
if 9-patch information ends with strechable.
Test Plan:
[Code]
{
F4219278}
{
F4219280}
[Test]
ECORE_EVAS_ENGINE=opengl_x11 ./evas-image-9patch ./end_with_strech.9.png
Reviewers: Hermet, jsuya, herb, cedric
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12204
Change-Id: I6242b2686358c28e2efbb152d40e59a898ee435d
Hermet Park [Thu, 3 Dec 2020 11:54:10 +0000 (20:54 +0900)]
canvas vg_container: code refactoring.
we can make logic simpler.
Change-Id: Ie688940165299ee8fbdd85afcf08277642df15c8
Michal Szczecinski [Thu, 19 Nov 2020 13:55:16 +0000 (14:55 +0100)]
evas vector: Added tvg_scene to container implementation.
Introduce Tvg Scene as a container implementation. It delegates layer
transparency calculation to thorvg lib which make efl code more
readable. This commit fixed also resources release issue. Now there is
no segfault with thorvg flag on elm-demo-tizen-mobile app. Also
rendering isses with elm_widgets (themed by vector edc) was fixed.
Change-Id: Ib2a3de71728e4c492fc2b20004359b71133f703c
Yeongjong Lee [Thu, 26 Nov 2020 01:15:48 +0000 (10:15 +0900)]
elm_focus: add internal api to get focused object whitout checking window focus
'elm_object_focused_object_get_any_win_focus' will returns current focused
object regardless of window focus state.
Note that this is only for internal use.
Change-Id: If0592dfec3ef2478abeac65507d4ff8648d7aa82
Yeongjong Lee [Wed, 25 Nov 2020 23:26:14 +0000 (08:26 +0900)]
elm_focus: unset newest focus properly on revert focus logic
If top win is not focused, newest focus is only set to true without clearing
focus. in this process, there can be multiple focused object.
This patch removes the code to check top win focus state before clearing focus
in _if_focused_revert().
Change-Id: Iea82435f21567cf4d7cd99151b240e71c003e965
Doyoun Kang [Wed, 25 Nov 2020 09:16:45 +0000 (18:16 +0900)]
ecore_wl2_window: call tizen_policy_show/hide request in ecore_wl2_window_show/hide
These requests work since tizen_policy version 8.
@tizen_only
Change-Id: I35100246f5ae591b77ee15148895bd1cdebcf9e9
Woochanlee [Wed, 25 Nov 2020 08:03:58 +0000 (17:03 +0900)]
elm_gesture_layer: fix config value type
Summary:
The value will read as unsigned char not double.
@fix
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12195
Change-Id: I13023cf997b8e88e58a1065f8281e1e9e6a32272
Hermet Park [Tue, 24 Nov 2020 03:17:17 +0000 (12:17 +0900)]
ui transit: improve zoom effect smoothness by subpixel rendering.
Summary:
evas image might have a better quaility if scaling/transform is not necessary,
so we have a condition to check if image is axis-aligned transformed or not.
On the other hand sub-pixel(floating point coordinates unit) rendering necessary
if image has an effect such a zooming. This would result in a smoother effect
than integer coodinate system.
We need a more precise condition to confirm this,
so we intrduce "anti-alias" option to decide the condition.
now, anti-aliased objects will have a sub-pixel rendering always.
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12194
Change-Id: Idfe94766d8721ba32392cad0f3d214c9080e33c9
Taehyub Kim [Tue, 24 Nov 2020 05:11:02 +0000 (05:11 +0000)]
Revert "elc_popup: apply tizen color class feature for popup"
This reverts commit
b03caf30f155c4210fa9171605b9a1ba23e162e6.
Change-Id: I0db146d94481eaf9b580de211ddddc31e5834921
Taehyub Kim [Tue, 24 Nov 2020 05:05:57 +0000 (14:05 +0900)]
elc_popup: override color class function for applying tizen color class feature
popup main_layout is not a resize object of popup.
so when elm_layout_edje_get(popup) is called,
popup resize object cannot be returned.
This makes tizen color class feature not working.
so forwarding edje object of popup main_layout when color class api is called.
Change-Id: Idfd37cf1e6ed2907a305c0343685b95cc5ef0b67
Taehyub Kim [Mon, 23 Nov 2020 10:43:08 +0000 (19:43 +0900)]
elc_popup: fix typo for tizen color class feature
Change-Id: If19fd28723178dba4b758507297f36a148e2b92f
Taehyub Kim [Mon, 23 Nov 2020 10:23:01 +0000 (19:23 +0900)]
elc_popup: apply tizen color class feature for popup
popup main_layout is not a resize object of popup.
so when elm_layout_edje_get(popup) is called,
popup resize object cannot be returned.
This makes tizen color class feature not working.
so forwarding edje object of popup main_layout when color class api is called.
Change-Id: I86107382f49417575a5d6bcc106d02ba1de4ca9d
Doyoun Kang [Mon, 23 Nov 2020 03:53:40 +0000 (12:53 +0900)]
ecore_wl2: unset pending.opaque flag after calling wl_surface_set_opaque_region
There was a bug that the wl_surface_set_opaque_region was called twice.
In _opaque_set, wl_surface_set_opaque_region was called immediately.
But window's pending.opaque flag was not unset. So, wl_surface_set_opaque_region
called again by ecore_wl2_window_commit.
@tizen_fix
Change-Id: Iea688ed8793db6237c8ab68574936c8111638c2d
Shinwoo Kim [Fri, 20 Nov 2020 02:22:54 +0000 (11:22 +0900)]
evas gl: make 9 patch work
Summary:
The 9 patch is using image_stretch_region_get, but GL did not override it.
So the 9 patch did not work for GL engine at all.
Test Plan:
Evas_Object*img = evas_object_image_filled_add(evas);
evas_object_image_file_set(img, "test.9.png", 0);
evas_object_show(img);
Reviewers: Hermet, jsuya, herb, cedric
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12192
Change-Id: I3e455a9d0b89a82c3cf2f16683454d2e7c120e43
ali-alzyod [Thu, 19 Nov 2020 08:29:48 +0000 (10:29 +0200)]
evas_textblock: reduce content fit calculations
Reviewers: woohyun, id213sin
Reviewed By: woohyun, id213sin
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12187
Change-Id: I053bf185a07f5b698b14636ec07e771e6f94990f
Taehyub Kim [Tue, 10 Nov 2020 06:18:40 +0000 (15:18 +0900)]
evas_image_load_png.c: Support Apng Image Format
Summary:
This patch implements the features for playing animated png image on efl application.
Test Plan:
1. build
2. and run src/example/image_apng.c
Reviewers: Hermet
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D12175
Change-Id: I522ec8489a9e3fd84297edc045cd13173de38526
Michal Szczecinski [Tue, 27 Oct 2020 09:47:21 +0000 (10:47 +0100)]
static_libs/vg_common/svg: replaced Efl Gfx API by Evas Vg.
Efl_Gfx API was replaced to reduce and simplify source codes.
Evas_VG decide what kind of API will be used to render vector
graphics from edje files.
Change-Id: Iea45463826c3c77d719da4b8ee5d7ca229aaac0d
Bowon Ryu [Tue, 17 Nov 2020 09:46:58 +0000 (18:46 +0900)]
elm_slider: remove useless code
@tizen_fix
Change-Id: Ic2be0511570cb05e59731fc953838a9fff366a63
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Bowon Ryu [Tue, 17 Nov 2020 07:49:27 +0000 (16:49 +0900)]
elm_slider: fix callback in A11Y value interface
this patch fixed a issue where callback was not called in a11y value interface
@tizen_fix
Change-Id: I811adf62d412048ef24c588275c7607cbe6f817d
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
JunsuChoi [Tue, 17 Nov 2020 01:27:37 +0000 (10:27 +0900)]
elm_hoversel: Fix spacer size calculation
If right side(top-right) of spacer is larger than
parent, change align of spacer.
Then spacer is readjusted only
if hoversel on the left area is smaller than spacer.
Change-Id: I49eb034c96497debc92be011b591cba99e70c96d
Michal Szczecinski [Mon, 16 Nov 2020 12:10:05 +0000 (13:10 +0100)]
evas vector: Fixed build error with thorvg flag.
Code conflicts was inproperly resolved. This commit fixed build error
witch occurs when thorvg flag is set.
Change-Id: Iea3b2aafb3ff4c9ba0e28e4f4f2f22951590562f
JunsuChoi [Tue, 17 Nov 2020 01:26:24 +0000 (10:26 +0900)]
Revert "elm_hoversel: Fix spacer size calculation"
This reverts commit
8952fea71125e66fc962571985fd45e3d71ae970.
Change-Id: Icde0c368b3fa40671daea78c05e0007d32fb400f
JunsuChoi [Mon, 16 Nov 2020 10:02:23 +0000 (19:02 +0900)]
elm_hoversel: Fix spacer size calculation
If right side(top-right) of spacer is larger than
parent, change align of spacer.
Then spacer is readjusted only
if hoversel on the left area is smaller than spacer.
Change-Id: I6e6ae3bb22686c9b679b087e5a97f63666a24e78
Michal Szczecinski [Thu, 5 Nov 2020 11:14:26 +0000 (12:14 +0100)]
evas vector: Fixed gradients rendering in thorvg mode.
This commit fixed possible crash in gradients rendering pipeline.
This crash was caused by invalid fill and duplicate function
implementaiton.
Change-Id: I42bb9935bcaf009f33e7abeeed39552bb57ab28b
Youngbok Shin [Tue, 10 Nov 2020 05:12:05 +0000 (14:12 +0900)]
ecore_evas: clear eina_freeq when an ecore_evas is freed
The main Eina Freeq is used for Eina List and etc.
This queue is processed when Ecore enters Idle state.
But, in a very rare case, application can add and free Ecore Evas
only for manual rendering without running Ecore main loop.
In this case, the main Eina Freeq never clear its queue before
shutting Ecore Evas down.
Since the eina_freeq_main_get() is internal, the main Eina Freeq must be
cleared internally before deleting(free) an Ecore Evas.
@tizen_fix
Change-Id: Idde6f0e40ba9f456fe844abcb38f94538f4088bb
Bowon Ryu [Fri, 13 Nov 2020 03:05:07 +0000 (12:05 +0900)]
edje: fix cursor scrolling
Summary:
If there is a string larger than the size of entry
and when the entry is auto scrolling, cursor is not visible.
Using _edje_entry_cursor_geometry_get guarantees the minimum size of the cursor,
and guarantee the size from edje. (min_restricted_calc)
Test Plan:
elemenary_test
Enter a long string in the "Search Menu" entry.
Observe the cursor when the entry scrolls automatically.
Reviewers: woohyun, ali.alzyod
Reviewed By: ali.alzyod
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11649
Change-Id: Iefe9c0356494aa82304ea7302bd97c97ab4f4688
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Jaehyun Cho [Thu, 12 Nov 2020 07:22:05 +0000 (16:22 +0900)]
elc_naviframe: fix double free by _title_content_del in item invalidation
If a box contains a button and box is set to part A and button is set to
part B, then button's _title_content_del is called when box is deleted
in item invalidation and button's pair is deleted again.
To resolve the above double free, item invalidation flag is used not to
call _title_content_del during item invalidation.
Change-Id: I3795e63470259203c3d8ae66613981bb6f8240c0
Michal Szczecinski [Wed, 4 Nov 2020 19:57:44 +0000 (20:57 +0100)]
evas vector: Added thorvg path setter.
Implementation of thorvg path setter is needed for
render properly edje vector parts.
Change-Id: Ibcbe4488e5ae46557ce1e5a896db4adbc28fa8e7
Michal Szczecinski [Thu, 5 Nov 2020 10:57:53 +0000 (11:57 +0100)]
evas vector: Added efl_duplicate api implementation for thorvg shape.
This implementation is needed to render properly edje vector parts.
Change-Id: Ida8f382eef0227e996eedfc8c4add286fa0bbaee
Michal Szczecinski [Wed, 4 Nov 2020 16:52:15 +0000 (17:52 +0100)]
evas vector: Added shape path getter for thorvg.
This commit adds implementation of evas_vg_shape_path_get() api for
thorvg shapes. It is needed to render edje vector parts.
Change-Id: I2a14238e9f7c051f62e9b3e592c2e9396550f3ba
Michal Szczecinski [Wed, 4 Nov 2020 15:15:48 +0000 (16:15 +0100)]
evas vector: Added path lenght get implementation for thorvg
This commit is needed to use thorvg to render edje vector parts.
Change-Id: I55f551e4f8865fd8af7f2487dd5897e6f2a1ea7a
Michal Szczecinski [Thu, 5 Nov 2020 11:51:59 +0000 (12:51 +0100)]
evas vector: Fixed tvg_paint_set_opacity usage.
Commit fixes invalid variable used in tvg_paint_set_opacity method. This
cause issue with invalid opacity value in shapes.
Change-Id: I44cf433e006a19955828c7972b84c935c046309c
Shinwoo Kim [Thu, 22 Oct 2020 11:41:30 +0000 (20:41 +0900)]
ecore_wl2: expose subsurface interface
There is a requirement to change subsurface z-order.
The Player should set display using subsurface instead
of window to show more than two video surfaces.
- ecore_wl2_subsurface_new
- ecore_wl2_subsurface_del
- ecore_wl2_subsurface_sync_set
- ecore_wl2_subsurface_native_surface_get
- ecore_wl2_subsurface_place_surface_above
- ecore_wl2_subsurface_place_surface_below
- ecore_wl2_subsurface_video_surface_prepare
- ecore_wl2_subsurface_video_surface_destination_set
Change-Id: Iba9633bad700a621642d0c874c05e24ed0e84d45
Michal Szczecinski [Tue, 27 Oct 2020 07:23:37 +0000 (08:23 +0100)]
evas canvas: Fixed svg path command processing.
Changes:
1. Added _parse_flag optimization
2. Set current control point properly for set type commands in path
parser.
Change-Id: Ic88180832d2a9e46828819561027eb7db56a9c38
Hermet Park [Wed, 4 Nov 2020 02:57:26 +0000 (11:57 +0900)]
efl vector: use paint opacity method to toggle visibility.
This method simplifies efl canvas vg code in thorvg integration.
Change-Id: Ic7424f7b1bf4ac055935dffc6855c3aa7766128d
WooHyun Jung [Thu, 8 Oct 2020 03:32:53 +0000 (12:32 +0900)]
Revert "Revert "evas_textblock: rainbow flag emoji treated as two clusters(update unibreak to version 4.2)""
This reverts commit
173b3a108e1b2093ac37650619a61568aaed4e04.
This was reverted because of freezing codes for release.
Now, release work was over. So, I think it's ok to restore this.
Change-Id: I3f0e5021ee1a54cb980927d89959f49af5650183