platform/upstream/efl.git
4 years agoevas stack: ++safe code. 71/235871/1
Hermet Park [Wed, 10 Jun 2020 11:30:19 +0000 (20:30 +0900)]
evas stack: ++safe code.

null check to prevent any crashes (just in case)

Change-Id: Ic77a2c785feba9be32eb1460439f4c3315087e07

4 years agoui textpath: updated doc. 38/235838/1
Hermet Park [Wed, 10 Jun 2020 06:49:49 +0000 (15:49 +0900)]
ui textpath: updated doc.

Change-Id: I562734a64b5ad8f371c1952a996a80f54a05e0c7

4 years agoefl_ui_textpath: add the efl_ui_textpath_text_user_style_set API for applying the... 37/235837/1
Taehyub Kim [Wed, 10 Jun 2020 06:39:03 +0000 (15:39 +0900)]
efl_ui_textpath: add the efl_ui_textpath_text_user_style_set API for applying the user text style

Summary:
For the text style customizing, added the new API to apply user text style.
The following example is the user style sample.

DEFAULT='font_size=16 color=#F00 underline=on underline_color=#00ffff'";

{F3899541}

Test Plan:
1. run elementary_text (textpath)
2. toggle user style check box
3. see the result

Reviewers: Hermet, kimcinoo, jsuya, bu5hm4n

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ia3a182aebadcad24383c3021e358d4e40e5e9515

4 years agomono: update window construction submit/tizen/20200609.215559
Marcel Hollerbach [Tue, 9 Jun 2020 10:09:25 +0000 (12:09 +0200)]
mono: update window construction

they simply missed parameters here

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11954

4 years agoci: travis: disable the webp loader on CI builds for now
Stefan Schmidt [Tue, 9 Jun 2020 07:11:52 +0000 (09:11 +0200)]
ci: travis: disable the webp loader on CI builds for now

With the bump of the needed libwebp version to 1.1.0 we have have our
Debian and Ubuntu builds failing with a to old version. Disable by
default in CI for now and check back later.

4 years agoefreet - handle runtime relocation right with default XDG_DATA_DIRS
Carsten Haitzler (Rasterman) [Tue, 9 Jun 2020 09:13:04 +0000 (10:13 +0100)]
efreet - handle runtime relocation right with default XDG_DATA_DIRS

XDG_DATA_DIRS was only set up to a default including where efl was
installed prefix-wise as the compiled-=in prefix, not runtime
determined prefix. it shouldn't actually affect most people except
those making use of this.

@fix

4 years agoeina - prefix - use smaller buffers for building strings
Carsten Haitzler (Rasterman) [Sun, 7 Jun 2020 00:33:43 +0000 (01:33 +0100)]
eina - prefix - use smaller buffers for building strings

use less stack space but no features as buffers are big enough for all
content used or alloca'd now.

4 years agoeina - abstratc content - smaller stack buffer for limited size string
Carsten Haitzler (Rasterman) [Sun, 7 Jun 2020 00:28:18 +0000 (01:28 +0100)]
eina - abstratc content - smaller stack buffer for limited size string

no need for a 4k buffer when 128 bytes will be plenty - short string.

4 years agoefl_ui_win: declare constructors not optional
Marcel Hollerbach [Sat, 18 Apr 2020 17:43:11 +0000 (19:43 +0200)]
efl_ui_win: declare constructors not optional

they cannot be optional, or in later languages types will collide.

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

4 years agocxx: Fix uses of intrinsic eolian binbuf type
Felipe Magno de Almeida [Mon, 8 Jun 2020 21:05:49 +0000 (18:05 -0300)]
cxx: Fix uses of intrinsic eolian binbuf type

Add special binbuf and Eina_Strbuf conversions

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

4 years agoeo-files: convert all Eina.Strbuf & Eina.Binbuf
Marcel Hollerbach [Sun, 19 Apr 2020 13:14:12 +0000 (15:14 +0200)]
eo-files: convert all Eina.Strbuf & Eina.Binbuf

these structs should not be used, but rather the builtin types that
exist for it.

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

4 years agodotnet: Ignore Efl.Object.parent as constructor
Felipe Magno de Almeida [Mon, 8 Jun 2020 21:32:22 +0000 (18:32 -0300)]
dotnet: Ignore Efl.Object.parent as constructor

In C# we already have Efl.Object.parent as an implicit constructor. Ignore it if it is marked as a constructor.

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

4 years agoeo: make the parent a optional constructor
Marcel Hollerbach [Sun, 19 Apr 2020 19:34:17 +0000 (21:34 +0200)]
eo: make the parent a optional constructor

this is needed in order to sanely bind parent calls to some objejcts,
but not all.

However, from the canvas structure up we *need* a parent, so we can
fetch the evas from it. So declare it there a none optional

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

4 years agoRevert "ci: disable wepb loader until we have a change to update the mingw cross...
Stefan Schmidt [Tue, 9 Jun 2020 07:43:57 +0000 (09:43 +0200)]
Revert "ci: disable wepb loader until we have a change to update the mingw cross env"

This reverts commit 63b1334e2c98f0c0f08801ce77d66f372e7abb30.

No longer needed as we have updated the mingw image to have 1.1.0
available.

4 years agoevas_vg_cache: Don't caching vg file if value_provider is applied.
JunsuChoi [Tue, 9 Jun 2020 01:57:20 +0000 (10:57 +0900)]
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

4 years agoevas_common_font: release reallocated glyphs bitmaps data
Ali Alzyod [Tue, 9 Jun 2020 01:25:10 +0000 (10:25 +0900)]
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

4 years agodoxygen docs: Fix API reference group to Ecore_Eo and eina_vector 03/235703/1
Myoungwoon Roy, Kim [Tue, 9 Jun 2020 05:08:11 +0000 (14:08 +0900)]
doxygen docs: Fix API reference group to Ecore_Eo and eina_vector

Change-Id: Ic20831f0db719f935dbf4e7421c70f7c4cdbd5cb

4 years agoelementary/example: Fix memory leak in gengrid test accepted/tizen/unified/20200610.015600 submit/tizen/20200608.220424
Subhransu Mohanty [Mon, 8 Jun 2020 11:28:14 +0000 (20:28 +0900)]
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

4 years agoecore_ipc: Fix memory leak
Subhransu Mohanty [Mon, 8 Jun 2020 11:27:42 +0000 (20:27 +0900)]
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

4 years agocanvas gl: remove out-dated compiler keywords
Hermet Park [Mon, 8 Jun 2020 10:46:31 +0000 (19:46 +0900)]
canvas gl: remove out-dated compiler keywords

4 years agoexactness: record and print test time on success
Stefan Schmidt [Thu, 4 Jun 2020 10:52:07 +0000 (12:52 +0200)]
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

4 years agoci: travis: add more fold and timing markers in some forgotten places
Stefan Schmidt [Tue, 2 Jun 2020 14:03:00 +0000 (16:03 +0200)]
ci: travis: add more fold and timing markers in some forgotten places

In teh initial patch we forgot some interesting places we also want to
fold and get timing info on. Dependency installation, cross native build
step, coverity tools download and codecov run.

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

4 years agoci: simplify ccache setup handling
Stefan Schmidt [Thu, 4 Jun 2020 13:19:47 +0000 (15:19 +0200)]
ci: simplify ccache setup handling

We no longer need the special case for release ready. This was needed
for the way autotools setup directories, which we no longer use. (We are
not having a config.log anymore)

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

4 years agoci: disable wepb loader until we have a change to update the mingw cross env
Stefan Schmidt [Mon, 8 Jun 2020 07:10:51 +0000 (09:10 +0200)]
ci: disable wepb loader until we have a change to update the mingw cross env

We now need webp 1.1.0 and our current mingw cross env only has 1.0.2.
Disable to keep CI working while we update.

4 years agowebp: add version check in configuration time
WooHyun Jung [Mon, 8 Jun 2020 02:03:07 +0000 (11:03 +0900)]
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

4 years agoeldbus: fix the data size issue.
Hermet Park [Mon, 8 Jun 2020 02:00:26 +0000 (11:00 +0900)]
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

4 years agoevas gl - tune gl engine to use a bit less cpu overhead 57/235657/2
Carsten Haitzler (Rasterman) [Tue, 2 Jun 2020 10:39:06 +0000 (11:39 +0100)]
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

Change-Id: Id102255c532ec7d116ca9a4d45f18ad69cde3829

4 years agoui scroller: fix broken scroller loop 08/235608/2
Hermet Park [Mon, 8 Jun 2020 05:00:04 +0000 (14:00 +0900)]
ui scroller: fix broken scroller loop

image is streched since proxy fill/region size is mismatched

this is a regression bug introduced by 76b89b8e49f4b16ad490c04134a9bdddea27950f

Change-Id: I1eb4de61e6a5e080a2f350de30cb76d1db575429

4 years agoci: drop lua from default binding set as elua is off by default accepted/tizen/unified/20200608.214808 submit/tizen/20200608.010949
Daniel Kolesa [Sat, 6 Jun 2020 21:29:23 +0000 (23:29 +0200)]
ci: drop lua from default binding set as elua is off by default

4 years agobuild: disable elua by default, plus nicer detection
Daniel Kolesa [Sat, 6 Jun 2020 17:09:21 +0000 (19:09 +0200)]
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

4 years agoemotion: remove all left overs from removed backends
Stefan Schmidt [Fri, 24 Apr 2020 07:35:31 +0000 (09:35 +0200)]
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

4 years agobuild: do not publish surface .eo files
Marcel Hollerbach [Thu, 4 Jun 2020 08:23:29 +0000 (10:23 +0200)]
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

4 years agoevas: correctly declare filter_internal as public API
Marcel Hollerbach [Thu, 4 Jun 2020 08:03:44 +0000 (10:03 +0200)]
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

4 years agoedje: markup flag should be TRUE in legacy edje_object_part_text_set
Bowon Ryu [Fri, 5 Jun 2020 05:26:22 +0000 (14:26 +0900)]
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

4 years agoevas - genetic update regions smart merge - merge v adjacent regions
Carsten Haitzler (Rasterman) [Thu, 4 Jun 2020 19:25:46 +0000 (20:25 +0100)]
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

4 years agoevas render - add debug to draw boxes around update regions
Carsten Haitzler (Rasterman) [Thu, 4 Jun 2020 19:23:13 +0000 (20:23 +0100)]
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

4 years agotiler - add maxreg for newtiler - not used atm but matches current
Carsten Haitzler (Rasterman) [Thu, 4 Jun 2020 19:22:03 +0000 (20:22 +0100)]
tiler - add maxreg for newtiler - not used atm but matches current

4 years agoatspi: return proxy object 52/233952/3
Bartlomiej Grzelewski [Wed, 20 May 2020 09:12:38 +0000 (11:12 +0200)]
atspi: return proxy object

Proxy objects were never returned by function because
they do not have x,y,w,h coordinates.

Change-Id: I237e63b6da3bd345f74e92c9e135bb9ff8d17599

4 years agoelm_poup_eo.legacy.h: modify Elm_Popup_Group to Elm_Popup 30/235530/1
Taehyub Kim [Fri, 5 Jun 2020 08:14:13 +0000 (17:14 +0900)]
elm_poup_eo.legacy.h: modify Elm_Popup_Group to Elm_Popup

Change-Id: I4a49df80c7a92ba388683cb7f96ecbb6666fdf24

4 years agoneed to upgrade meson. it looks like older ones have trouble
Carsten Haitzler (Rasterman) [Thu, 4 Jun 2020 11:00:52 +0000 (12:00 +0100)]
need to upgrade meson. it looks like older ones have trouble

like adding endless: -lm -ldl -lm -ldl ....

4 years agoelm test - animated icon - big win to have a bg and not garbage
Carsten Haitzler (Rasterman) [Tue, 2 Jun 2020 10:37:37 +0000 (11:37 +0100)]
elm test - animated icon - big win to have a bg and not garbage

4 years agobuild: move static out of none_static
Marcel Hollerbach [Thu, 4 Jun 2020 01:29:44 +0000 (10:29 +0900)]
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

4 years agoEfl.Canvas.Vg.Object: Fix backup size
JunsuChoi [Thu, 4 Jun 2020 01:28:21 +0000 (10:28 +0900)]
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

4 years agoEfl.Gfx.Path: Modify boundary calculation.
JunsuChoi [Thu, 4 Jun 2020 00:22:39 +0000 (09:22 +0900)]
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

4 years agoci: log time in every fold start and end
Stefan Schmidt [Wed, 11 Dec 2019 14:51:19 +0000 (15:51 +0100)]
ci: log time in every fold start and end

Annotating the build log with timings will help us to understand better
where the time is spend during the builds and see areas to optimize.

Switching over to the "native" bash functions in Travis, so switching
all scripts to bash.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11913

4 years agoci: remove no longer used address sanitizer leak suppression file
Stefan Schmidt [Wed, 3 Jun 2020 08:37:38 +0000 (10:37 +0200)]
ci: remove no longer used address sanitizer leak suppression file

We switched the asan build to ignore leaks for the internal build tools.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11922

4 years agoci: remove outdated README file
Stefan Schmidt [Wed, 3 Jun 2020 08:30:04 +0000 (10:30 +0200)]
ci: remove outdated README file

This is no longer up to date. Remove before it gives a wrong description
of things.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11921

4 years agoci: remove not in use script
Stefan Schmidt [Wed, 3 Jun 2020 08:28:12 +0000 (10:28 +0200)]
ci: remove not in use script

We are not buildign the external examples. This script is no longer
used. We have an tiny internal app build test and building the in-tree
examples as well.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11920

4 years agoRevert "elementary: build elementary_test additionally as shared object"
Stefan Schmidt [Wed, 3 Jun 2020 07:18:02 +0000 (09:18 +0200)]
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 78ad088dd73a18fb4cfcfedcc18a6bf03e28080b.

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

4 years agoEfl.Canvas.Vg.Object: Prevent null pointer access
JunsuChoi [Wed, 3 Jun 2020 06:58:00 +0000 (15:58 +0900)]
Efl.Canvas.Vg.Object: Prevent null pointer access

add null check

4 years agoevas/engine: Fix memory leak in generic cache.
Subhransu Mohanty [Wed, 3 Jun 2020 04:03:39 +0000 (13:03 +0900)]
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

4 years agoEfl.Canvas.Vg.Object: Optimize Ector Surface Size
JunsuChoi [Wed, 3 Jun 2020 02:37:23 +0000 (11:37 +0900)]
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

4 years agoecore: Fix Asan stack overflow warning
Subhransu Mohanty [Wed, 3 Jun 2020 02:17:18 +0000 (11:17 +0900)]
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

4 years agobuild: add gl_common files to engine_src 83/235283/1 accepted/tizen/unified/20200604.164556 submit/tizen/20200601.210236
WooHyun Jung [Wed, 3 Jun 2020 09:53:43 +0000 (18:53 +0900)]
build: add gl_common files to engine_src

@tizen_fix

Change-Id: I06eb654aed79e19c3e945e586ea87dd44e1c0a78

4 years agoelementary_test: Added --autoclose option to elementary_test 49/235249/1
Subhransu Mohanty [Wed, 3 Jun 2020 03:15:05 +0000 (12:15 +0900)]
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

Change-Id: I9c11fdaf44141e4610e63de363779021f382c251

4 years agoelementary: Fix memory leak in elm_win 45/235245/1
Subhransu Mohanty [Wed, 3 Jun 2020 04:43:52 +0000 (13:43 +0900)]
elementary: Fix memory leak in elm_win

Change-Id: I1003d7e7abc31c0425e8c12553a20c77193cff01

4 years agoelm_gengrid: resolve double free
Jongmin Lee [Wed, 3 Jun 2020 02:04:31 +0000 (11:04 +0900)]
elm_gengrid: resolve double free

Change-Id: I17789de33c088c6baeced2ea5758e6a34c37902c

4 years agoelm_atspi: resolve migration build error
Jongmin Lee [Tue, 2 Jun 2020 22:20:18 +0000 (07:20 +0900)]
elm_atspi: resolve migration build error

Change-Id: I175602b125bcfb1101011b37067b6b3cd1397576

4 years agoci: travis: enable efl-one in our all enabled build
Stefan Schmidt [Thu, 28 May 2020 17:32:03 +0000 (19:32 +0200)]
ci: travis: enable efl-one in our all enabled build

After a successful build we run the efl-one test script to see if it
drags in unwanted libs.

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

4 years agobuild: add eet to evas suite
Marcel Hollerbach [Tue, 2 Jun 2020 06:28:27 +0000 (08:28 +0200)]
build: add eet to evas suite

evas suite seems to use internal headers, which includes eet.

4 years agoci: fix for rename luajit to lua bindings
Marcel Hollerbach [Tue, 2 Jun 2020 06:11:23 +0000 (08:11 +0200)]
ci: fix for rename luajit to lua bindings

this is an incredible hard fix. The rename was essential, and it was
important that the CI was killed for 3 days, the names in this script
was also hidden that deep that litterly *noone* could have ever renamed
them without a daylong hike through the masses of script here.

4 years agobuild: do not link test suite again against static libs
Marcel Hollerbach [Mon, 1 Jun 2020 20:32:53 +0000 (22:32 +0200)]
build: do not link test suite again against static libs

this might result in duplicated symbols.

4 years agoefl_access_text: remove ptr usage in eo files
Ali Alzyod [Sun, 31 May 2020 06:16:46 +0000 (06:16 +0000)]
efl_access_text: remove ptr usage in eo files

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

4 years agoelm_gesture_layer: Arrange the logic for delete the target object in gesture cb.
Woochanlee [Tue, 26 May 2020 06:36:54 +0000 (06:36 +0000)]
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

4 years agoeo: Fix memory leak in efl_key_wref_set() api.
Subhransu Mohanty [Wed, 27 May 2020 07:39:59 +0000 (07:39 +0000)]
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

4 years agocanvas svg: fix missing break.
Hermet Park [Tue, 2 Jun 2020 00:59:51 +0000 (09:59 +0900)]
canvas svg: fix missing break.

4 years agoelm_hoversel: Add missing resize_job's free 56/235056/1
JunsuChoi [Tue, 2 Jun 2020 03:20:37 +0000 (12:20 +0900)]
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

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I5497ea6fa52198b30fee6d1f2283ea9a0141da8c

4 years agoelm_atspi_bridge: use efl_add_ref for obj without parent
Kamil Konieczny [Mon, 25 May 2020 16:44:28 +0000 (18:44 +0200)]
elm_atspi_bridge: use efl_add_ref for obj without parent

Use efl_add_ref for object without parent, and unref
when obj is destructed.

This fixes error reported by EFL:
"E/EFL     (  956): eo<956> ../src/lib/eo/eo.c:1008
_efl_add_internal_start_do() Creation of 'Elm.Atspi.App.Object'
object at line 6882 in '../src/lib/elementary/elm_atspi_bridge.c'
is done without parent. This should use efl_add_ref."

Change-Id: Ib813c7b587c1e39d5335909037cec4664391dea3

4 years agosvg/loader: Fix memory leak
Subhransu Mohanty [Mon, 1 Jun 2020 09:53:36 +0000 (18:53 +0900)]
svg/loader: Fix memory leak

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas_object_main: add check seat grab count when touch list item is deleted.
Hosang Kim [Wed, 27 May 2020 11:15:15 +0000 (20:15 +0900)]
evas_object_main: add check seat grab count when touch list item is deleted.

Summary:
The touch event list is created by mouse down, mouse in or mouse move, etc.
But old list is deleted and new list is created in mouse down.
So it is necessary to distinguish list of mouse down and list of mouse move when deleting a list item.
Add checking seat's grab count to distinguish mouse down and mouse move.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ic6066233a75885753d2abb19db802032bcaf0672
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>
4 years agoelm_conform: fix backward compatibility issue.
Hosang Kim [Tue, 26 May 2020 11:13:49 +0000 (20:13 +0900)]
elm_conform: fix backward compatibility issue.

In Tizen 4.0, elm_conformant inheritted elm_layout, but elm_conformant
inheritted efl_ui_layout_base now. So elm_layout_file_set is not working
for elm_conformant.
elm_conformant inherits efl_file to fix backward compatibility.

Change-Id: If503eb709577902f13ab71e6e1dfb2c1f0507984

4 years ago[edje] Free up the allocated array memory to avoid leak
Prasoon Singh [Fri, 15 May 2020 15:55:38 +0000 (21:25 +0530)]
[edje] Free up the allocated array memory to avoid leak

Allocated array is only freed when it is inside if block but for
other case array is not freed.

Change-Id: I6b838f5908ee1c0f3f455dfa690c7ce30ee0471b
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
4 years agoefl_ui_clock: Ignore Second, Day format to backward compatibility.
Woochanlee [Fri, 29 May 2020 06:30:17 +0000 (15:30 +0900)]
efl_ui_clock: Ignore Second, Day format to backward compatibility.

The Second, Day fileds has been added, and that formats will generated.
It can breaks some use case old App. (auto format use case)

@tizen_fix

Change-Id: Id13b8445463fa26e9d4456051d5adf3e4cd9314a

4 years agoedje edje_cc: remove beta tag for vector part.
Hermet Park [Fri, 29 May 2020 01:58:52 +0000 (10:58 +0900)]
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.

Change-Id: I1d0d795099c3cfabf70650657d0f5f9de5f09afd

4 years agoelm_bg: restore legacy bg sizing_eval to keep backward compatibility
Yeongjong Lee [Wed, 27 May 2020 06:17:45 +0000 (15:17 +0900)]
elm_bg: restore legacy bg sizing_eval to keep backward compatibility

In tizen 4.0, elm_bg size is always (0, 0). only internal image object had size
as file image size.

To keep legacy size policy, elm_bg override `elm_layout_sizing_eval` to
resize internal image and `efl_canvas_group_calculate` to prevent resize elm_bg.

Note that if you don't set any size to elm_bg, elm_bg size is (0, 0) by default
even though its child have size.

@tizen_fix

Change-Id: I54677a1024078ba1f157b8fd495e00dce713cce6

4 years agoecore_wl2: Add internal tag for Events.
Woochanlee [Wed, 27 May 2020 10:44:59 +0000 (19:44 +0900)]
ecore_wl2: Add internal tag for Events.

Some of the Event should not be public

Change-Id: I603967d8a6a6d6e2f24829fea390b5757e0dddbc

4 years agogenlist : support synchronized deletion in item select for compatibility safety
SangHyeon Jade Lee [Tue, 26 May 2020 10:30:40 +0000 (19:30 +0900)]
genlist : support synchronized deletion in item select for compatibility safety

in tizen 4.0
all deletions are synchronized,
so user might write the code with expecting item is deleted by API call
immediately.

in tizen 5.5
we keep the object reference and defer the efl_del of item object in
special case that it has to alive,
and this action may broken backward compatibility for some application,
which is wrote wrong expectation,
but still we have to support them.

this code is fallback the tizen 4.0 deletion process.
item is referenced by efl_ref() while select callback is processing,
but internal item deletion is happen immediately,
and only the object itself is alive till we call efl_unref().

it is only activated by ignore_ref flag up,
for applying genlist tizen only.

Change-Id: I89e2645823bf603c084a2c2df7feb518798b2a36

4 years agoelementary: Fix memory leak in elm_list
Subhransu Mohanty [Wed, 27 May 2020 04:47:42 +0000 (13:47 +0900)]
elementary: Fix memory leak in elm_list

Change-Id: Ica703e4487b47f3724a229724941b4b8269db7fc

4 years agoelementary: Fix memory leak in gengrid and genlist
Subhransu Mohanty [Wed, 27 May 2020 04:08:35 +0000 (13:08 +0900)]
elementary: Fix memory leak in gengrid and genlist

Change-Id: Id21f707659f7eee031a9d367b82892eecb712dfe

4 years agoecore_wl2 : Add missing code when merge.
Woochanlee [Wed, 27 May 2020 04:24:28 +0000 (13:24 +0900)]
ecore_wl2 : Add missing code when merge.

Upstream added this code in _xdg_toplevel_cb_close()
but we use _zxdg_toplevel_cb_close().

Change-Id: Ied2402f1baa44eb130e8e0d804feaa241ddde266

4 years agoEfl.Gfx.Vg.Value_Provider: Move internal function changed_flag to eo.
JunsuChoi [Mon, 1 Jun 2020 04:21:04 +0000 (13:21 +0900)]
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

4 years agoelm_gen****: free item_content map
Marcel Hollerbach [Mon, 1 Jun 2020 01:46:29 +0000 (10:46 +0900)]
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

4 years agobindings/lua: simplify some eolian binding code
Daniel Kolesa [Sun, 31 May 2020 05:26:52 +0000 (07:26 +0200)]
bindings/lua: simplify some eolian binding code

4 years agobindings/lua: fixes for cffi-lua
Daniel Kolesa [Sun, 31 May 2020 04:39:50 +0000 (06:39 +0200)]
bindings/lua: fixes for cffi-lua

4 years agoelua: fix object system on lua 5.2 onwards
Daniel Kolesa [Sun, 31 May 2020 01:39:49 +0000 (03:39 +0200)]
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.

4 years agobindings/lua: use new _fill api variants for expr values
Daniel Kolesa [Sun, 31 May 2020 00:28:22 +0000 (02:28 +0200)]
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.

4 years agoeolian: add out-param variants of expr eval/value get funcs
Daniel Kolesa [Sun, 31 May 2020 00:11:15 +0000 (02:11 +0200)]
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).

4 years agobindings/lua: minor fixes to accommodate cffi-lua
Daniel Kolesa [Sat, 30 May 2020 23:53:52 +0000 (01:53 +0200)]
bindings/lua: minor fixes to accommodate cffi-lua

4 years agoevas examples - build box example again - missing header
Carsten Haitzler (Rasterman) [Sat, 30 May 2020 11:10:15 +0000 (12:10 +0100)]
evas examples - build box example again - missing header

4 years agoevas - examples - evas box fix path to png file
Carsten Haitzler (Rasterman) [Sat, 30 May 2020 11:01:32 +0000 (12:01 +0100)]
evas - examples - evas box fix path to png file

4 years agoelua: use cffi-lua public header
Daniel Kolesa [Sat, 30 May 2020 04:44:29 +0000 (06:44 +0200)]
elua: use cffi-lua public header

4 years agoelua: fix build with luajit or lua 5.1
Daniel Kolesa [Fri, 29 May 2020 15:45:34 +0000 (17:45 +0200)]
elua: fix build with luajit or lua 5.1

4 years agobindings: rename luajit -> lua
Daniel Kolesa [Fri, 29 May 2020 15:06:22 +0000 (17:06 +0200)]
bindings: rename luajit -> lua

4 years agobindings/luajit/eolian: get rid of using bitops
Daniel Kolesa [Fri, 29 May 2020 15:00:28 +0000 (17:00 +0200)]
bindings/luajit/eolian: get rid of using bitops

4 years agoelua: allow building with interpreted (non-luajit) lua
Daniel Kolesa [Fri, 29 May 2020 14:22:42 +0000 (16:22 +0200)]
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.

4 years agoci: get rid of all extra asan handling
Stefan Schmidt [Thu, 28 May 2020 09:54:11 +0000 (11:54 +0200)]
ci: get rid of all extra asan handling

Now that we have this in meson setup we do not need all the CI script
logic here anymore.

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

4 years agobuild: ensure we set all needed asan option for check run as well
Stefan Schmidt [Thu, 28 May 2020 09:42:59 +0000 (11:42 +0200)]
build: ensure we set all needed asan option for check run as well

Normally we would set the needed detect_odr_violation=0 form our CI
scripts. Move it here to ensure we have it set and it does not get
forgotten when meson overrides the env far.

Fixes the ASAN job on CI.

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

4 years agoevas_text: reduce Video Memory & RAM needed for text textures (Color Glyphs)
Ali Alzyod [Fri, 29 May 2020 09:10:28 +0000 (10:10 +0100)]
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

4 years agoSupport WebP Animation Image Files
Taehyub Kim [Fri, 29 May 2020 02:40:37 +0000 (11:40 +0900)]
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

4 years agoefl_ui_textpath: reduce unneeded matrix calculations
ali198724 [Fri, 29 May 2020 02:38:26 +0000 (11:38 +0900)]
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