platform/upstream/efl.git
3 years agoevas vg: fix the final stroke color in the interpolation process 38/256038/2
Mira Grudzinska [Sun, 28 Mar 2021 22:18:32 +0000 (00:18 +0200)]
evas vg: fix the final stroke color in the interpolation process

When ThorVG used, the final stroke color in the interpolation
was the same as the initial one.

Change-Id: I24ef66ab1964f36942a393f9c81eb62a2cb3e09d

3 years agoatspi: emit i18n name change signal only for highlighted object 71/255771/3 accepted/tizen/unified/20210330.111316 submit/tizen/20210329.004856
Shinwoo Kim [Tue, 23 Mar 2021 10:47:05 +0000 (19:47 +0900)]
atspi: emit i18n name change signal only for highlighted object

User could change genlist item text even though it does not have highlight.
And if user changes for all items, then it make unnecessary ipc call.

There was a problem that too much signal was generated.
It seems that there would be root reason of this problem.
Before finding it, this could be reasonable solution.

*tizen_fix

Change-Id: I93d7c914d1693e18670c2169536a4041526b21ca

3 years agoEnable thorvg backend. 70/255870/2
Hermet Park [Wed, 24 Mar 2021 09:54:21 +0000 (18:54 +0900)]
Enable thorvg backend.

Change-Id: I8d12fa760b6dbc4f1c2c5ac9d14b994f9f235dae

3 years agoevas vg: integration of join and cap properties in evas with ThorVG 84/255784/2
Mira Grudzinska [Tue, 23 Mar 2021 13:11:53 +0000 (14:11 +0100)]
evas vg: integration of join and cap properties in evas with ThorVG

Join and cap stroke properties had to translated from Efl values to
Tvg values and vice versa.

Change-Id: Id98c3e7fc6b314b1527160e004c29595cac21c88

3 years agovg_common_svg: added stroke color premultiplication 91/255791/2
Mira Grudzinska [Tue, 23 Mar 2021 19:09:50 +0000 (20:09 +0100)]
vg_common_svg: added stroke color premultiplication

The color of a stroke has to be premultiplied before beeing redirected
to evas_vg_shape_stroke_color_set.

Change-Id: I15364019db8129e5a46d975b4bcfc586f4c71d61

3 years agogl: remove logically dead code 22/255822/2
Shinwoo Kim [Wed, 24 Mar 2021 05:17:48 +0000 (14:17 +0900)]
gl: remove logically dead code

Lines folowing the label 'rotate_image' is working only tofree is not NULL.
Every place is checking if tofree is NULL before calling 'goto rotate_image'.

Change-Id: I87e248a6829a0a0561169c91897a203a805b454f

3 years agovg_common_svg: colors unpremultiplication added before saving into edj file 27/255627/2
Mira Grudzinska [Sun, 21 Mar 2021 16:38:09 +0000 (17:38 +0100)]
vg_common_svg: colors unpremultiplication added before saving into edj file

Colors were premultiplied first when reading from the svg file and
second when saving into edj file. As the result svg files with the opacity < 1
could be uncorretly displayed (only when the color and the opacity were
given in the same node).

Change-Id: If4bc806a88993fdb3ca8a7c78b2a574215cb71f5

3 years agoevas vg: gradient and fill required un/premultiplication of colors 26/255626/1
Mira Grudzinska [Sun, 21 Mar 2021 16:19:56 +0000 (17:19 +0100)]
evas vg: gradient and fill required un/premultiplication of colors

ThorVG expects not premultiplied colors, Evas premultiplied.
The compliance has been assured.

Change-Id: Id645ae3220a94d1ee737bdd903648ea22c2448e2

3 years agoevas vg: fix build break. 39/255539/1
Hermet Park [Fri, 19 Mar 2021 06:11:30 +0000 (15:11 +0900)]
evas vg: fix build break.

some typing mistake by 4cebc065fba8a7eaf051d75881fa48377c41490f

Change-Id: Ie57849869b1bb4257713230c3839b5521960beee

3 years ago[AT-SPI] efl_ui_radio: Emit "State Changed" signal only if the button is highlighted. 64/255064/5
Maria Bialota [Thu, 11 Mar 2021 15:57:31 +0000 (16:57 +0100)]
[AT-SPI] efl_ui_radio: Emit "State Changed" signal only if the button is highlighted.

*tizen_only

Change-Id: I15e4fc380e4451ec3283476a71dcfeae1de2d309

3 years agoevas vg: push vg_image no matter change flag 42/255242/2
Michal Maciola [Mon, 15 Mar 2021 15:39:15 +0000 (16:39 +0100)]
evas vg: push vg_image no matter change flag

Change-Id: I0cb4eef95320e1df9d5a53662bcc85428b14d63f

3 years agoevas: code refactoring by tvg integration. 28/255428/11
Hermet Park [Thu, 18 Mar 2021 07:08:18 +0000 (16:08 +0900)]
evas: code refactoring by tvg integration.

Change-Id: Ib5d37aa93db784b7c2829f36ffe85ff987d36d73

3 years agoevas vg: Keep backward comaptibility for append_arc. 42/255442/3
Michal Szczecinski [Thu, 18 Mar 2021 07:01:30 +0000 (08:01 +0100)]
evas vg: Keep backward comaptibility for append_arc.

In origin solution evas_vg_shape_append_arc() connects don't closed
arcs using line. To keep backward comaptibility solution from
efl_gfx_path was moved to tvg integration code.

Change-Id: Id868bd729e9b4a6ed26c5aea02a0a7de0d41edb1

3 years agoector image: Prevents drawing images outside buffer 34/255434/1
JunsuChoi [Thu, 18 Mar 2021 08:10:05 +0000 (17:10 +0900)]
ector image: Prevents drawing images outside buffer

Summary:
A crash may occur when image size is set larger than buffer.
So, modify boundary of the image drawing the image
so that it does not go out of the buffer.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers, kimcinoo

Tags: #efl

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

Change-Id: Ia2857c21c6805abc40973e6ab7375fc81331c979

3 years agoefl_canvas_vg_shape: fix memory leak 32/255232/5
Piotr Chludzinski [Mon, 15 Mar 2021 09:53:15 +0000 (10:53 +0100)]
efl_canvas_vg_shape: fix memory leak

Change-Id: I64e8b90956f55c993101689af01d54681417cc6d
Signed-off-by: Piotr Chludzinski <p.chludzinsk@samsung.com>
3 years agoevas vg: added shape fill rule 01/255301/4 accepted/tizen/unified/20210319.141010 submit/tizen/20210318.015037
Michal Maciola [Tue, 16 Mar 2021 10:35:41 +0000 (11:35 +0100)]
evas vg: added shape fill rule

Added brief comments, removed trailing spaces

Change-Id: Id041734c0a96ed4652d04967e47326260f9a4e37

3 years agoecore_wl2: add ecore_wl2_subsurface_aux_hint_set 63/255363/3
Shinwoo Kim [Wed, 17 Mar 2021 10:28:29 +0000 (19:28 +0900)]
ecore_wl2: add ecore_wl2_subsurface_aux_hint_set

This patch is providing way to set auxiliary hint on subsurface.
Application could get filpped image with following line.

ecore_wl2_subsurface_aux_hint_set(subsurface, "wm.video.flip.mode", "1");

+ reducing debug message

*tizen_only

Change-Id: I6a6f7c91bb088abd2daf8d57ef3c439f957ca6e0

3 years agoevas vg: stabilize thorvg integration. 41/255341/1
Hermet Park [Wed, 17 Mar 2021 06:24:47 +0000 (15:24 +0900)]
evas vg: stabilize thorvg integration.

there are missing start point while interpreting svg path,
after move the point the its position has to be relative to the previous shape
origin.

This patch make it work successfully.

Change-Id: Ie617f560424fecd66e89b1e71b4c797fa8bddfac

3 years agoelementary slider: gurantee scroll hold push/pop match. 04/255304/2
Hermet Park [Tue, 16 Mar 2021 11:11:54 +0000 (20:11 +0900)]
elementary slider: gurantee scroll hold push/pop match.

Mouse In/Out is not guranteed for paired event calls,
Users could prevent that exception case by flaging its condition.
Otherwise slider screen could be blocked in scrolling.

Thus, this patch is better for safety.

Change-Id: I753fbb3638b854d05945bdc8a1d372ca029d7f5a

3 years agoedje: add null check for safety. 60/255260/1
Hermet Park [Tue, 16 Mar 2021 03:43:22 +0000 (12:43 +0900)]
edje: add null check for safety.

Change-Id: I083822860854a91fc3dcc2e2cdd9b26842b820ed

3 years agoevas vg: use tvg thread count not to reach to limit. 90/255190/1
Hermet Park [Mon, 15 Mar 2021 05:38:38 +0000 (14:38 +0900)]
evas vg: use tvg thread count not to reach to limit.

Avoid tvg thread count not to reach to maximum physical count
since we already allocated main thread.

Change-Id: I9e84d838e7694413a2eeb9bbfc7add62cddda6e7

3 years agoecore_con: add null check for safety. 67/255167/1
Hermet Park [Mon, 15 Mar 2021 01:39:31 +0000 (10:39 +0900)]
ecore_con: add null check for safety.

Change-Id: I7d1ba3f4e22e2fe39c1020f1da08ab114613e81a

3 years agoevas vg: shape_reset() only requires reset path. 30/255130/2
Hermet Park [Fri, 12 Mar 2021 09:24:46 +0000 (18:24 +0900)]
evas vg: shape_reset() only requires reset path.

it should not reset any other properties.

Change-Id: I5bfdf86cbdf85aae7fbef57438b214bddd6ef0e0

3 years agovg_common_svg: Keep backward compatibility about display, opacity of SVG 28/255028/5
JunsuChoi [Thu, 11 Mar 2021 08:57:49 +0000 (17:57 +0900)]
vg_common_svg: Keep backward compatibility about display, opacity of SVG

Edje compiled in version 4.0 of tizen studio does not have eet description in paser related to display and opacity.
Therefore, in later versions, display and opacity are always set to 0.
so, it blocks the display and opacity features.

When tizen studio's edje hosting service is in progress, this function can be added again.

@tizen_only

Change-Id: I1a34466522a691c8f88b76ec4f46a85193ee1314

3 years agoevas vg: Fixed container alpha settings. 69/254569/1
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

3 years agoevas_object_smart: enhance logic checking clipper visibility 75/254475/1
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

3 years agoevas canvas: if statements cleanup 29/252829/2
Michal Maciola [Tue, 2 Feb 2021 15:39:45 +0000 (16:39 +0100)]
evas canvas: if statements cleanup

Change-Id: I59147a26d9f639e38cb244f0b6b4a215f16874ec

3 years agogl_generic: disable creating gl thread 97/252297/2
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

3 years agoevas canvas: code cleanup. Removed warnings. 15/252615/2
Michal Szczecinski [Sun, 31 Jan 2021 11:11:11 +0000 (12:11 +0100)]
evas canvas: code cleanup. Removed warnings.

Change-Id: Ib475a8e806556c06c2eb11aa9b9e0d61d369e7cd

3 years agoeeze: fix a potention memory leak 15/253715/1 accepted/tizen/unified/20210218.042126 submit/tizen/20210217.025513
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

3 years agogl: remove memory leak of orient_set 06/253606/1
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

3 years agogl: remove orient mismatch between texture and image 72/253572/2
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

3 years agoelementary entry: fix limit size issue in the password mode 56/253556/2
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

3 years agoecore_wl2: get window from subsurface 54/253554/1 accepted/tizen/unified/20210216.015108 submit/tizen/20210215.095045
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

3 years agoecore_wl2_subsurface: remove double free 66/253366/2 accepted/tizen/unified/20210215.131008 submit/tizen/20210210.005432
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

3 years agoedje_entry: fix a potential error of null deref 10/253010/1
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

3 years agoeet, emile: safety++ 02/253002/3 accepted/tizen/unified/20210208.061652 submit/tizen/20210204.012753
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

3 years agoecore_wl2_window: update window's saved size in ecore_wl2_window_commit 35/252935/1
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

3 years agoefl_ui_widget: remove missing break in switch 71/252571/2
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

3 years agoEfl.Canvas.Vg.Object: Skip render, if size of the drawing area is 0 22/252622/1
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

3 years agoEvas renderer: vg_image push/update fix 95/251495/3
Michal Maciola [Thu, 14 Jan 2021 09:07:02 +0000 (10:07 +0100)]
Evas renderer: vg_image push/update fix

Change-Id: Ie0425066dd9629cc088989fc7798310dddf4a24c

3 years agoecore_wl2_input: support a touch max count event 61/250261/9
jeon [Tue, 22 Dec 2020 11:34:03 +0000 (20:34 +0900)]
ecore_wl2_input: support a touch max count event

Change-Id: I95e16e5378ddd9c73161c84854770561e626dba5

3 years agoGradient update fix 12/250912/5
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

3 years agoEvas renderer: animation value provider update fix 27/251327/3
Michal Maciola [Tue, 12 Jan 2021 15:21:08 +0000 (16:21 +0100)]
Evas renderer: animation value provider update fix

Change-Id: I27774a965429cb24038637dad27e18648efb986c

3 years agoevas vector: Fix shape's path getter 29/251229/4
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

3 years agoevas vector: Fix stroke's color convertion problem 21/251321/4
Piotr Kalota [Tue, 12 Jan 2021 12:53:51 +0000 (13:53 +0100)]
evas vector: Fix stroke's color convertion problem

Change-Id: I1947a178617cae5a0dfd088920d654016746126e

3 years agoNode geometry get bounds fix 26/250626/9
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

3 years agoevas vector: Added stroke's color and width restore after reset. 19/251619/2
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

3 years agoevas vector: Fix changing visibility of container 98/251698/1
Piotr Kalota [Mon, 18 Jan 2021 14:17:13 +0000 (15:17 +0100)]
evas vector: Fix changing visibility of container

Change-Id: Ia6df0e34fb9630aedf5eaecfac9c77b459b28d1a

3 years agoevas text: do recalc immediately whenever ellipsis property is changed 25/251625/1 submit/tizen/20210118.100628
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

3 years agogl: remove invalid read and write 78/251478/2 submit/tizen/20210115.062052 submit/tizen/20210117.211744
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

3 years agoecore_evas: fix to notify mainthread just once 90/251290/2 submit/tizen/20210113.093459
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

3 years agoEanimator_vsync: Disabled log domain register 42/251242/1 submit/tizen/20210118.100557
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

3 years agoEanimator-vsync : Disabled log print 90/251190/1
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

3 years agoevas vector: Fix stroke's width scaling 87/250787/4
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

3 years agodocs: Fix errors in Evas that make wrong API reference documentation 85/250985/1 accepted/tizen/unified/20210112.123544 submit/tizen/20210110.221552
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

3 years agodocs: Fix errors in Ecore/Eina that makes wrong API reference documentation 19/250819/1
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

3 years agodocs: Fix error in Eet that makes wrong API reference documentation 02/250802/1
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

3 years agodocs: Fix errors In Eina/Eet that make wrong API reference documentation 77/250677/2
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

3 years agogengrid: modify getenv calls as getenv is expensive calls 47/250747/2
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

3 years agoatspi: make webapp work 65/250665/1 accepted/tizen/unified/20210104.130306 submit/tizen/20210103.044544 submit/tizen/20210103.212140
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

3 years agodocs: Fix doxygen errors in Edje that make wrong API reference documentation 44/250644/1
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

3 years agoAdd realize policy canvas output for optimized lazy loading on scroller in gengrid... 32/250632/3
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>
3 years agoGradient get float/double fix 37/250337/3
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

3 years agodocs: Fix doxygen errors that generates wrong API reference documentation 97/250397/1
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)

3 years agoevas vector: changes reconciling the differences in the direction of arc drawing... 68/250268/2
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

3 years agoDnD: Make the accepted callback of elm_drag_start working correctly 49/250249/2
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

3 years agoevas vector: fixed dash getter. 71/250071/3
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

3 years agoefl_ui_dnd: change dnd window type to utility type since enlightenment server does... 40/250140/1
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

3 years agoevas render: ++safety 60/249960/2 submit/tizen/20201220.213638
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

3 years agodocs: Removing unnecessary HTML link for feature/privilege 76/249876/1
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

3 years agoevas vector: Fixed translation of interpoalted shape 41/249541/2
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

3 years agoevas vector: efl_vanvas_vg_image: added scene pushing in render_pre_tvg 71/249771/2
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

3 years agoevas vector: code integration fix 39/249639/2
Michal Maciola [Tue, 15 Dec 2020 17:37:57 +0000 (18:37 +0100)]
evas vector: code integration fix

Change-Id: Ic732a89eb92f028e64fed5ff3769b1c53678588b

3 years agoedje_data: Add missing descriptor for image.max(min).limit 28/249828/1
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

3 years agoedje: fix dereferening without checking issue 16/249616/2
Youngbok Shin [Tue, 15 Dec 2020 10:16:54 +0000 (19:16 +0900)]
edje: fix dereferening without checking issue

Change-Id: I7a3d3371069786bf32ea674097bf65af7a0d6d8e

3 years agoevas: Prevent null pointer access 46/249646/1
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

3 years agoevas_textblock: remove unreachable code 08/249608/1
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>
3 years agoelm_toolbar: fix box size issue 67/249567/1
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>
3 years agoevas vector: Fixed dereferencing uninitialized matrix 81/249281/3 accepted/tizen/unified/20201214.124451 submit/tizen/20201213.212052
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

3 years agoJSON Lottie and vg image fix 94/249194/2
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

3 years agoevas vector: Added ellipse API 65/249365/3
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

3 years agoelm_gengrid: Remove unnecessary code. 87/249387/4
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)

3 years agoevas vector: Fixed linear gradient start/end getter. 04/249204/6
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

3 years agoevas vector: Fixed container interpolation 38/249138/2
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

3 years agoevas vector: Removed duplicated length check. 34/249234/1
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

3 years agoevas vector: Fixed gradient color stops length. 05/249205/1
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

3 years agoLottie (json) animation demo added key handler 43/248443/2
Michal Maciola [Fri, 20 Nov 2020 16:55:13 +0000 (17:55 +0100)]
Lottie (json) animation demo added key handler

Change-Id: Idfe6905a2ea6e826c879ae73224a8fda595d7086

3 years agopng: handle 9-patch ends with stretch 15/249115/2
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

3 years agocanvas vg_container: code refactoring. 51/248951/1
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

3 years agoevas vector: Added tvg_scene to container implementation. 32/248032/3 accepted/tizen/unified/20201208.123228 submit/tizen/20201206.210050
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

3 years agoelm_focus: add internal api to get focused object whitout checking window focus 66/248366/2 accepted/tizen/unified/20201130.122951 submit/tizen/20201129.214353
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

3 years agoelm_focus: unset newest focus properly on revert focus logic 56/248356/2
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

3 years agoecore_wl2_window: call tizen_policy_show/hide request in ecore_wl2_window_show/hide 23/248323/2
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

3 years agoelm_gesture_layer: fix config value type 15/248315/1
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

3 years agoui transit: improve zoom effect smoothness by subpixel rendering. 68/248268/1
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

3 years agoRevert "elc_popup: apply tizen color class feature for popup" 30/248230/2
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

3 years agoelc_popup: override color class function for applying tizen color class feature 32/248232/1
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

3 years agoelc_popup: fix typo for tizen color class feature 90/248190/1
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

3 years agoelc_popup: apply tizen color class feature for popup 87/248187/2
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