Commit Graph

30763 Commits

Author SHA1 Message Date
junsu choi 53991e0ef6 evas_vg_cache: Don't caching vg file if value_provider is applied.
Summary:
value_provider can change the value of the property received from VG file.
When a file is cached, the changed properties are applied to all other objects using the same file.
So. If value provider is applied, evas_vg_cache is not caching vg file.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11924
2020-06-09 10:57:21 +09:00
Ali Alzyod 18218f5072 evas_common_font: release reallocated glyphs bitmaps data
Reviewers: woohyun, smohanty

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8743

Differential Revision: https://phab.enlightenment.org/D11945
2020-06-09 10:25:10 +09:00
Subhransu Mohanty 101ca2db82 elementary/example: Fix memory leak in gengrid test
Reviewers: Hermet, SanghyeonLee

Reviewed By: Hermet, SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11928
2020-06-08 20:28:14 +09:00
Subhransu Mohanty a02deffad7 ecore_ipc: Fix memory leak
Summary:
As delete_me flag was not updated in the delete callback it dosen't
call ecore_ipc_client_del() on the client hence the leak.

Reviewers: Hermet, raster, bu5hm4n, CHAN

Reviewed By: Hermet, CHAN

Subscribers: CHAN, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11927
2020-06-08 20:27:42 +09:00
Hermet Park b2f9b0e24f canvas gl: remove out-dated compiler keywords 2020-06-08 19:46:31 +09:00
Stefan Schmidt b0cb3e08f2 exactness: record and print test time on success
Having the runtime of a test is interesting for debugging and
optimization. Printing them only on success for now.

Differential Revision: https://phab.enlightenment.org/D11935
2020-06-08 09:46:02 +02:00
WooHyun Jung 839c0e657f webp: add version check in configuration time
Reviewers: Hermet, herb, bu5hm4n, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: stefan_schmidt, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11926
2020-06-08 11:03:07 +09:00
Hermet Park 8559602bcc eldbus: fix the data size issue.
Summary:
dbus message requires the void* value for the message data,
the returned value of dbus_message_iter_get_basic() can be mismatched by to the architure,
This could bring the returned va_argues memory corrupted among the series of values.

We can use the defined type for exceptions.

Reviewers: herb, kimcinoo, jsuya, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11940
2020-06-08 11:00:27 +09:00
Daniel Kolesa c3a1060b94 build: disable elua by default, plus nicer detection
Elua is now disabled by default. There are some other changes:

1) Elua scripts are only installed if Elua is enabled
2) Lua bindings are only installed if Elua is enabled
3) Elua with interpreter is clearly experimental and will message
2020-06-06 19:28:26 +02:00
Stefan Schmidt 628268a102 emotion: remove all left overs from removed backends
We removed them in the last release. Make sure we cleanup all the
references and dead code still belonging to it.

Extra note on the Emotion_Module enum removal. While it was exposed in
the public Emotion.h header it is never used anywhere in the code and
has no purpose, thus it can safely be removed.

Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11941
2020-06-05 12:47:43 +02:00
Marcel Hollerbach 91a5312f70 build: do not publish surface .eo files
they are privat, they should never be installed.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11933
2020-06-05 10:36:14 +02:00
Marcel Hollerbach 7660da691c evas: correctly declare filter_internal as public API
I know this is internal. However it is public used in public .eo files.
Even if it is internal, and beta, we still need to expose the API in
order to have it correctly in the .so.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11932
2020-06-05 10:36:11 +02:00
Bowon Ryu f4cf46e9b5 edje: markup flag should be TRUE in legacy edje_object_part_text_set
Summary:
Through some APIs (elm_entry_editable_set, elm_entry_single_line_set, etc.)
located after edje_object_part_text_set(legacy)

If efl_ui_widget_theme_apply is called,
In edje_object_part_text_raw_generic_set, the legacy flag becomes FALSE.
And in this case, the logic works in the unintended direction
because the set_markup flag is FALSE.

Test Plan:
/*
gcc -o entry_example entry.c `pkg-config --cflags --libs elementary`
 */
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *en;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("entry-example", "test");
   elm_win_autodel_set(win, EINA_TRUE);
   en = elm_entry_add(win);
   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_object_part_text_set(en, "elm.guide", "<font_size=32 color=#FFF>TEST</font_size>");
   elm_entry_editable_set(en, EINA_FALSE);

   evas_object_show(en);

   elm_object_content_set(win, en);
   evas_object_resize(win, 300, 200);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()

Reviewers: woohyun, ali.alzyod

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11868
2020-06-05 14:26:22 +09:00
Carsten Haitzler 7c42538144 evas - genetic update regions smart merge - merge v adjacent regions
regions sometimes produce box sets like:
// +---+
// |   |
// +---+    +-------+
// |   |    |       |
// +---+    +-------+---------+
//          |                 |
//          |                 |
//          +-----------------+

so the upper-left 2 boxes can be merged into 1 and they have the same
x coords and are flush-aligned one above the other. that is what
this does - find these and merge them to have fewer rects

@fix
2020-06-04 20:25:46 +01:00
Carsten Haitzler 8cfc0ec41b evas render - add debug to draw boxes around update regions
helps debug update regions to see if there is too much overdraw or too
many regions. i smelled too manhy and this showed it. i was right. fix
for too many regions coming next
2020-06-04 20:23:13 +01:00
Carsten Haitzler 6e460922bb tiler - add maxreg for newtiler - not used atm but matches current 2020-06-04 20:22:03 +01:00
Carsten Haitzler 7dbe886f58 evas gl - tune gl engine to use a bit less cpu overhead
we have used a fair bit of cpu to avoid gpu overhead and this tunes
the balance back a bit to throwing more at the gpu and less at the cpu
by reducing the number of pipes and max vertex counts per pipe by
default and only resetting pipe state vars if adding the first pipe
member.

@opt
2020-06-04 12:09:06 +01:00
Carsten Haitzler d992a319a8 elm test - animated icon - big win to have a bg and not garbage 2020-06-04 12:09:06 +01:00
Marcel Hollerbach e3ad84f07e build: move static out of none_static
Summary: these are static libs, they shall not be in the static list.

Reviewers: stefan_schmidt, jsuya

Reviewed By: stefan_schmidt, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11923
2020-06-04 10:29:44 +09:00
junsu choi b8bab8e6f0 Efl.Canvas.Vg.Object: Fix backup size
Summary:
Make the size to be backed up and the size to be compared equal.
and minor fix

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11925
2020-06-04 10:29:28 +09:00
junsu choi 1be4dcde03 Efl.Gfx.Path: Modify boundary calculation.
Summary:
The point of the path is of type float.
The boundary must contain the coordinates of the point,
so min_x,y value must be round down and the max value round up.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11917
2020-06-04 09:22:39 +09:00
Stefan Schmidt 338a529af1 Revert "elementary: build elementary_test additionally as shared object"
We now longer need this workaround. Exactness is now pre-loaded and we
can run it with any executable without this trick. Remove to simplify
our build.

This reverts commit 78ad088dd7.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11919
2020-06-03 11:03:12 +02:00
junsu choi 0b4f42fab6 Efl.Canvas.Vg.Object: Prevent null pointer access
add null check
2020-06-03 15:58:00 +09:00
Subhransu Mohanty 97f4f7127a evas/engine: Fix memory leak in generic cache.
Summary:
During shutdown we used to call engine_image_free() which was causing some deadlock.
as we have evas_cache which takes care of freeing all the images we just have to
delete the generic cache without freeing the image during shutdown.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11915
2020-06-03 13:03:39 +09:00
Subhransu Mohanty c77a34402a elementary_test: Added --autoclose option to elementary_test
Summary:
This option will enable writing tools which will automate running the
elementary test cases.

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11910
2020-06-03 12:15:05 +09:00
junsu choi 442fae5c56 Efl.Canvas.Vg.Object: Optimize Ector Surface Size
Summary:
The ector surface size was determined by the size of the vg object.
vg object is usually sized by the size of the container.
So, the ector surface is set unnecessarily large.
This patch sets the ector surface size to the path boundary.
And the path boundary refers to the stroke width and miterlimit.

Test Plan:
vector sample
{F3887634}
{F3887632}

[grey area is ector surface size]
{F3887633}

Reviewers: Hermet, kimcinoo, smohanty, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11865
2020-06-03 11:37:23 +09:00
Subhransu Mohanty e94b5d014f ecore: Fix Asan stack overflow warning
Summary:
As argument can be passed by register (depending on the compiler optimization)
when we take the adress of the nbytes and pass it to send() function which reades
4 bytes from it ASAN flags it as a stack overflow . So just assign the value to a
local variable to avoid the warning.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11914
2020-06-03 11:17:18 +09:00
Marcel Hollerbach 41c90a9ae3 build: add eet to evas suite
evas suite seems to use internal headers, which includes eet.
2020-06-02 08:54:19 +02:00
Marcel Hollerbach 6184bf670f build: do not link test suite again against static libs
this might result in duplicated symbols.
2020-06-02 08:07:48 +02:00
Ali Alzyod ff3d3b1944 efl_access_text: remove ptr usage in eo files
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11907
2020-06-02 08:07:48 +02:00
Woochanlee 5ca1a8c8a7 elm_gesture_layer: Arrange the logic for delete the target object in gesture cb.
When the user receives the callback of gesture callback, erases the target object, the gesture layer is deleted.

The memory is may broken and performing unnecessary operations during the logic.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11838
2020-06-02 08:07:45 +02:00
Subhransu Mohanty 5797129334 eo: Fix memory leak in efl_key_wref_set() api.
Testcase:
   elementary_test -to snapshot

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11888
2020-06-02 08:07:42 +02:00
Hermet Park 9d1423f203 canvas svg: fix missing break. 2020-06-02 13:18:17 +09:00
junsu choi 214e5d2cf8 elm_hoversel: Add missing resize_job's free
Summary:
resize_job can be called after obj is deleted.
So add free to destructor.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11911
2020-06-02 12:26:51 +09:00
Subhransu Mohanty 025e7238e7 elementary: Fix memory leak in elm_list
Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11909
2020-06-01 18:57:24 +09:00
Subhransu Mohanty 161e411d18 svg/loader: Fix memory leak
Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11908
2020-06-01 18:53:36 +09:00
junsu choi b981667d52 Efl.Gfx.Vg.Value_Provider: Move internal function changed_flag to eo.
Summary:
changed_flag was declared in the private header for internal use(static_lib).
However, as the meson script has been changed, it can no longer be used.
changed_flag can display the property to which the changed
among the properties of value_provider.
there is no problem in providing it as an eo function, so move the function to eo.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11894
2020-06-01 13:21:04 +09:00
Marcel Hollerbach 0123c8b6fc elm_gen****: free item_content map
Summary:
this should be freeed. Both can be freed in group_del after the items
are deleted.

fix T8732

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8732

Differential Revision: https://phab.enlightenment.org/D11882
2020-06-01 10:47:48 +09:00
Daniel Kolesa 34e855c1f1 bindings/lua: simplify some eolian binding code 2020-05-31 07:27:01 +02:00
Daniel Kolesa 8cc2c419cb bindings/lua: fixes for cffi-lua 2020-05-31 06:39:50 +02:00
Daniel Kolesa b953b99a66 elua: fix object system on lua 5.2 onwards
This is a quick hacky fix, but it enables elua to work well with
lua 5.2+. Notably Eolian bindings work now.

Later this will be rewritten to use __gc directly on object
instances, with a fallback for newproxy for 5.1/luajit.
2020-05-31 03:39:49 +02:00
Daniel Kolesa 38bf0be7d0 bindings/lua: use new _fill api variants for expr values
The previous behavior was also invalid, since it was casting
a GC-managed pointer, which doesn't provide any guarantee that
it will stay valid. Fix that too, by using manually allocated
memory and assigning a finalizer at the end.
2020-05-31 02:32:35 +02:00
Daniel Kolesa 1ba91f37fb eolian: add out-param variants of expr eval/value get funcs
This is for compatibility with bindings that can't express passing
unions by value (e.g. anything libffi based).
2020-05-31 02:14:46 +02:00
Daniel Kolesa aa3f1b67e7 bindings/lua: minor fixes to accommodate cffi-lua 2020-05-31 01:54:34 +02:00
Carsten Haitzler ada29070a3 evas examples - build box example again - missing header 2020-05-30 12:10:15 +01:00
Carsten Haitzler 688eb2e5f2 evas - examples - evas box fix path to png file 2020-05-30 12:04:51 +01:00
Daniel Kolesa 48c8eb835e elua: use cffi-lua public header 2020-05-30 06:44:29 +02:00
Daniel Kolesa 6dce869a17 elua: fix build with luajit or lua 5.1 2020-05-29 17:46:10 +02:00
Daniel Kolesa f78d54051c bindings: rename luajit -> lua 2020-05-29 17:06:22 +02:00
Daniel Kolesa b0203b3160 bindings/luajit/eolian: get rid of using bitops 2020-05-29 17:00:28 +02:00
Daniel Kolesa 5197200ac1 elua: allow building with interpreted (non-luajit) lua
This doesn't fully work yet as e.g. Eolian bindings require
the bitop module only present in luajit for now.

In order to build, you will need to install

https://github.com/q66/cffi-lua

in order to provide the FFI. It needs to be built for the Lua
version you are building EFL with.
2020-05-29 16:40:05 +02:00
Ali Alzyod 23e8715070 evas_text: reduce Video Memory & RAM needed for text textures (Color Glyphs)
Summary:
Texture created for bitmap font glyph, with a fixed size in the font, this size could be much bigger than the needed size in application.
Then a scale factor is applied to these textures when drawn.

Now, instead, we will create smaller bitmaps and create texture from them with reduced texture size (that is not needed).

** This will affect both Video Memory and Ram needed to store glyphs**

Open this file {F3883874} in terminology before and after applying the patch and notice the difference.

Test Plan:
**Notes**
- You need to scroll down to make all glyphs visible, then notice Video/Ram memory

|                      | Video | Ram
|----------------------|-------|-----
| Before (Font_size=50) |  360   |  300
| After (Font_size=50) |  40   | 100
| Ration After/before   |  11%  |  33%

**I notice speed up in text rendering for small font size**

```
#include <Elementary.h>

typedef struct _APP
{
  Evas_Object *tb1;
  Evas_Object *btnLoad;
} APP;

char *text = "<align=center><color=#4DE0FFFF underline=on underline_color=#4DE0FFFF><a href='tel:1234567890'>1234567890</a></color>😀😁😂🤣😃😄😅😆😉😊😋😎😍😘😗😙😚🙂🤗🤔😐😑😶🙄😏😣😥😮🤐😯😪😫😴😌🤓😛😜😝🤤😒😓😔😕🙃🤑😲🙁😖😞😟😤😢😭😦😧😨😩😬😰😱😳😵😡😠😇🤠🤡🤥😷🤒🤕🤢🤧😈👿👹👺💀👻👽👾🤖💩😺😸😹😻😼😽🙀😿😾🙈🙉🙊👦👧👨👩👵👶👼👨‍⚕️👩‍⚕️👨‍🎓👩‍🎓👨‍🏫👩‍🏫👨‍⚖👩‍⚖👨‍🌾👩‍🌾👨‍🍳👩‍🍳👨‍🔧👩‍🔧👨‍🏭👩‍🏭👨‍💼👩‍💼👨‍🔬👩‍🔬👨‍💻👩‍💻👨‍🎤👩‍🎤👨‍🎨👩‍🎨👨‍✈️👩‍✈️👨‍🚀👩‍🚀👨‍🚒👩‍🚒👮‍♂️👮‍♀️🕵️‍♂️🕵️‍♀️💂‍♂️💂‍♀️👷‍♂️👷‍♀️👳‍♂️👳‍♀️👱‍♂️👱‍♀️🎅🤶👸🤴👰🤵🤰👲🙍‍♂️🙍‍♀️🙎‍♂️🙎‍♀️🙅‍♂️🙅‍♀️🙆‍♂️🙆‍♀️💁‍♂️💁‍♀️🙋‍♂️🙋‍♀️🙇‍♂️🙇‍♀️🤦‍♂️🤦‍♀️🤷‍♂️🤷‍♀️💆‍♂️💆‍♀️💇‍♂️💇‍♀️🚶‍♂️🚶‍♀️🏃‍♂️🏃‍♀️💃🕺👯‍♂️👯‍♀️🕴🗣👤👥👫👬👭💏💑👪👨‍👩‍👧👨‍👩‍👧‍👦👨‍👩‍👦‍👦👨‍👩‍👧‍👧👨‍👦👨‍👦‍👦👨‍👧👨‍👧‍👦👨‍👧‍👧👩‍👦👩‍👦‍👦👩‍👧👩‍👧‍👦👩‍👧‍👧💪🤳👈👉☝️👆🖕👇🤞🖖🤘👊🖐👌👍👎👊🤛🤜🤚👋👏👐🙌🙏🤝💅👂👃👣👀👁👅👄💋💘💓💔💕💖💗💙💚💛💜🖤💝💞💟💌💤💢💣💥💦💨💫💬🗨🗯💭🕳👓🕶👔👕👖👗👘👙👚👛👜👝🛍🎒👞👟👠👡👢👑👒🎩🎓📿💄💍💎🐵🐒🦍🐶🐕🐩🐺🦊🐱🐈🦁🐯🐅🐆🐴🐎🦌🦄🐮🐂🐃🐄🐷🐖🐗🐽🐏🐑🐐🐪🐫🐘🦏🐭🐁🐀🐹🐰🐇🐿🦇🐻🐨🐼🐾🦃🐔🐓🐣🐤🐥🐦🐧🕊🦅🦆🦉🐸🐊🐢🦎🐍🐲🐉🐳🐋🐬🐟🐠🐡🦈🐙🐚🦀🦐🦑🦋🐌🐛🐜🐝🐞🕷🕸🦂💐🌸💮🏵🌹🥀🌺🌻🌼🌷🌱🌲🌳🌴🌵🌾🌿🍀🍁🍂🍃🍇🍈🍉🍊🍋🍌🍍🍎🍏🍐🍑🍒🍓🍅🥝🥑🍆🥔🥕🌽🌶🥒🍄🥜🌰🍞🥐🥖🥞🧀🍖🍗🥓🍔🍟🍕🌭🌮🌯🥙🥚🍳🥘🍲🥗🍿🍱🍘🍙🍚🍛🍜🍝🍠🍢🍣🍤🍥🍡🍦🍧🍨🍩🍪🎂🍰🍫🍬🍭🍮🍯🍼🥛🍵🍶🍾🍷🍸🍹🍺🍻🥂🍽🍴🥄🔪🏺🎃🎄🎆🎇🎈🎉🎊🎋🎍🎎🎏🎐🎑🎀🎁🎗🎟🎫🎖🏆🏅🥇🥈🥉🏀🏐🏈🏉🎾🎱🎳🏏🏑🏒🏓🏸🥊🥋🥅🎯🏌️‍♂️🏌️‍♀️🎣🎽🎿🏂🏄‍♂️🏄‍♀️🏇🏊‍♂️🏊‍♀️⛹️‍♂️⛹️‍♀️🏋️‍♂️🏋️‍♀️🚴‍♂️🚴‍♀️🚵‍♂️🚵‍♀️🏎🏍🤸‍♂️🤸‍♀️🤼‍♂️🤼‍♀️🤽‍♂️🤽‍♀️🤾‍♂️🤾‍♀️🤺🤹‍♂️🤹‍♀️🎮🕹🎲♠️♥️♦️♣️🃏🀄🎴🌍🌎🌏🌐🗺🏔⛰🌋🗻🏕🏖🏜🏝🏞🏟🏛🏗🏘🏙🏚🏠🏡🏢🏣🏤🏥🏦🏨🏩🏪🏫🏬🏭🏯🏰💒🗼🗽🕌🕍🕋🌁🌃🌄🌅🌆🌇🌉♨️🌌🎠🎡🎢💈🎪🎭🖼🎨🎰🚂🚃🚄🚅🚆🚇🚈🚉🚊🚝🚞🚋🚌🚍🚎🚐🚑🚒🚓🚔🚕🚖🚗🚘🚙🚚🚛🚜🚲🛴🛵🚏🛣🛤🚨🚥🚦🚧🛑🚣‍♂️🚣‍♀️🛶🚤🛳⛴🛥🚢✈🛩🛫🛬💺🚁🚟🚠🚡🚀🛰🛎🚪🛌🛏🛋🚽🚿🛀🛁⏱⏲🕰🕛🕧🕐🕜🕑🕝🕒🕞🕓🕟🕔🕠🕕🕡🕖🕢🕗🕣🕘🕤🕙🕥🕚🕦🌑🌒🌓🌔🌕🌖🌗🌘🌙🌚🌛🌜🌡☀️🌝🌞🌟🌠☁️⛈🌤🌥🌦🌧🌨🌩🌪🌫🌬🌀🌈🌂☂️☃️🔥💧🌊🔇🔈🔉🔊📢📣📯🔔🔕🎼🎵🎶🎙🎚🎛🎤🎧📻🎷🎸🎹🎺🎻🥁📱📲☎️📞📟📠🔋🔌💻🖥🖨⌨🖱🖲💽💾💿📀🎥🎞📽🎬📺📷📸📹📼🔍🔎🔬🔭📡🕯💡🔦🏮📔📕📖📗📘📙📚📓📒📃📜📄📰🗞📑🔖🏷💰💴💵💶💷💸💳💱💲📧📨📩📤📥📦📫📪📬📭📮🗳✏✒🖋🖊🖌🖍📝💼📁📂🗂📅📆🗒🗓📇📈📉📊📋📌📍📎🖇📏📐✂️🗃🗄🗑🔒🔓🔏🔐🔑🗝🔨⛏⚒🛠🗡⚔🔫🏹🛡🔧🔩⚙🗜⚗⚖🔗💉💊🚬⚰⚱🗿🛢🔮🔮🏧🚮🚰🚹🚺🚻🚼🚾🛂🛃🛄🛅⚠️🚸🚫🚳🚭🚯🚱🚷📵🔞☢☣⬆️↗️➡️↘️⬇️↙️⬅️↖️↕️↔️↩↪⤴️⤵️🔃🔄🔙🔚🔛🔜🔝🛐⚛🕉✡☸☯️☦☮🕎🔯🔀🔁🔂▶️⏭⏯◀️🔼🔽⏸⏹⏺⏏🎦🔅🔆📶📳📴♻️📛🔰🔱☑✔✖♀️♂️〽✳✴❇⁉️🔟💯🔠🔡🔢🔣🔤🅰️🆎🅱️🆑🆒🆓️ℹ🆔Ⓜ️🆕🆖🅾️🆗🅿️🆘🆙🆚🈁🈂🈷🈶🈯🉐🈹🈚🈲🉑🈸🈴🈳㊗㊙🈺🈵▫️◻◼🔶🔷🔸🔹🔺🔻💠🔘🔲🔳🔴🔵🏁🚩🏴🏳🏳️‍🌈⚀⚁⚂⚃⚄⚅⛾♾🇦🇨🇦🇩🇦🇪🇦🇫🇦🇬🇦🇮🇦🇱🇦🇲🇦🇴🇦🇶🇦🇷🇦🇸🇦🇹🇦🇺🇦🇼🇦🇽🇦🇿🇧🇦🇧🇧🇧🇩🇧🇪🇧🇫🇧🇬🇧🇭🇧🇮🇧🇯🇧🇱🇧🇲🇧🇳🇧🇴🇧🇶🇧🇷🇧🇸🇧🇹🇧🇼🇧🇾🇧🇿🇨🇦🇨🇨🇨🇩🇨🇫🇨🇬🇨🇭🇨🇮🇨🇰🇨🇱🇨🇲🇨🇳🇨🇴🇨🇷🇨🇺🇨🇻🇨🇼🇨🇽🇨🇾🇨🇿🇩🇪🇩🇯🇩🇰🇩🇲🇩🇴🇩🇿🇪🇨🇪🇪🇪🇬🇪🇭🇪🇷🇪🇸🇪🇹🇪🇺🇫🇮🇫🇯🇫🇰🇫🇲🇫🇴🇫🇷🇬🇦🇬🇧🇬🇩🇬🇪🇬🇫🇬🇬🇬🇭🇬🇮🇬🇱🇬🇲🇬🇳🇬🇵🇬🇶🇬🇷🇬🇸🇬🇹🇬🇺🇬🇼🇬🇾🇭🇰🇭🇲🇭🇳🇭🇷🇭🇹🇭🇺🇮🇨🇮🇩🇮🇪🇮🇱🇮🇲🇮🇳🇮🇴🇮🇶🇮🇷🇮🇸🇮🇹🇯🇪🇯🇲🇯🇴🇯🇵🇰🇪🇰🇬🇰🇭🇰🇮🇰🇲🇰🇳🇰🇵🇰🇷🇰🇼🇰🇾🇰🇿🇱🇦🇱🇧🇱🇨🇱🇮🇱🇰🇱🇷🇱🇸🇱🇹🇱🇺🇱🇻🇱🇾🇲🇦🇲🇨🇲🇩🇲🇪🇲🇬🇲🇭🇲🇰🇲🇱🇲🇲🇲🇳🇲🇴🇲🇵🇲🇶🇲🇷🇲🇸🇲🇹🇲🇺🇲🇻🇲🇼🇲🇽🇲🇾🇲🇿🇳🇦🇳🇨🇳🇪🇳🇫🇳🇬🇳🇮🇳🇱🇳🇴🇳🇵🇳🇷🇳🇺🇳🇿🇴🇲🇵🇦🇵🇪🇵🇫🇵🇬🇵🇭🇵🇰🇵🇱🇵🇲🇵🇳🇵🇷🇵🇸🇵🇹🇵🇼🇵🇾🇶🇦🇷🇪🇷🇴🇷🇸🇷🇺🇷🇼🇸🇦🇸🇧🇸🇨🇸🇩🇸🇪🇸🇬🇸🇭🇸🇮🇸🇰🇸🇱🇸🇲🇸🇳🇸🇴🇸🇷🇸🇸🇸🇹🇸🇻🇸🇽🇸🇾🇸🇿🇹🇦🇹🇨🇹🇩🇹🇫🇹🇬🇹🇭🇹🇯🇹🇰🇹🇱🇹🇲🇹🇳🇹🇴🇹🇷🇹🇹🇹🇻🇹🇼🇹🇿🇺🇦🇺🇬🇺🇳🇺🇸🇺🇾🇺🇿🇻🇦🇻🇨🇻🇪🇻🇬🇻🇮🇻🇳🇻🇺🇼🇫🇼🇸🇽🇰🇾🇪🇾🇹🇿🇦🇿🇲🇿🇼8<br/><br/><br/><br/>Sent from my Samsung Galaxy smartphone.</align>";

int font_size = 100;
void _button_clicked(void *data, Evas_Object *obj, void *event_info)
{
   APP *app = data;
   font_size = font_size - font_size/5;
   char buffer[100] = {0};
   sprintf(buffer, "DEFAULT='font=NotoColorEmoji font_size=%i color=red ellipsis=-1.0 wrap=mixed'", font_size);

   Evas_Textblock_Style *style = evas_textblock_style_new();
   evas_textblock_style_set(style, buffer);
   evas_object_textblock_style_set(app->tb1, style);
   evas_textblock_style_free(style);

   sprintf(buffer, "font_size = %i",font_size);
   elm_object_text_set(app->btnLoad, buffer);

   style = NULL;
}

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
  APP *app = calloc(1, sizeof(APP));
  Evas_Object *win, *scroller1, *scroller2, *box;

  elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

  win = elm_win_util_standard_add("", "");
  elm_win_autodel_set(win, EINA_TRUE);

  box = elm_box_add(win);
  evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
  evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
  scroller1 = elm_scroller_add(win);
  evas_object_size_hint_weight_set(scroller1, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
  evas_object_size_hint_align_set(scroller1, EVAS_HINT_FILL, EVAS_HINT_FILL);

  //evas_text_cache_policy_set(EVAS_TEXT_CACHE_POLICY_TEXTURE ,EVAS_TEXT_CACHE_NONE);

  app->tb1 = evas_object_textblock_add(win);
  Evas_Textblock_Style *style = evas_textblock_style_new();
  char buffer[100] = {0};
  sprintf(buffer, "DEFAULT='font=NotoColorEmoji font_size=%i color=red ellipsis=-1.0 wrap=mixed'", font_size);
  evas_textblock_style_set(style, buffer);
  evas_object_textblock_style_set(app->tb1, style);
  evas_textblock_style_free(style);
  style = NULL;

  int w,h;
  evas_object_textblock_text_markup_set(app->tb1, "");
  evas_object_size_hint_min_set(app->tb1, 360, 720);
  elm_object_content_set(scroller1, app->tb1);
  elm_box_pack_end(box, scroller1);
  elm_object_content_set(win, box);

  app->btnLoad = elm_button_add(win);
  sprintf(buffer, "font_size = %i",font_size);
  elm_object_text_set(app->btnLoad, buffer);
  evas_object_smart_callback_add(app->btnLoad, "clicked", _button_clicked, app);
  evas_object_show(app->btnLoad);
  evas_object_move(app->btnLoad, 0, 20);
  evas_object_resize(app->btnLoad, 150, 20);

  evas_object_textblock_text_markup_set(app->tb1, text);
  evas_object_textblock_size_formatted_get(app->tb1, &w, &h);
  evas_object_size_hint_min_set(app->tb1, 800, w/800 + h + 150);

  evas_object_resize(win, 800, 800);
  evas_object_show(box);
  evas_object_show(scroller1);
  evas_object_show(scroller2);
  evas_object_show(win);
  elm_run();

  return 0;
}
ELM_MAIN()
```

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

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8712

Differential Revision: https://phab.enlightenment.org/D11814
2020-05-29 10:10:28 +01:00
Taehyub Kim df06418b6f Support WebP Animation Image Files
Summary:
Support WebP Animate Format Imaeg Files.
To support webp animation, apply webp animation decoder.

Test Plan:
1. compile src/exmaple/elementary/image_webp_example_01.c and 02.c
2. run the samples

Reviewers: Hermet, kimcinoo, jsuya, bu5hm4n

Reviewed By: Hermet, kimcinoo, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11876
2020-05-29 11:40:37 +09:00
Ali Alzyod f88494aa2c efl_ui_textpath: reduce unneeded matrix calculations
Reviewers: woohyun, Hermet, bu5hm4n, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11904
2020-05-29 11:38:26 +09:00
Hermet Park 7c08852ba4 edje edje_cc: remove beta tag for vector part.
vector part has been used since 2014, now it's widely used in many cases.
let's remove the beta tag, it's mature using in svg.
2020-05-29 10:58:52 +09:00
Marcel Hollerbach f2e0ff9d00 build: add efl-canvasl-wl to efl-one
this is required by e, thank you Ross.

Differential Revision: https://phab.enlightenment.org/D11901
2020-05-28 13:16:00 +02:00
Marcel Hollerbach ee90510014 build: vg_common depends on evas internals
this must depend on the eo file targets, as they must be generated.

Differential Revision: https://phab.enlightenment.org/D11899
2020-05-28 13:11:02 +02:00
Marcel Hollerbach e1ea935dae build: split off static parts from external parts in evas
this way we can use that list easily in the modules, and keep the list
for later module building.

Differential Revision: https://phab.enlightenment.org/D11897
2020-05-28 13:09:23 +02:00
Marcel Hollerbach f6d20e1f96 build: make eina drag in the -lm flag
eina uses math.h we need to drag in this flag everywhere.

Differential Revision: https://phab.enlightenment.org/D11896
2020-05-28 13:03:39 +02:00
Marcel Hollerbach bb4d116534 build: rely on automatic pkg file generation for eina
this automatically brings it to efl-one, which makes this easier.

Differential Revision: https://phab.enlightenment.org/D11892
2020-05-28 12:52:58 +02:00
Yeongjong Lee 92455d42a0 efl_ui_bg: disable preloading of the internal image
Summary:
preloading is elm_image feature. it is better to disable preloading for elm_bg
becuase there is no way to disable preloading of internal image in elm_bg.
If API user want to use preloaded image, elm_image is recommended instead of
elm_bg.

Test Plan: elm_bg_file_set with big image.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11898
2020-05-28 16:17:59 +09:00
Shinwoo Kim ea531d1c4d evas_render: do not use mask of proxy source
Summary:
A mask of proxy source can be same with a mask of proxy source's child.
If source_clip is false, then the child object should not use the mask.

Test Plan: {F3888363}

Reviewers: Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11870
2020-05-28 10:42:53 +09:00
Carsten Haitzler c0e7f3a9c3 elput - fix #else path for minor 2020-05-27 16:24:46 +01:00
Carsten Haitzler 4aa29841f7 elput - it seems not everyone has major and minor macros defined
so handle those cases and provide some implementation for those,
otherwise use the macros.
2020-05-27 15:31:42 +01:00
Hosang Kim d6ce6a8cd5 ecore_wl2_window: copy available rotation info.
Summary:
ecore_wl2_window doesn't copy rotation information.
If passed pointer is destroyed, rotation information disappears.
So add memory allocating for managing information.

Reviewers: CHAN, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11891
2020-05-27 10:05:30 -04:00
Woochanlee 28d41f4e6c ecore_wl2: Fix event type name.
Summary: It's been missed commit 9ca13ef5c1

Reviewers: Hermet, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11889
2020-05-27 10:03:38 -04:00
Myoungwoon Roy, Kim 28cf881861 edje: fix memory leak in edje part recalculation.
Allocated part_array is only freed when _circular_dependency_find() is successful. It is not freed in other cases.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11886
2020-05-27 15:19:03 +02:00
Vincent Torri 3dad97ce32 Eina file test: use the correct Eina file object
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11885
2020-05-27 15:18:59 +02:00
Vincent Torri 4026c15956 Eina file test: on Windows, open cmd, not a shell
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11884
2020-05-27 15:18:57 +02:00
Marcel Hollerbach 0b08318117 build: add correct flags to efl-one.pc
they are required, and normally dragged in via eina.
2020-05-27 13:26:15 +02:00
Carsten Haitzler b1c65d4da7 build - fix deps for efl_canvas_wl to be able to build against efl 2020-05-27 11:45:41 +01:00
Marcel Hollerbach f5d3a2bf28 build: stop buildsystem from beeing a public dependency
this is wrong, each library should declare it on its own

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11883
2020-05-27 11:06:51 +02:00
Marcel Hollerbach 92b049b4d7 build: time for efl-one
this is building parts of efl into a single .so and links all modules
and binaries to it.

The libraries themselfs are build as .a's which are linked together as
.so's. Which is required as every subproject has its little custom
c_flags, which are somtimes conflicting.

After the final .so is then built, all the split up libraries are
replaced with the efl-one. After that the modules and binaries are built
correctly with the correct link on the efl-one parts.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11808
2020-05-27 11:06:48 +02:00
Marcel Hollerbach 8e3606698e refactor build
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.

this is preparation work for efl-one.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
2020-05-27 11:06:46 +02:00
Hermet Park 89e34f351e efl gfx_path: fix memory leak.
his reverts commit 38be95b0b6.

The reverting patch blocks efl_canvas_vg_shape triggers efl_canvas_vg_node destructor.

That occurs massive leaks among the all nodes in the vector tree.

To fix the origin issue, we must reset path explicitly in the derived class.

@fix
2020-05-27 15:36:47 +09:00
Subhransu Mohanty 11cbb5ae93 edje: fix memory leak by freeing the limits pointer.
Summary:
This limit parts are only used in naviframe edc thats why it is
only showing up in naviframe test app.

Reviewers: Jaehyun_Cho, Hermet

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11887
2020-05-27 14:55:44 +09:00
Woochanlee eb38000e3d edje_load : clean up vector resource when edje file freed.
Summary: Fix memory leak.

Reviewers: cedric, Hermet, smohanty, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11859
2020-05-27 12:32:12 +09:00
Subhransu Mohanty ed167716b6 edje: Fix memory leak by freeing the filter data.
Reviewers: Hermet, CHAN

Reviewed By: CHAN

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11879
2020-05-27 12:31:35 +09:00
Christopher Michael f240a528dd ecore-evas-wayland: Fix unused variables
Patch 09ab8c9967 added code to printf wl client animation
ticks, however the line that actually does the printing is commented
out (which is fine) but the variables used in that printf are not
needed if we are not printing things out
2020-05-26 14:51:53 -04:00
Christopher Michael 6f68a9d892 ecore-wl2: Remove unused variables
Patch d584696f12 remove the unmapping of subsurfaces on window
hide, however the variables were left declared so remove those
2020-05-26 14:49:32 -04:00
Christopher Michael b655111c6d ecore-wl2: Fix build break from patch 9ca13ef5c1
Above commit caused a build break from a missing comma ... Sole blame
falls on the reviewer for not doing a build test ... bad me ;)
2020-05-26 14:47:56 -04:00
Woochanlee 9ca13ef5c1 ecore_wl2 : Organize window creation/deletion events.
Summary:
Add create / destroy events.
Call hide event when the window terminated if the window was visible.

Reviewers: devilhorns, Hermet, raster

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11878
2020-05-26 11:49:16 -04:00
Shinwoo Kim d584696f12 ecore_wl2_window: do not unmap subsurface in hide
Summary:
If window_hide should unmap subsurface, then window_show should re-map
the unmapeed subsurface. I have no idea why window_hide unmap all subsurfs.

Reviewers: zmike, devilhorns

Reviewed By: zmike, devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11869
2020-05-26 11:49:07 -04:00
Ali Alzyod b1a94e45a7 evas_textblock: fix doc typo
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11845
2020-05-26 16:03:51 +02:00
Stefan Schmidt 7e2ae1e7e3 build: disable leak detection in address sanitizer build for tests as well
Summary:
The same principle we use for the build stage we use here for running
our tests. Leak detection has just to many problems for us on the
shutdown path that it makes no sense to use here.

I am also bumping the evas timeout form the default 30s to 60 as I have
been running into timeouts with asan enabled on my machine. This would
not change anything on a default build.
Depends on D11137

Reviewers: smohanty, bu5hm4n, raster, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11862
2020-05-26 09:54:57 -04:00
Marcel Hollerbach a7a020dff5 ecore_main_timechanges: fix include
we should not prefix this with the full path.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11881
2020-05-26 14:22:30 +02:00
Carsten Haitzler 1cca032b55 evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
i noticed some junk in framespace... this happesn when solid objects
are outside the normal window content area and their solid areas are
not clipped to this inner frame area thus those areas are not "zeroed
out" next render.

@fix
2020-05-26 12:19:17 +01:00
Hermet Park f917a389b2 canvas vg: fix vector file data memory leak.
this file data must be freed when eet file is closed.

@fix
2020-05-26 18:48:39 +09:00
Hermet Park 9fbdb02240 evas vg: clean up dangling instances
unref containers when file is closed.

@fix
2020-05-26 18:41:29 +09:00
Marcel Hollerbach 3ec1101652 Merge efreet_mime efreet_trash into efreet
efreet_mime and efreet_trash are now included in libefreet.so. There are
compatible libs for libefreet_mime.so libefreet_trash.so, which simple
drag in libefreet.so. .pc files also are in place for compatibility.

efreet_init & shutdown now initializes and shutdowns trash and mime.
The old init functions now simply call efreet_init, efreet_init will
then init the trash or mime libs.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11807
2020-05-26 10:15:30 +02:00
Stefan Schmidt b135341961 lib: add more c_args handling for places we missed before
These meson files did not have the c_args handling before. Make sure we
use package_c_args here as well.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11860
2020-05-26 10:15:27 +02:00
Stefan Schmidt 935c17c655 build: modules: harmonize use of package_c_args
Adding it to all missing places so we can control it from the central
meson.build file.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11855
2020-05-26 10:15:24 +02:00
Stefan Schmidt 3ca9d72825 build: lib: harmonize the use of package_c_args in all libs
Add it to subprojects which are not using it and remove and old
ELEMENTARY_BUILD define we no longer use. This allows us to have a
central place in the main meson.build file to set this variable.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11854
2020-05-26 10:15:21 +02:00
Stefan Schmidt 59127058af benchmarks: use EFL_BUILD=1 in c_args
Original patch by Vincent Torri.

Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11853
2020-05-26 10:15:17 +02:00
Hermet Park 532e8056c6 canvas vg: fix dangling vector containers.
These duplicated containers are not going removed
since its refernece is always more than 0.

We need to unref explicity when they have to

@fix
2020-05-26 16:21:24 +09:00
Hermet Park 461a709e7f edje: fix animation memory leak.
if object is destructed on canvas animation,
its internal resource is leaked.

Here simple fix brings stopping animation before deleting obj.

@fix
2020-05-26 14:42:06 +09:00
Stefan Schmidt c0c5bc71c5 libs: headers: ensure we include headers in the correct order for EAPI
We need to ensure this order to make sure EAPI is working correctly on
windows.

Original patch by Vincent Torri.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2020-05-25 16:03:31 +02:00
Stefan Schmidt 4b5abd151c benchmark: fix ident in meson.build file
Use two spaces indent as in other files.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2020-05-25 16:02:08 +02:00
Stefan Schmidt d767097005 build: set DLL_EXPORT when on a windows system
No need to have this elementary specific, we can do this globally.

Original patch by Vincent Torri.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2020-05-25 15:58:29 +02:00
Carsten Haitzler 3b39cb9472 eina - dont use SCHED_BATCH or SCHED_IDLE unless they are defined 2020-05-25 10:28:11 +01:00
Taehyub Kim 0b96e63f82 ecore_evas_wayland_common: keep the backword compatibility for wayland dnd handler
Keep the backword compatibility for wayland ECORE_WL2_EVENT_DATA_SOURCE_END event handler.
If we don't use this handler, the dnd is not ended when the drop item is dropped.
@fix

Reviewed-by: Christopher Michael <devilhorns@comcast.net>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11846
2020-05-25 11:16:41 +02:00
Marcel Hollerbach 9f7c518a20 elm_dnd: do not register widgets twice
we have to support none widgets, but we should not register widgets
twice because of that.

Differential Revision: https://phab.enlightenment.org/D11877
2020-05-25 11:16:38 +02:00
Shinwoo Kim 104caf0514 evas image: reload after alpha_set
Summary:
The alpha_set cancels preload, and do not try to load it again.
So the image is not showing, if the alpha_set is called while preloading.

[Sample]
   Evas_Object *image = elm_image_add(box);
   elm_box_pack_end(box, image);
   evas_object_show(image);

   elm_image_file_set(image, "img.png", NULL);     // start preloading

   Evas_Object *eimg = elm_image_object_get(image);
   evas_object_image_alpha_set(eimg, EINA_TRUE);   // cancel preloading

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11864
2020-05-25 14:48:31 +09:00
Vincent Torri bf65520a42 elm test: include evil_private.h to declare realpath() on Windows
Reviewers: raster, zmike

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11872
2020-05-23 15:00:56 +01:00
Vincent Torri 68bb283c58 ecore_evas: fix uninitialized variable warning
Test Plan: compilation

Reviewers: raster, zmike

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11871
2020-05-23 14:55:53 +01:00
Carsten Haitzler 9acfa1988b ecore - another systemd header - go away. don't need it now. 2020-05-23 09:41:38 +01:00
Carsten Haitzler 09ab8c9967 ecore evas - tick printf debugs - disabled right now so no noise
this is here so it can be turned on and off to see what's happening
with ticking and tick latency
2020-05-23 09:34:57 +01:00
Carsten Haitzler 4a88067b2e ecore-x : move x vsync device back to mainloop from thread
after i noticed some jitters, it seesms one thread to listen for vsync
events then to wake up the mainloop can suffer from irregular
scheduling jitters. it seems to be highly depenedent on both gpu
driver and cpu but it seemed the vsync thread itself was more reliably
woken than the mainlooop it then signalled, so merging this back is
just batter. it's configurable via an environment variable so we can
try either right now and see, but default is now to be in main loop.
2020-05-23 09:34:57 +01:00
Carsten Haitzler a555fbf769 ecore thread - feedback threads should not be background threads...
if try_no_queue is used - its a thread that clearly wantt to be out of
the queue to run on its own so probably wants to wake up accurately
and thus not be a backgroun rpriority task but and urgent one. ensure
we set up priority accordingly as we didn't before. this should fix
scheduling when under load for vsync

@fix
2020-05-23 09:34:57 +01:00
Carsten Haitzler 859faad17b ecore-x expose some debug times like the exact time the vsync woke
this is for finding and eliminating jank in the vsync scheduling etc.
- as its underscore it's clearly a private api.
2020-05-23 09:34:57 +01:00
Carsten Haitzler 6096779ede ecore - expose "hidden" internal api for debugging to get wakeup time
get the real time at which main loop woke up for purposes of debugging
and finding jank/scheduling jitter.
2020-05-23 09:34:57 +01:00
Taehyub Kim 375a060a07 evas_vg_container: return NULL in evas_vg_container_add when the parent of container is NULL
Summary:
evas_vg_container should return NULL when the parent is NULL
because the function does not allot NULL parent
@fix

Reviewers: kimcinoo, jsuya, Hermet

Reviewed By: kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11867
2020-05-22 12:23:46 +09:00
Daniel Kolesa a928dba502 elua: prepare for compatibility with cffi-lua (use ffi.nullptr)
This is necessary because the LuaJIT FFI implements the null
pointer to nil equality behavior, which is not possible to
do in standard Lua (as equality metamethod needs identical types
to trigger).

So replace it with ffi.nullptr as cffi-lua implements; in luajit
ffi.nullptr will just become nil and it'll work like before.
2020-05-21 17:45:43 +02:00
Daniel Kolesa a7d475be47 elua: remove old lua bindings generator 2020-05-21 17:29:23 +02:00
Hosang Kim c493e80c21 elm_genlist/elm_gengrid: fix memory leak caused by efl_wref_del.
Summary:
efl_wref_del makes pointer to NULL.
So we should copy pointer before efl_wref_del is called.

Reviewers: SanghyeonLee, cedric

Reviewed By: SanghyeonLee

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11866
2020-05-21 18:37:27 +09:00
Subhransu Mohanty f9a108c51a meson: Changed meson build to support address sanitizer build
As we run some intermediate binary like edje_cc during efl build , and due to
those binary has some memory leaks the address sanitizer build of efl fails.
This Patch runs those binary with 'ASAN_OPTIONS=detect_leak=false' to disable the
memory leak check for those binaries.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11137
2020-05-20 12:32:31 +02:00
Yeongjong Lee a227b83f41 efl_ui_layout: remove group_calcualte to respect legacy min size
Summary:
For legacy elm_layout, the size should be calculated based on
`hint_size_combined_min` instead of `hint_size_min` in the group_calculate.

Also, `_efl_ui_layout_efl_canvas_group_group_calculate` is unnecessary because
it is added to allow finger size policy differentiation between inherited layout
and layout object (see also, 46cf288d32), however,
it can be set by `finger_size_multiplier` proeprty in constructor.

Test Plan:
Check `evas_object_size_hint_min_set` is respected.

layout_example.c
```
//Compile with:
//edje_cc layout_example.edc &&  gcc -g layout_example.c -o layout_example `pkg-config --cflags --libs elementary`
#include <Elementary.h>

EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
   Evas_Object *win, *layout, *box;

   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);

   win = elm_win_util_standard_add("layout", "Layout");
   elm_win_autodel_set(win, EINA_TRUE);

   box = elm_box_add(win);
   evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_show(box);
   elm_win_resize_object_add(win, box);

   layout = elm_layout_add(box);
   evas_object_size_hint_min_set(layout, 300, 200);
   elm_layout_file_set(layout, "./layout_example.edj", "mylayout");
   evas_object_show(layout);
   elm_box_pack_end(box, layout);

   evas_object_resize(win, 300, 300);
   evas_object_show(win);

   elm_run();

   return 0;
}
ELM_MAIN()
```

layout_example.edc
```
collections {
   group {
      name: "mylayout";
      parts {
         part {
            name: "bg";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 100 190 100 255;
            }
         }
         part {
            name: "mytext1";
            type: TEXT;
            description {
               state: "default" 0.0;
               text {
                  size: 30;
                  text: "my text1";
                  min: 1 0;
               }
               color: 0 255 0 255;
               rel1.relative: 0.0 0.0;
               rel2.relative: 1.0 0.3;
            }
         }
      }
      parts {
         part {
            name: "mytext2";
            type: TEXT;
            description {
               state: "default" 0.0;
               text {
                  size: 30;
                  text: "my text2";
                  min: 1 0;
               }
               color: 0 255 255 255;
               rel1.relative: 0.0 0.3;
               rel2.relative: 1.0 0.6;
            }
         }
      }
   }
}
```

Reviewers: zmike, Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11858
2020-05-20 16:36:15 +09:00
Carsten Haitzler 0332991a4d ecore-x - ensure we fully look at all xkb events and refresh all binds
this ensures for sure that we rebind known key/mouse grabs too for xkb
mapping changes and force a get of the keymaps too

@fix
2020-05-19 18:45:17 +01:00
Vincent Torri 86f1e6a00c evas: gesture_manager: fix usage of long on Windows
On Windows 64bits, long is a 4 bytes type. Declare count as being a intptr_t instead of long

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11836
2020-05-19 13:58:59 +02:00
Vincent Torri 3230c8de9f tests: eina: fix usage of long on Windows
On Windows 64bits, long is a 4 bytes type. Declare i as being a uintptr_t instead of unsigned long

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11837
2020-05-19 13:58:57 +02:00
Vincent Torri d08d26f19f ecore_con: Fix unused argument warning
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11849
2020-05-19 13:58:54 +02:00
Shinwoo Kim 7b21b6fb97 evas: do not call evas_object_change in reneder_post
Summary:
evas_render_updates_internal > eina_array_remove is calling pending_change
pending_change > render_post could call evas_object_change >
evas_render_object_recalc.

The eina_array is removing its item from pending_objects, while
the evas_object_change that is calling evas_render_object_recalc is adding
item to pending_objects.

As a result, the pending_objects.count is incorrect, and it breaks render.

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11835
2020-05-19 13:14:30 +09:00
Wonki Kim 633202a0f9 ecore_anim: rework bezier curve function
Summary:
current cubic bezier function isn't accurate at sometime.
to make it more accurate, this patch rework bezier curve
by using a cardano's algorithm.
(refer to https://pomax.github.io/bezierinfo/)

Reviewers: Hermet, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11819
2020-05-19 13:05:11 +09:00
Shinwoo Kim 9c0484c9cb png: handle file name .9.png
Summary: .9.png is not 9 patch file, but a png file which name is .9

Test Plan: evas_object_image_file_set(image, "./.9.png", NULL);

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11848
2020-05-19 11:57:56 +09:00
Christopher Michael 93cddac02d elput: Rmove empty pub_eo_file_target in meson.build 2020-05-18 11:48:08 -04:00
Christopher Michael ce04ff02cf elput: Fix formatting
NB: No functional changes
2020-05-18 11:26:34 -04:00
Christopher Michael ef733d2035 ecore-evas-drm: Remove duplicate config set in meson.build file 2020-05-18 11:24:48 -04:00
Christopher Michael 783e990819 ecore-evas-wayland: Fix formatting according to coding conventions
"80 column code whenever possible - Wrap longer lines where required."

NB: No functional changes
2020-05-18 09:58:43 -04:00
Carsten Haitzler 63b5d81983 Revert "Fix EAPI definition by defining EFL_BUILD for each built DLL"
This reverts commit 3ade45cbc8.
2020-05-18 11:13:59 +01:00
Carsten Haitzler 3f0fad79b6 elgind - it's apparently libelogind-shared ... 2020-05-18 11:13:22 +01:00
Carsten Haitzler 43f5b271e4 ecore - systemd - missed an ifdef for sytemd disable 2020-05-18 10:27:55 +01:00
Vincent Torri 3ade45cbc8 Fix EAPI definition by defining EFL_BUILD for each built DLL
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported

Test Plan: compilation

Reviewers: zmike, raster, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11834
2020-05-18 09:51:48 +01:00
Carsten Haitzler fe56edae3f systemd - make libsystemd use/supprot entirely runtime "dlopened"
so i've moved all systemd and elogind support to be runtime only with
dlopen (eina_module) of libsystemd.so.0 (or libelogind.so.0 for elput)
and finding of symbols manually at runtime (if the right code paths or
env vars are set), thus remvoing the need to decide at compile time if
efl needs systemd support or not as it no longer needs systemd
headers/libs at compile time and just at runtime. this simplifies
building a bit and makes efl more adaptive to the final target system
at runtime.
2020-05-18 09:36:55 +01:00
WooHyun Jung f026000c1e efl_ui_image: fix to call "clicked" smart callback when there is no img
Summary:
Some applications have used "clicked" smart callback from elm_image which
does not have an image in it.
To keep backward compatibility, hit_rect needs to be resized properly to
call smart callback function.

@fix

Reviewers: Hermet, jsuya, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11840
2020-05-18 12:39:59 +09:00
Christopher Michael ca169ec715 ecore-drm2: Add missing params for doxygen 2020-05-15 10:50:37 -04:00
Christopher Michael f3c4692221 ecore-drm2: Add API function to return default depth
Rather than hard-coding depth & bpp in the evas drm engines, we can
use this function to return the default depth & bpp.

@feature
2020-05-15 10:45:56 -04:00
Taehyub Kim 5f654404d0 evas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL
Summary:
evas_vg_shaep_add should returned NULL when the parent is NULL
because the function does not allow the NULL parent.
@fix

Reviewers: jsuya, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11839
2020-05-15 18:09:51 +09:00
Mike Blumenkrantz cf94110b04 elm: refactor legacy _icon_signal_emit
Summary:
this was duplicated for a number of widgets in slightly different ways,
so it can be unified as a private layout function to reduce maintenance
costs

Reviewers: Hermet, YOhoho, Jaehyun_Cho, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11818
2020-05-13 10:02:36 -04:00
junsu choi 6a14507edc edje_calc: Add unload file for already loaded vector lottie file.
Summary:
Users can use multiple jsons per description in one part in edc.
At that time, multiple files are loaded,
if a file is already loaded, it must be unloaded.

Test Plan:
edje_cc -beta -id ./ json_edc.edc
make
./test
Push Change button -> shutdown application

{F3882716}

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11820
2020-05-13 21:58:17 +09:00
Hermet Park 4dbb78ee9b Revert "canvas render: don't apply mask if the objects in the map."
This reverts commit eaafb9e4c5.

Found some regression bugs. revert it.
2020-05-13 16:53:45 +09:00
junsu choi feccff1ca7 Efl.Ui.Radio_Legacy: Prevent unnecessary signal emit for contents
Summary:
When call elm_radio_add, theme_apply of layout is called and
_efl_ui_radio_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan:
Evas_Object *bt;
clock_t start, finish;
double sum= 0 ;
double avg = 0;
double cnt = 1000;

for(int i =0 ; i<(int)cnt; i++)
  {
     start = clock();
     bt = elm_radio_add(win);
     finish = clock();
     sum += (double)(finish-start)/CLOCKS_PER_SEC;
  }
avg = sum / cnt ;
printf("radio avg : %f\n",avg);

[before]
radio avg : 0.000232

[after]
radio avg : 0.000197

Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike

Reviewed By: zmike

Subscribers: bu5hm4n, zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11813
2020-05-12 11:21:01 -04:00
junsu choi 183fa33fd0 Efl.Ui.Check_Legacy: Prevent unnecessary signal emit for contents
Summary:
When call elm_check_add, theme_apply of layout is called and
_efl_ui_check_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan: N/A

Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11812
2020-05-12 11:21:01 -04:00
junsu choi 789b363983 Efl.Ui.Progressbar_Legacy: Prevent unnecessary signal emit for contents
Summary:
When call elm_progressbar_add, theme_apply of layout is called and
_efl_ui_progressbar_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
this call is unnecessary.

Test Plan: N/A

Reviewers: Hermet, bowonryu, Jaehyun_Cho, YOhoho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11811
2020-05-12 11:21:01 -04:00
junsu choi 67bf9eae6c Efl.Ui.Button_Legacy: Prevent duplicate signal emit of contents
Summary:
When call elm_button_add, theme_apply of layout is called and
_efl_ui_button_legacy_efl_ui_widget_theme_apply is called.
Then it calls the signal emit for the icon.
In the button theme, the default of the icon is hidden,
so this call is unnecessary.

Test Plan:
Evas_Object *bt;
clock_t start, finish;
start = clock();
bt = elm_button_add(win);
finish = clock();
printf("duration : %f\n", (double)(finish-start)/CLOCKS_PER_SEC);

Evas_Object *bt;
clock_t start, finish;
double sum= 0 ;
double avg = 0;
double cnt = 1000;

for(int i =0 ; i<(int)cnt; i++)
  {
     start = clock();
     bt = elm_button_add(win);
     finish = clock();
     sum += (double)(finish-start)/CLOCKS_PER_SEC;
  }
avg = sum / cnt ;
printf("button avg : %f %f\n",avg, sum);

[before]
button avg : 0.000215

[after]
button avg : 0.000138

Reviewers: Hermet, YOhoho, Jaehyun_Cho, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11810
2020-05-12 11:21:01 -04:00
Mike Blumenkrantz ef3a09499f build: fix void* use in pointer maths
Summary:
void* is an invalid type for calculating pointer offsets, so ensure that
this is always cast to something else (e.g., char*) in the few cases
where it's been misused

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11816
2020-05-12 16:55:59 +02:00
Mike Blumenkrantz 500e762d64 static/triangulator: resolve float compare warnings
Summary: Depends on D11798

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11799
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz b4749dc6ab edje: resolve float compare warnings
Summary: Depends on D11797

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11798
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz 06258d3177 exactness: resolve float compare warnings
Summary: Depends on D11796

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11797
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz d5b119a30a examples: resolve float compare warnings
Summary: Depends on D11795

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11796
2020-05-12 16:10:02 +02:00
Mike Blumenkrantz e893d1ab7e evas/gl: resolve float compare warnings
Summary: Depends on D11794

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11795
2020-05-12 16:10:02 +02:00