platform/upstream/efl.git
4 years agoevas/render: produce update regions when do_draw isn't set but make_updates is
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:09 +0000 (13:22 -0400)]
evas/render: produce update regions when do_draw isn't set but make_updates is

Summary: this is a valid combination of parameters that should be handled

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo - fix err path for eo_isa to unlock shared objects
Carsten Haitzler (Rasterman) [Tue, 24 Mar 2020 13:26:10 +0000 (13:26 +0000)]
eo - fix err path for eo_isa to unlock shared objects

fix CID 1363294

4 years agodoxygen docs: Fix warnings in Ecore_Wl2.h and associates
Xavi Artigas [Tue, 24 Mar 2020 12:42:08 +0000 (13:42 +0100)]
doxygen docs: Fix warnings in Ecore_Wl2.h and associates

4 years agodoxygen docs: Fix warnings in Ecore_Evas.h
Xavi Artigas [Tue, 24 Mar 2020 12:00:35 +0000 (13:00 +0100)]
doxygen docs: Fix warnings in Ecore_Evas.h

And a couple associated places.

4 years agodoxygen docs: Fix warnings in Edje_Edit.h
Xavi Artigas [Tue, 24 Mar 2020 10:58:38 +0000 (11:58 +0100)]
doxygen docs: Fix warnings in Edje_Edit.h

And since we're at it, fix some typos too.

4 years agoelm_transit: Prevent adding duplicates
JunsuChoi [Tue, 24 Mar 2020 12:08:17 +0000 (21:08 +0900)]
elm_transit: Prevent adding duplicates

Summary:
When repeating call elm_transit_object_add,
prevent the object from being added duplicates.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelm_transit: replace evas_object_event_callback_xxx with efl_event_callback_xxx
JunsuChoi [Tue, 24 Mar 2020 12:00:26 +0000 (21:00 +0900)]
elm_transit: replace evas_object_event_callback_xxx with efl_event_callback_xxx

Summary:
In transit, event_callback is mainly used for delete callback.
transit uses evas_object_freeze_events_set to control the user's mouse events.
However, EVAS_CALLBACK_DEL was not called because of this.
The behavior of evas_object_freeze_event was changed. This patch was created to fix some issues.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoexactness: switch from homegrown debug printf to eina_log
Stefan Schmidt [Mon, 23 Mar 2020 16:46:10 +0000 (17:46 +0100)]
exactness: switch from homegrown debug printf to eina_log

Use a full eina_log domain here for each executable. No need to have a
own half baked ex_printf version here for such things.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11558

4 years agoexactness: remove exactness library and move code into binary folder
Stefan Schmidt [Thu, 19 Mar 2020 16:39:03 +0000 (17:39 +0100)]
exactness: remove exactness library and move code into binary folder

We do not want to have EAPI from exactness exposed at this point without
any real user. I know of no application using the exactness library.
If we come to that point we can move things back into a lib, but for now
having the code shared between the various executables is all we need.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11545

4 years agoEfl.Ui.Vg_Animation: Enable transit event.
JunsuChoi [Tue, 24 Mar 2020 10:11:26 +0000 (19:11 +0900)]
Efl.Ui.Vg_Animation: Enable transit event.

Summary:
elm_transit freezes events by default for added objects.
We have to use elm_transit_event_enabled_set to use events.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: remove meaningless comparison in for loop
WooHyun Jung [Mon, 23 Mar 2020 11:06:18 +0000 (20:06 +0900)]
efl_ui_widget: remove meaningless comparison in for loop

Change-Id: If375316de5c961a96a9e005966a47fef1210c3ec

4 years agoRemove duplicated enum
Bartlomiej Grzelewski [Fri, 20 Mar 2020 13:29:47 +0000 (14:29 +0100)]
Remove duplicated enum

Currently Efl defines two enums:
* Efl_Access_Gesture_State
* Elm_Atspi_Gesture_State
Both off them have same values and both are used in API.
This creates problems for efl developers (additional casting)
as for application developers because Api was not consistant.

Change-Id: I71c350415b00678cbbca5cbf71b7271448931dda
Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
4 years agoefl/wl: explicitly use restricted size hints for min/max
Mike Blumenkrantz [Thu, 12 Mar 2020 17:17:14 +0000 (13:17 -0400)]
efl/wl: explicitly use restricted size hints for min/max

need to be clear here since we own these objects

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11500

4 years agoefl_ui_test_widget: add test for subtree disabling / tree unfocusabling
Marcel Hollerbach [Mon, 23 Mar 2020 16:35:12 +0000 (17:35 +0100)]
efl_ui_test_widget: add test for subtree disabling / tree unfocusabling

this is valdating the previous commit.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11557

4 years agoefl_ui_widget: pass the correct flag here
Marcel Hollerbach [Mon, 23 Mar 2020 16:32:56 +0000 (17:32 +0100)]
efl_ui_widget: pass the correct flag here

this here needs to pass the flag that gets set, not the flag that
results. This is important for the cases, where a subtree in a widget
tree keeps the flag. As this would leave the wrong counter.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11556

4 years agoC#: Update C# code-generation to use a new ICustomMarshaler in some string usages...
Lucas Cavalcante de Sousa [Fri, 28 Feb 2020 15:58:08 +0000 (15:58 +0000)]
C#: Update C# code-generation to use a new ICustomMarshaler in some string usages that were leaking

When `C` calls a function that return/has an out string and it was overwritten by `C#` inherit class the `C` portion
wasn't cleaning its copy. Now, when a `C` calls a `C#` delegate function, `Strings` that are `out` values or `return`
values use a new marshaler (specific to this case) that uses Eina short lived strings (`Eina_Slstr`) instead of
duplicating it with `strdup`, so at some point, the string passed to `C` is deleted.

To do so, a `direction_context` (a new `Context` at `generation_contexts.hh`) was created. It is only used when a C#
delegate is being called from C (so this context is only set in `function_definition.hh` and `property_definition.hh`,
where it is set to `native_to_manage` to indicate that it is a native call to a managed function).

When this `direction_context` is set and the `String` being marshaled is not marked with an `@move` tag and it is an
`out` or `return` value, the new `StringOutMarshaler` (implemented at `iwrapper.cs`) is used (instead of
`StringKeepOwnershipMarshaler`).

When marshaling a managed data to native this marshaler uses eina short lived string (`Eina_Slstr`) that will be
automatically deleted. This delete is bounded to "the loop of the current thread or until the clear function is called
explicitly" as said at `src/lib/eina/eina_slstr.h`.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11434

4 years agoefl_ui_widget: unify tree number settings code
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:25 +0000 (12:12 -0400)]
efl_ui_widget: unify tree number settings code

Summary:
the internals of those two methods have been the same. Both setted the
internal numeric flag as either as 1 more or equal to the flag in the
parent object (depending on the internal state). Further details can be
found in the comment in code.
Depends on D11554

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: do not eval all the children twice
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:19 +0000 (12:12 -0400)]
efl_ui_widget: do not eval all the children twice

Summary:
eval all children is ending up in the complete discovery of the whole
subtree, which is unnessesary here, as we are already discovering the
whole subtree with the calls, these changes are in, so simple
evalulating this is enough.
Depends on D11551

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: fix disabled set behaviour
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:12 +0000 (12:12 -0400)]
efl_ui_widget: fix disabled set behaviour

Summary:
this fixes disabled set behaviour. This ensures that when setting
disabled twice, that unsetting it once does not break the overall state.

This never appeared in any real life example, because
elm_object_disabled_set is already checking for equalness. However, this
is not wanted here, because the simple setter can also be used to sync
the state with the parent, which appears to be helpfull.

Depends on D11550

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_widget: fix tree_unfocusable setting
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:06 +0000 (12:12 -0400)]
efl_ui_widget: fix tree_unfocusable setting

Summary:
when setting twice the same value, unsetting the same value would not
restore the same state in the tree again. With this commit, we ensure
this is working correctly.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

4 years agodoxygen docs: Fix warnings in textblock
Xavi Artigas [Mon, 23 Mar 2020 11:14:07 +0000 (12:14 +0100)]
doxygen docs: Fix warnings in textblock

4 years agodoxygen docs: Fix Exactness warnings
Xavi Artigas [Mon, 23 Mar 2020 10:20:12 +0000 (11:20 +0100)]
doxygen docs: Fix Exactness warnings

4 years agoRevert "Revert eo vtale rework..."
Marcel Hollerbach [Mon, 23 Mar 2020 10:32:48 +0000 (11:32 +0100)]
Revert "Revert eo vtale rework..."

This reverts commit efb15f510c70acde922d59708494539aa686c408.

The error that was causing this was in ector, and is fixed with the
previous commit.

4 years agoector: fix pointer checking
Marcel Hollerbach [Mon, 23 Mar 2020 10:20:56 +0000 (11:20 +0100)]
ector: fix pointer checking

we want to check if the pointer is available, and not the value of the
pointer. This fixes some "Jump depends on uninitialized value" messages
from valgrind.

4 years agoRevert eo vtale rework...
Carsten Haitzler (Rasterman) [Mon, 23 Mar 2020 09:04:33 +0000 (09:04 +0000)]
Revert eo vtale rework...

Revert "eo: redo vtable mro creation"
This reverts commit b05110609b38b24f5a11b78bf9a92212da713ce3.
Revert "eo: add a generic memory allocation tracking method"
This reverts commit 44071e3102a1526370ae6d653b93a1d20fe87339.
Revert "eo: rework vtable allocation scheme"
This reverts commit 3bd16a46f1098f5533723208feae8abafae4e8ab.
Revert "eo: do not allocate extension if deleting"
This reverts commit 64f7edc7fc0596425cdc2a1db8aacf06430994f0.

This seems to breal vector rendering in lottie:

From: Hermet Park <hermetpark@gmail.com>
To: Enlightenment developer list <enlightenment-devel@lists.sourceforge.net>
Subject: Re: [E-devel] [EGIT] [core/efl] master 02/05: eo: rework
vtable allocation scheme

This patch occurs memory corruption, vector crashes :(
Here is a sample if you'd like to see it.
https://phab.enlightenment.org/F3858944

4 years agocanvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7
Hermet Park [Mon, 23 Mar 2020 05:39:53 +0000 (14:39 +0900)]
canvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7

4 years agocanvas vg: drop vg cache buffers if object were destroyed.
Hermet Park [Mon, 23 Mar 2020 05:16:48 +0000 (14:16 +0900)]
canvas vg: drop vg cache buffers if object were destroyed.

Previous vg didn't take care of cached buffers which were
allocated in it's lifetime because the cache buffers are managed
by its own cache buffer mgr, it has a limitation count of buffers also
buffers can be cleared when engine is shutdown.

This behavior is actually working properly but not well optimized
since it lost a chance to clear grown buffers.

Now vg do clear used buffers when object is invalidated.

4 years agointerface_scrollable: modify to use a config value for adjusting
Wonki Kim [Fri, 20 Mar 2020 05:05:26 +0000 (14:05 +0900)]
interface_scrollable: modify to use a config value for adjusting

_elm_config->thumbscroll_sensitivity_friction was used for calculating time delta variable.
this patch introduces the config value for adjusting dt value

Change-Id: I13ed1cac2ed3226e17018f05d4f61195fe8c3a04

4 years agoecore: fix a potentional null dereferencing
Wonki Kim [Wed, 18 Mar 2020 04:36:36 +0000 (13:36 +0900)]
ecore: fix a potentional null dereferencing

Summary:
there is a potentional problem that is about null pointer dereferencing(values[0], and values[1])
this patch fixes it.

Reviewers: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I20d98cee2b2f76e3e6b923e8c489d07ad238b0bd

4 years agoecore evas cnp x - fix nul byte extras when text pasting to other apps
Carsten Haitzler (Rasterman) [Sun, 22 Mar 2020 18:39:54 +0000 (18:39 +0000)]
ecore evas cnp x - fix nul byte extras when text pasting to other apps

i was seeing junk bytes in pastes to chromium... it was an extra nul
byte. this will special-case nuke that.

4 years agoeo: redo vtable mro creation
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:44 +0000 (11:32 +0000)]
eo: redo vtable mro creation

Summary:
up to now we have created the vtable of a class by walking the mro from
the most upper element to the klass itself. To give a broader view, the
mro of a klass X that extends the class Y and implements A,B,C,D

The mro of X is then equal to [A,B,C,D] + the mro of Y. Which means, we
can simply copy over the vtables of Y, and start walking at D, which
will result in the same vtable.

The sideeffect of doing that is, that we do not allocate that much
memory anymore. Reason for this is quite simple:
For every mixin that is part of the mro, we are copying the vtable node,
to insert new API implemented by the mixin. However, the resulting new
vtable is every time the same. Which means, we could actaully copy them.

The same messurements as in the previous commits are taken:
malloc tracking:
  new: 452128
  old: 556656
  Safeup: ~102 KB

pmap:
  new: 542884K
  old: 542168K
  Safeup: ~716 KB
Depends on D11538

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo: add a generic memory allocation tracking method
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:40 +0000 (11:32 +0000)]
eo: add a generic memory allocation tracking method

Summary:
this is super usefull when checking memory allocations. Esp. when
checking out new memory allocation schemes.
Depends on D11535

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoeo: rework vtable allocation scheme
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:38 +0000 (11:32 +0000)]
eo: rework vtable allocation scheme

Summary:
with this commit a new way of allocating vtables arrived.
The old mechnism was to allocate a table big enough to carry *all*
functions at once, in order to not allocate that much memory for
functions that are not implemented on a specific klass, dichchains have
been used, which can be seens as a 2D matrix, where columns are only
allocated if min 1 entry needs to be written, this may have been a good
way to allocate back in the day when all this with eo started, however,
it showed to not pay off.

With this new way, we allocate a array of arrays. the first lvl array is
carrying enough slots, that *all* up to the time defined
interfaces/classes/abstracts/mixins can be implemented. The second lvl
array then has exactly the size of the defined APIs. The second lvl
array is obviously only allocated if needed.

When comparing the two methods, i messured two things, the usage based
on memory allocation for vtable-way-1 and vtable-way-2. Additionally, i
checked the overall memory usage of elementary_test using pmap. The
first messurement is a little bit more exact. The second messurement is
more biased, but captures the whole picture.

Memory allocation tracking:
   vtable-way-1 - vtable-way-2 = 74680 Byte

Pmap memory tracking:
   vtable-way1 - vtable-way-2 = 217088 Byte

The second messurement shows a bigger impact, likely because this is
also showing off all the sideeffects that we are taking place due to
fewer allocations.

Depends on D11524

Reviewers: zmike, tasn, stefan_schmidt, woohyun, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoeo: do not allocate extension if deleting
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:35 +0000 (11:32 +0000)]
eo: do not allocate extension if deleting

Summary:
->ext is getting freed during invalidate. If we unregister during
destruction (which is something that might happen) we should not
allocate the extension again.

Reviewers: woohyun, zmike, eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl.ui.textbox: load default font properties once
Ali Alzyod [Tue, 25 Feb 2020 11:30:23 +0000 (11:30 +0000)]
efl.ui.textbox: load default font properties once

As described in task T8617
when toggle editable mode for textbox, we will reserve user changes (instead of reload them again).

this issue is affected by D9502, I do not fully understand why do we need it, so I leave color loading as it is.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11404

4 years agoevas/render: fix log ptr access in render thread
Mike Blumenkrantz [Wed, 18 Mar 2020 16:29:21 +0000 (12:29 -0400)]
evas/render: fix log ptr access in render thread

when this lock is released, the evas may be immediately freed, leading to
invalid access in the log call

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11536

4 years agoefl/layout: add explicit doc note about efl.player property defaults
Mike Blumenkrantz [Mon, 10 Feb 2020 17:21:11 +0000 (12:21 -0500)]
efl/layout: add explicit doc note about efl.player property defaults

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11311

4 years agoefl/player: add doc note about default values for new (1.24) properties
Mike Blumenkrantz [Mon, 10 Feb 2020 17:15:57 +0000 (12:15 -0500)]
efl/player: add doc note about default values for new (1.24) properties

we're going to be overriding the default in at least some classes, so make
sure we make it explicit that the behavior is documented

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11310

4 years agoefl/layout: add @empty for missing efl.player methods
Mike Blumenkrantz [Mon, 10 Feb 2020 17:14:39 +0000 (12:14 -0500)]
efl/layout: add @empty for missing efl.player methods

need to at least track these

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11309

4 years agoefl_ui/image: implement efl.player::playback_loop property
Mike Blumenkrantz [Mon, 10 Feb 2020 17:11:03 +0000 (12:11 -0500)]
efl_ui/image: implement efl.player::playback_loop property

this enables the existing looping functionality only when playback_loop
is set (which is always set for legacy widgets)

fix T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11308

4 years agoefl_ui/image_zoomable: unset timer pointer when canceling animation timer
Mike Blumenkrantz [Mon, 10 Feb 2020 17:10:09 +0000 (12:10 -0500)]
efl_ui/image_zoomable: unset timer pointer when canceling animation timer

make sure we have no stale pointers later on in this case

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11307

4 years agoefl_ui/image: implement efl.player::autoplay for image widgets
Mike Blumenkrantz [Mon, 10 Feb 2020 16:05:35 +0000 (11:05 -0500)]
efl_ui/image: implement efl.player::autoplay for image widgets

this just calls efl.player::playing_set any time autoplay is true and
the internal image object is preloaded

ref T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11306

4 years agocanvas3d: remove all feature implementation in edje/edje_cc
Hermet Park [Fri, 20 Mar 2020 09:00:24 +0000 (09:00 +0000)]
canvas3d: remove all feature implementation in edje/edje_cc

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547

4 years agoexactness: remove support for legacy .rec format
Stefan Schmidt [Wed, 18 Mar 2020 16:03:07 +0000 (17:03 +0100)]
exactness: remove support for legacy .rec format

From now on we will only go with the new .exu format. All tests have
been converted two and a half years ago already. If there still is a
need for this in some corner cases the external exactness application
still has support for this.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11537

4 years agoexactness: factor out the special _mkdir() handling
Stefan Schmidt [Tue, 17 Mar 2020 16:08:40 +0000 (17:08 +0100)]
exactness: factor out the special _mkdir() handling

We have an ecore function to handle most of this already. For the case
where we give a file name cut off that part before handing it off to
creation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11458

4 years agoexactness: factour out the program invoke code
Stefan Schmidt [Tue, 17 Mar 2020 15:53:30 +0000 (16:53 +0100)]
exactness: factour out the program invoke code

It needs a little special case handling for the player (to load the edj
file), but the rest is really the same.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11460

4 years agoefl/hint: update doc for default weight hint value
Mike Blumenkrantz [Fri, 20 Mar 2020 10:59:58 +0000 (11:59 +0100)]
efl/hint: update doc for default weight hint value

Summary: the default is actually 1.0 and always has been for unified api

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas filter: work for native surface
Shinwoo Kim [Fri, 20 Mar 2020 06:37:31 +0000 (15:37 +0900)]
evas filter: work for native surface

Summary:
Filter does not know how to draw native surface image using engine_data.
It means that only image knows how to draw it. In case of GL engine, image
is using a shader program for IMAGENATIVE in the common_context_image_push.

This patch makes filter work for native surface image by drawing the native
surface first using the common_context_image_push as below.

   Before: image -> common_filter_*_push -> filter_output
   After: image -> common_context_image_push -> filter_input ->
          common_filter_*_push -> filter_output

Test Plan: {F3856981}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: auto-unset weight if popups provide a size in their positioner
Mike Blumenkrantz [Thu, 19 Mar 2020 16:06:18 +0000 (12:06 -0400)]
efl/wl: auto-unset weight if popups provide a size in their positioner

Summary:
we "sometimes" set this to EXPAND,EXPAND in the base efl object constructor,
so we need to unset that in this case

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: don't delete group clipper on object destruction
Mike Blumenkrantz [Thu, 19 Mar 2020 15:14:54 +0000 (11:14 -0400)]
efl/wl: don't delete group clipper on object destruction

Summary: this is already handled internally in evas

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agocanvas 3d: remove canvas3d edje
Hermet Park [Thu, 19 Mar 2020 09:47:36 +0000 (18:47 +0900)]
canvas 3d: remove canvas3d edje

Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_wl: Null check to prevent crash.
Woochanlee [Wed, 18 Mar 2020 06:07:19 +0000 (15:07 +0900)]
efl_wl: Null check to prevent crash.

xkb_map_get_as_string can return null in exceptional case.

Change-Id: I6d401d79c66cff514b58dc9a716276808c4f191e
WGID: 434604

4 years agoefl_ui_widget: prevent from integer overflow
WooHyun Jung [Wed, 18 Mar 2020 05:13:23 +0000 (14:13 +0900)]
efl_ui_widget: prevent from integer overflow

Change-Id: Ibdfffe3883854f132993e15d5d741c835dd4dda5

4 years agoedje_text: fix unreachable code
Bowon Ryu [Wed, 18 Mar 2020 05:33:48 +0000 (14:33 +0900)]
edje_text: fix unreachable code

In this state, text.min_x is always 1.
Also, if text.min_x = 1, ellipsis should be -1 to ensure operation.

Change-Id: I326afd259c43eff1e0054d404ca2543660aaf7d8
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
4 years agoefl_canvas_vg_object: add since_tizen tags for root node set/get APIs
Taehyub Kim [Tue, 17 Mar 2020 04:45:34 +0000 (13:45 +0900)]
efl_canvas_vg_object: add since_tizen tags for root node set/get APIs

Change-Id: Ia5944115b92253dc54ffc5322a11a7ae0191fc2d

4 years agoevas_vg: modified the join enum documentation
Taehyub Kim [Tue, 17 Mar 2020 04:01:09 +0000 (13:01 +0900)]
evas_vg: modified the join enum documentation

Summary:
modified the join enum documentation for Efl_Gfx_Join and Evas_Vg_Join
since the order of documentation is wrong

Depends on D11519

Reviewers: jsuya, Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I341dae8bd8020f51e5bcf67906fbc0bc80230bfb

4 years agoevas gl: toggle partial rendering properly.
Hermet Park [Tue, 17 Mar 2020 01:53:01 +0000 (10:53 +0900)]
evas gl: toggle partial rendering properly.

It doesn't need to toggle on/off duplicatedly.

Change-Id: I9becea7ba10065db74075e269dbeca2d435c3f7c

4 years agoelm_conform : Add elm_conformant_input_area_disabled_set/get APIs
Woochanlee [Thu, 12 Mar 2020 07:33:03 +0000 (16:33 +0900)]
elm_conform : Add elm_conformant_input_area_disabled_set/get APIs

Applications in certain environments do not want to resize the conformant due to the input area.
For example, in an app where a round image is set as the background above the contour,
the image may look broken when the conformation is resized.

@tizen_feature

Change-Id: I731abbc6eb4769ad965eaba37b6d2518fe760df6

4 years agoevas_vg: add since tags for evas vector APIs
Taehyub Kim [Mon, 16 Mar 2020 10:44:52 +0000 (19:44 +0900)]
evas_vg: add since tags for evas vector APIs

Change-Id: Ifdd0dbfc8e2ab98f2c5a4302890402f1f55cb1ea

4 years agoevas_vg: refined the documentation for evas vector APIs
Taehyub Kim [Mon, 16 Mar 2020 10:24:58 +0000 (19:24 +0900)]
evas_vg: refined the documentation for evas vector APIs

Change-Id: I31d33f277e99b3bbaa4d1975af613a687b5687df

4 years agoevas_vg: refined the evas vector APIs set
Taehyub Kim [Mon, 16 Mar 2020 09:52:48 +0000 (18:52 +0900)]
evas_vg: refined the evas vector APIs set

Change-Id: I22e05e7f452694edd8deebd0b6045aebd25cf4ee

4 years agodoxygen docs: Fix Eina Promises doc structure and links
Xavi Artigas [Tue, 17 Mar 2020 18:21:41 +0000 (19:21 +0100)]
doxygen docs: Fix Eina Promises doc structure and links

Man, this was a tough one!
The content still needs work, but the structure makes a bit more sense now,
and there are no broken links, typos or doxygen warnings anymore.

4 years agodoxygen docs: Create Eina Vector2 group in the right place
Xavi Artigas [Fri, 13 Mar 2020 10:03:21 +0000 (11:03 +0100)]
doxygen docs: Create Eina Vector2 group in the right place

A couple members were outside the group and appeared in the
Eina Data Types page instead.

4 years agodoxygen docs: Put quadtrees in their own group
Xavi Artigas [Fri, 13 Mar 2020 10:00:59 +0000 (11:00 +0100)]
doxygen docs: Put quadtrees in their own group

To clean up the Eina Data Types page

4 years agocanvas3d: remove canvas3d examples.
Hermet Park [Tue, 17 Mar 2020 12:04:47 +0000 (21:04 +0900)]
canvas3d: remove canvas3d examples.

Summary: This is a dead feature, remove it.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoSpotlight: Remove jump_setup from ctors list
Xavi Artigas [Tue, 17 Mar 2020 10:56:37 +0000 (11:56 +0100)]
Spotlight: Remove jump_setup from ctors list

This feature has not been used yet and it is making mono_gen abort, breaking build
(probably because this property has setter but no getter).

4 years agodocs: Improve Spotlight.Animation_Manager docs
Xavi Artigas [Tue, 17 Mar 2020 10:39:41 +0000 (11:39 +0100)]
docs: Improve Spotlight.Animation_Manager docs

4 years agoecore evas x - on argb dont create unused 1 bit pixmap masks
Carsten Haitzler (Rasterman) [Mon, 16 Mar 2020 20:34:57 +0000 (20:34 +0000)]
ecore evas x - on argb dont create unused 1 bit pixmap masks

found out we had a wasted 1 bit pixmap mask for argb windows left over
from shaped window support... so don't create it. drop resources a bit.

@fix

4 years agomove stabelized items out of @beta
Ali Alzyod [Wed, 12 Feb 2020 13:07:17 +0000 (13:07 +0000)]
move stabelized items out of @beta

ref T8541
ref T8522

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11328

4 years agoefl_ui_spotlight: Introduce animation manager
Marcel Hollerbach [Fri, 14 Feb 2020 18:02:14 +0000 (19:02 +0100)]
efl_ui_spotlight: Introduce animation manager

the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.

For now the fade manager is the only thing that uses that.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358

4 years agoefl_ui_spotlight_manager: introduce a reason for switch_to
Marcel Hollerbach [Fri, 14 Feb 2020 16:37:42 +0000 (17:37 +0100)]
efl_ui_spotlight_manager: introduce a reason for switch_to

This is preparation work for a later commit. This brings a flag that
indicates what the reason for a switch to call is, either a jump a push
or a pop.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11357

4 years agoecore_cocoa: fix wrong word in documentation
Taehyub Kim [Thu, 5 Mar 2020 02:54:21 +0000 (02:54 +0000)]
ecore_cocoa: fix wrong word in documentation

modified the wrong word for mime_type parameters

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11446

4 years agoecore_input_evas: fix memory leak when ecore_event_evas is shutdown.
Hosang Kim [Tue, 17 Mar 2020 03:34:05 +0000 (03:34 +0000)]
ecore_input_evas: fix memory leak when ecore_event_evas is shutdown.

_last_events and eel structure are not freed when ecore_event_evas is shutdown.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11520

4 years agoeina_file: fix a typo error
Wonki Kim [Mon, 16 Mar 2020 07:24:24 +0000 (07:24 +0000)]
eina_file: fix a typo error

'sefl' is definitely a typo
this patch fixes it

Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11510

4 years agoevas_table: inherit all the types we are implementing
Marcel Hollerbach [Tue, 17 Mar 2020 08:31:05 +0000 (09:31 +0100)]
evas_table: inherit all the types we are implementing

4 years agowin/widget: free array when object is deleted.
Hosang Kim [Tue, 17 Mar 2020 04:12:19 +0000 (04:12 +0000)]
win/widget: free array when object is deleted.

It makes a memory leak.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11522

4 years agoevas_table: inherit all the types we are implementing
Marcel Hollerbach [Sun, 15 Mar 2020 21:10:31 +0000 (22:10 +0100)]
evas_table: inherit all the types we are implementing

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11515

4 years agoedje_part: move part_type to common interface
Marcel Hollerbach [Mon, 16 Mar 2020 12:53:03 +0000 (13:53 +0100)]
edje_part: move part_type to common interface

In EFL we have multiple hirachies of parts. One in Efl.Layout namespace
(alias edje) and one in Efl.Ui namespace. The seperation of these two
makes sense from the perspective of hiding functionality. However, a
functionality that we want to have on both is: we want to be able to
check which type of part this is. In order to do so, this commit
introduces a common interface, which allows that.

This is required because eo is currently undergoing some works, where
only APIs on a object are allowed, that are also inheriting its type,
which is normal in OOP, but sometimes, due to the lack of limitation, we
did that. This commit resolves one more case of that.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11516

4 years agoevas_render: use do_async for mapped child (SW)
Shinwoo Kim [Mon, 16 Mar 2020 10:15:17 +0000 (19:15 +0900)]
evas_render: use do_async for mapped child (SW)

Summary:
On the SW engine, the rendering has inconsistent between smart object and
non-smart object, if they are mapped children. The smart object does ASYNC
render while the non-smart object does SYNC render. Because of this there
is a filckering rendering problem.

[Problem]
The following is a case of problems.

  elm_layout (mapped, map_surface_1)
   │
   ├─ elm_image_1 (mapped)
   │
   └─ elm_image_2 (not mapped)
       │
       └─ evas_object_image

After elm_image_1 adds draw command to the draw thread queue, and it starts
its drawing on the map_surface_1 on a thread, and stops middle of drawing.
At this point, evas_object_image does SYNC draw on the same surface
map_surface_1. And the thread for elm_image_1 works for remains.

Because the evas_object_image draws before finishing drawing of elm_image_1,
There is the problem.

F.Y.I. From the first evas_render has done SYNC render for mapped child.

   cb10c7d evas: Modify software_generic ... with threaded renderer

This patch makes mapped children do ASYNC render.

Test Plan:
{F3856130}

{F3856131}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoecore_evas_wl: update rotation at the time of uniconify
Changyeon Lee [Wed, 11 Mar 2020 12:23:29 +0000 (21:23 +0900)]
ecore_evas_wl: update rotation at the time of uniconify

rotation isn't updated if window is iconify state in
callback of output transform '_ecore_evas_wl_common_cb_output_transform'.
this patch updates rotation in the above case.

Change-Id: I8827d1972a632237b214206ed1b08277e19fdafb

4 years agoUpdating serbian translation
maxerba [Sat, 14 Mar 2020 14:19:50 +0000 (15:19 +0100)]
Updating serbian translation

4 years agoefl/wl: remove old doxygen docs
Mike Blumenkrantz [Fri, 13 Mar 2020 16:17:03 +0000 (12:17 -0400)]
efl/wl: remove old doxygen docs

Summary:
these are no longer applicable
Depends on D11504

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: add docs for surface object and re-namespace
Mike Blumenkrantz [Fri, 13 Mar 2020 16:16:57 +0000 (12:16 -0400)]
efl/wl: add docs for surface object and re-namespace

Summary: Depends on D11501

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/wl: add docs for base compositor object
Mike Blumenkrantz [Fri, 13 Mar 2020 16:16:51 +0000 (12:16 -0400)]
efl/wl: add docs for base compositor object

Summary:
also rename some methods

Depends on D11500

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/gesture: remove duplicated line
Mike Blumenkrantz [Fri, 13 Mar 2020 13:08:25 +0000 (09:08 -0400)]
efl/gesture: remove duplicated line

Summary: this was somehow duplicated

Reviewers: CHAN, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas_common: rgba32 to Y8 (Enhance Conversion)
ali [Fri, 13 Mar 2020 08:54:54 +0000 (09:54 +0100)]
evas_common: rgba32 to Y8 (Enhance Conversion)

Summary:
Made small change to expand mapping range by using celling values.
Now : rgb(255,255,255)   ->  y(255)
Now : rgb(1  , 1 ,1  )   ->  y(1)

Old : rgb(255,255,255)   ->  y(254)
Old : rgb(1  ,  1,  1)   ->  y(0)

It is important for white point convert to not loss any value

Test Plan:
```
#include <stdio.h>

int main()
{
    unsigned char r =255, g =255,b =255;
    unsigned int gry8_old = ((r * 19595) + (g * 38469) + (b * 7471)) >> 16;
    unsigned int gry8_new = ((r * 19596) + (g * 38470) + (b * 7472)) >> 16;

    printf("gry_old=%i\n",gry8_old);
    printf("gry_new=%i\n",gry8_new);

    return 0;
}

```

Reviewers: cedric, raster, zmike, vtorri, Hermet, woohyun, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje/style: Fix regression caused by changes in opensource
Subhransu Mohanty [Thu, 12 Mar 2020 03:31:30 +0000 (12:31 +0900)]
edje/style: Fix regression caused by changes in opensource

The regression is caused due to recent changes in text_class override in object level
which changed the whole idea of lazy generation of styles only when needed.
this patch undo those changes.

Now for global, file and object level text_class change we will just invalidate the
edje style cache so that when next request to the style_get() function called we
will recompute the style with the new changes.

Change-Id: I064a140bba1e23bf76b011a5da02e12eef655985

4 years agoRevert "efl_mono: install libeflcustomexportsmono.so to support EflSharp"
Jaehyun Cho [Thu, 12 Mar 2020 05:17:46 +0000 (14:17 +0900)]
Revert "efl_mono: install libeflcustomexportsmono.so to support EflSharp"

This reverts commit cf6f5687d8dc9c12b326721606f745ec937487a4.

Change-Id: Ib557acd216f4076adee2b5acba26ab5da20762bc

4 years agoRevert "efl_mono: install libeflcustomexportsmono.so to support EflSharp by meson"
Jaehyun Cho [Thu, 12 Mar 2020 05:16:36 +0000 (14:16 +0900)]
Revert "efl_mono: install libeflcustomexportsmono.so to support EflSharp by meson"

This reverts commit 86845b2b3e53cfc0300fe7fb28d5c302c0f2bd0b.

Change-Id: Icb9b2d2ca3a663a275036e8e9bb783a02340b51f

4 years agoRevert "packaging: install libeflcustomexportsmono.so by efl-devel rpm"
Jaehyun Cho [Thu, 12 Mar 2020 05:14:14 +0000 (14:14 +0900)]
Revert "packaging: install libeflcustomexportsmono.so by efl-devel rpm"

This reverts commit 70341d1d3908ca07ea5eba2b0f3d535a52789d2b.

Change-Id: If25453e3498c0cd6be4580bbd507a3eee37cb850

4 years agoRevert "efl_mono: update meson.build to build efl_mono_model_internal.c"
Jaehyun Cho [Thu, 12 Mar 2020 04:56:45 +0000 (13:56 +0900)]
Revert "efl_mono: update meson.build to build efl_mono_model_internal.c"

This reverts commit 29e71bba32743fba111300749714db33d1bd7479.

Change-Id: Iec7f748159579927a49335d6630a0dc8e4d6fdea

4 years agobuild/fix: change false to EINA_FALSE
Subhransu Mohanty [Thu, 12 Mar 2020 03:42:22 +0000 (12:42 +0900)]
build/fix: change false to EINA_FALSE

Change-Id: I095288d086353ff7ff4f73ac7261ea30bed3ac18

4 years agobuild: resolve migration build error
Jongmin Lee [Fri, 13 Mar 2020 01:14:46 +0000 (10:14 +0900)]
build: resolve migration build error

rename efl-wl to efl-canvas-wl

Change-Id: Iefa26f3408cc1533c704ef7b7ba2858730dca7cf

4 years agodocs: Efl.Ui.Textbox: Clarify when is Efl.Ui.Scrollable enabled
Xavi Artigas [Thu, 12 Mar 2020 17:13:50 +0000 (18:13 +0100)]
docs: Efl.Ui.Textbox: Clarify when is Efl.Ui.Scrollable enabled

4 years agoeina: do not free NULL ptr
Marcel Hollerbach [Thu, 12 Mar 2020 17:06:54 +0000 (18:06 +0100)]
eina: do not free NULL ptr

this is definitly NULL here, but usefull for later usage.

4 years agoefl: check config values before passing to non-null function
Mike Blumenkrantz [Thu, 12 Mar 2020 16:50:26 +0000 (12:50 -0400)]
efl: check config values before passing to non-null function

if these config values don't exist, we should return the inlined defaults

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11499

4 years agoefl.ui.textbox: proxy for efl.ui.scrollable interface
Ali Alzyod [Tue, 10 Mar 2020 08:46:18 +0000 (08:46 +0000)]
efl.ui.textbox: proxy for efl.ui.scrollable interface

Allow users to use scroller functinality with efl.ui.textbox

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11479

4 years agoefl/gesture: add fallback for glayer_tap_finger_size not being found
Mike Blumenkrantz [Thu, 12 Mar 2020 13:11:53 +0000 (09:11 -0400)]
efl/gesture: add fallback for glayer_tap_finger_size not being found

just in case

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

4 years agoevas_object_box: respect static clipper.
Alastair Poole [Thu, 12 Mar 2020 16:52:41 +0000 (16:52 +0000)]
evas_object_box: respect static clipper.

Check here for a static clipper else  the clipper
will move. This causes problems with very large boxes where
content will stop rendering due to the clipper moving.

Originally this wasn't meant to move but this was missed with the
API changes. It wasn't noticed as the clipper default size is
very large.

See: src/lib/evas/canvas/evas_object_smart.c.

If we exceed the 10k range content does not render due to the
move.

@fix

4 years agodoxygen docs: Fix illegal references
Xavi Artigas [Thu, 12 Mar 2020 12:52:42 +0000 (13:52 +0100)]
doxygen docs: Fix illegal references

Mostly typos and unescaped # signs