platform/upstream/efl.git
4 years agoexample: replace svg resource and load it properly. 44/212444/2
Hermet Park [Wed, 21 Aug 2019 09:14:48 +0000 (18:14 +0900)]
example: replace svg resource and load it properly.

Change-Id: Ib47b971a2931502dc79a9633045598888caab11f

4 years agoelementary_test: Add the animation view test 43/212443/2
JunsuChoi [Wed, 21 Aug 2019 08:53:14 +0000 (17:53 +0900)]
elementary_test: Add the animation view test

Summary:
Add an animation view item to test vector animation on elementary_test.
If Evas Vg Json(Lottie) Loader is not supported,
use the vector class to output the svg file.

Depends {D9451}

Test Plan:
elementart_test
Animation View

Reviewers: Hermet, smohanty, kimcinoo, zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I6e402cc9b15fe14aebd78c88406cbb0044a6faa3

4 years agoefl_ui_animation_view: introduce a new widget for controlling vector animation. 42/212442/4
Hermet Park [Wed, 21 Aug 2019 08:39:43 +0000 (17:39 +0900)]
efl_ui_animation_view: introduce a new widget for controlling vector animation.

Summary:
This is a new convenient ui control that designed to load vector resources
-svg, json-, and control animations if it supports.

Please turn on evas-loaders-json in meson options,
if you'd like to use Lottie Animation.

Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>
@feature

Reviewers: #committers, jsuya, zmike, bu5hm4n

Reviewed By: #committers, bu5hm4n

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

Tags: #efl

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

Change-Id: I5afaf9e5718a9b311013e272c99170d50132e82f

4 years agoelm_focus: keep legacy focus logic 03/212403/1 submit/tizen/20190821.073037
Yeongjong Lee [Wed, 21 Aug 2019 06:48:14 +0000 (15:48 +0900)]
elm_focus: keep legacy focus logic

This patch disable focus manager patch and restore legacy focus code.

@TIZEN_ONLY

Change-Id: I0a6fcb54261d16393888efdc83c306ee2a66dbb7

4 years agoefl_ui_widget: remove unused field 02/212402/1
Marcel Hollerbach [Tue, 20 Aug 2019 09:04:23 +0000 (11:04 +0200)]
efl_ui_widget: remove unused field

its not used ...

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9647

Change-Id: I9cde09bab511dd504953001867cfda3c5444ac55

4 years agoefl_ui_widget: do not walk parent chain for none legacy cases 01/212401/1
Marcel Hollerbach [Tue, 20 Aug 2019 07:32:33 +0000 (09:32 +0200)]
efl_ui_widget: do not walk parent chain for none legacy cases

walking here the parent chain can be very costly, esp. if you make a lot
of widgets visible or hide them. With this commit we ensure that we only
walk the parent chain when there is a custom chain, which is only the
case in legacy. This gets us about 2-3 FPS on the rpi with the
item_container benchmark.

With earlier commits, tree_unfocusable and disabled is honoring the
whole parent chain, so checking that alone, without the parent chain, is
fine.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9645

Change-Id: I27063cbe09bc2f516fe623cf70bc3e11aacdca41

4 years agoefl_ui_widget: make treeunfocusable state easier 00/212400/1
Marcel Hollerbach [Tue, 20 Aug 2019 07:20:44 +0000 (09:20 +0200)]
efl_ui_widget: make treeunfocusable state easier

Before this patch tree unfocusable set just set a simple flag, getting
this state however forced you to traverse the whole parent chain to get
the real result.
With this patch the setting of the unfocusable flag is heavier as it
walks all the children of the widget, however, the getting of the flag
is way easier now. The next revision will refactor the focus related
APIs for that.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9644

Change-Id: I135a01a484bc111856e1e26f4b082fad24694911

4 years agoelm_slider: remove dependency with efl_ui_slider
WooHyun Jung [Tue, 20 Aug 2019 13:09:14 +0000 (09:09 -0400)]
elm_slider: remove dependency with efl_ui_slider

Summary:
This commit includes follwoing works.

1. change parent class from EFL_UI_SLIDER_INTERVAL
  to EFL_UI_LAYOUT_BASE
2. get all necessary codes from efl_ui_slider and
   efl_ui_slider_interval to elm_slider
3. add callbacks to slider test code

ref T7893

Test Plan:
1. elementary_test
2. slider
3. operate sliders on the window

Reviewers: bu5hm4n, segfaultxavi, eagleeye, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7893

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

Change-Id: Id878176ddbb842951fc422f465559e087ee358ac

4 years agoedje/optimization: keep a style hash for fast retrival of styles
subhransu mohanty [Mon, 12 Aug 2019 23:18:39 +0000 (23:18 +0000)]
edje/optimization: keep a style hash for fast retrival of styles

As edje mostly deals with style string. to get the style data each time
it linearly search through list to find out the style which is not very
cache friendly so keep a hash to do first lookup with less impact on cache.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9547

Change-Id: Iaea70dd61e54e85b83ac75a073f4ea2951f8dee7

4 years agoedje/style: optimize updation of styles for a given text_style
subhransu mohanty [Tue, 20 Aug 2019 06:21:10 +0000 (06:21 +0000)]
edje/style: optimize updation of styles for a given text_style

Currently we do 2 pass updation. first we scan through all the styles
and check if they have text_style which matches the test_style we need to update
then we mark them dirty. then we call style_all_update() to go through the list
again and update those styles.
By combining them both in a single function we avoid scanning through the whole
list again.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9639

Change-Id: I28ee8aa29b64759116ed45c17905a0ed4a00dba2

4 years agoedje/style: refactor style parsing to remove temporary dynamic string creation.
subhransu mohanty [Tue, 20 Aug 2019 05:36:22 +0000 (14:36 +0900)]
edje/style: refactor style parsing to remove temporary dynamic string creation.

Summary:
pass a buffer to reparse() function for reuse.
create fontsource once and reuse.

Reviewers: ali.alzyod, Hermet, cedric, raster

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje/styles: keep an escaped string of font_set. As eina_ecaped_string() creates...
subhransu mohanty [Mon, 19 Aug 2019 10:21:47 +0000 (19:21 +0900)]
edje/styles: keep an escaped string of font_set. As eina_ecaped_string() creates a new string just make it once and use when needed.

Reviewers: Hermet, ali.alzyod

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje/optimization: keep a readonly flag on edje_style.
subhransu mohanty [Tue, 13 Aug 2019 03:11:30 +0000 (03:11 +0000)]
edje/optimization: keep a readonly flag on edje_style.

Just to check if the edje style has text_class tag we do
lot of pointer hopping by linearly scan through the tags in the
style which is not very cache efficient.

by keeping a readonly flag we can avoid those acess if the style dosen't
have any text_class tags. and if we have those tags then we can start
updating the style straight away.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9546

Change-Id: Ib25e40d70cfed1e41a92d2e6b09619ce7eb6f9bc

4 years agoefl_ui/popup: watch for hint change (safely) on popup object
Mike Blumenkrantz [Tue, 20 Aug 2019 12:12:35 +0000 (08:12 -0400)]
efl_ui/popup: watch for hint change (safely) on popup object

ensure that setting user hints on this object triggers a recalc

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9651

4 years agoefl_ui_widget: remove x,y,w,h
Marcel Hollerbach [Tue, 20 Aug 2019 09:02:39 +0000 (11:02 +0200)]
efl_ui_widget: remove x,y,w,h

this is used for storing the position and size of the widget. However,
just in elm_test this eats 2KB of ram, just for saving them. The cases
where they have been used do not seem like a great performance hotspot,
additionally, in the panel cases the privat data of the widget is
achived anyways, so eo is involved and we are spending some time there
anyways.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9646

4 years agoefl_ui_widget: skip custom focus parent logic
Marcel Hollerbach [Tue, 20 Aug 2019 07:14:43 +0000 (09:14 +0200)]
efl_ui_widget: skip custom focus parent logic

asking for a parent provider only makes sense if we are having a custom
focus parent provider, otherwise this will just result in the normal
parent relation. Not doing this safes us a lot of time that we spent for
nothing in the focus evalulation code.

The gengrid change is needed as the parent provider should be applied
after the constructor is called, otherwise there is no garantee that
shared_win_data is not NULL.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9643

4 years agoefl_ui_widget: add a place to share data
Marcel Hollerbach [Tue, 20 Aug 2019 06:58:52 +0000 (08:58 +0200)]
efl_ui_widget: add a place to share data

this introduces a shared place to all widgets. The shared pointer is
allocated in the window, as the window outlifes every widget that is
part of it.

This struct will be later used for further optimizations like:

1. There are really heavy focus operations which are only needed for
gengrid/genlst, there is no point in executing them if there is no
gen**** added to the window object. So we can skip the custom
parent_provider logic that is only introduced for gengrid / genlist.

2. Legacy focus APIs must do list walks, which means, on every focus
operation we always have to walk the full list up to the parent, which
is annoying and slow, as we *most of the time* do not use legacy focus
API.

This list can be continued, the above two cases are fixed in the next
revisions.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9642

4 years agoefl_ui/scroller: process edje signals during group calc
Mike Blumenkrantz [Tue, 20 Aug 2019 13:11:18 +0000 (09:11 -0400)]
efl_ui/scroller: process edje signals during group calc

Summary:
scrollbars (and other parts) can have min sizes which affect sizing calcs,
so it's necessary to ensure that these signals are processed before trying
to size in order to get the correct size
Depends on D9593

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

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

4 years agoefl_ui/popup: replace legacy image use with efl_ui_image
Mike Blumenkrantz [Tue, 20 Aug 2019 13:11:12 +0000 (09:11 -0400)]
efl_ui/popup: replace legacy image use with efl_ui_image

Summary: new widgets should not use legacy widgets internally

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/popup: make text alert sizing test even more strict
Mike Blumenkrantz [Tue, 20 Aug 2019 13:11:07 +0000 (09:11 -0400)]
tests/popup: make text alert sizing test even more strict

Summary:
ensure that the internal label size is not wider than the scroller

text alerts should never need to scroll horizontally, so ensure that this
does not break

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_scroll_util: set drag_step of parent edje object
Yeongjong Lee [Tue, 20 Aug 2019 13:07:07 +0000 (09:07 -0400)]
efl_ui_scroll_util: set drag_step of parent edje object

Summary: Depends on D9649

Test Plan: elementary_test -to 'efl.ui.scroller'

Reviewers: eagleeye, bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui_scroll_util: emit edc signal that fix scroll arrow visibility
Yeongjong Lee [Tue, 20 Aug 2019 13:07:02 +0000 (09:07 -0400)]
efl_ui_scroll_util: emit edc signal that fix scroll arrow visibility

Summary:
"efl,action,scroll" signal will update arrow state.

ref T8051

Test Plan: elementary_test -to 'efl.ui.scroller'

Reviewers: eagleeye, bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8051

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

4 years agoRevert "ector: code refactoring."
Hermet Park [Tue, 20 Aug 2019 11:24:27 +0000 (20:24 +0900)]
Revert "ector: code refactoring."

This reverts commit dad166f84a02cfffc2a07bc804e7b7e35ed4a40d.

Ector is not public, this breaks enlightenment compilation,

4 years agoector: code refactoring.
Hermet Park [Tue, 20 Aug 2019 09:18:31 +0000 (18:18 +0900)]
ector: code refactoring.

Current vector drawing requires several methods for compositing,
it's shouldnt have only masking but other blending functions
such as matte in lottie, porter&duff in android, etc.

Previously we didn't specify this method name,
just reserved the options and now we started to define the methods
with ector_renderer_composite_method() instead of mask_set().

4 years agoefl_ui_widget: optimize size / position setting
Marcel Hollerbach [Mon, 19 Aug 2019 08:23:40 +0000 (10:23 +0200)]
efl_ui_widget: optimize size / position setting

calling geometry set here is again calling the API in canvas object that
splits this call to size_set and position_set which means we spent quite
a bit of time in eo, just to call the same APIs we could call directly.
With this commit here, the calls are directly going to the right
objects, with the right API.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9619

4 years agoefl_ui_focus_manager_calc: use a mempool instead of calloc / free
Marcel Hollerbach [Mon, 19 Aug 2019 08:18:45 +0000 (10:18 +0200)]
efl_ui_focus_manager_calc: use a mempool instead of calloc / free

if we are heaving a streak of showing / hiding a lot of widgets we free
and calloc the same nodes all the time. This now lowers the amount of
callocs / frees that we are doing

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9618

4 years agoefl_ui_focus_manager_calc: safe if this is root in a flag
Marcel Hollerbach [Mon, 19 Aug 2019 08:17:50 +0000 (10:17 +0200)]
efl_ui_focus_manager_calc: safe if this is root in a flag

otherwise we would need to get the private data of the focus manager
which is quite a heavy operation. This is slowing down enormously the
visibility setting of widgets.

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

4 years agoefl_ui_focus_manager_calc: optimize item deletion
Marcel Hollerbach [Wed, 7 Aug 2019 15:20:38 +0000 (17:20 +0200)]
efl_ui_focus_manager_calc: optimize item deletion

if there is high frequency adding and deleting of items, the deletion
here can be quite heavy, this makes freeing a little bit faster.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9616

4 years agocanvas svg: fix to apply premultipled color.
Hermet Park [Tue, 20 Aug 2019 02:23:59 +0000 (11:23 +0900)]
canvas svg: fix to apply premultipled color.

fill colors should be premultiplied with fill opcaity.

4 years agoevas vg: code refactoring.
Hermet Park [Tue, 20 Aug 2019 01:54:32 +0000 (10:54 +0900)]
evas vg: code refactoring.

try reduce code section size,
no logical changes.

4 years agocsharp: MVVM parts support
Lauro Moura [Tue, 20 Aug 2019 00:31:20 +0000 (21:31 -0300)]
csharp: MVVM parts support

Summary:
Parts binding will follow a similar approach to regular property
binding:

`var error = factory.PartName().PropertyName().Bind(modelProperty);`

* Changed both `Bind()` overloads to return the error code from
  `efl_ui_property_bind`
* Also properties from interfaces implemented didn't have their `Bindable`
  wrapper methds available.

Depends on D9563

Reviewers: felipealmeida, cedric, SanghyeonLee, woohyun

Reviewed By: cedric

Tags: #efl

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

4 years agoevas: fix png regression issue
Shinwoo Kim [Mon, 19 Aug 2019 08:38:44 +0000 (08:38 +0000)]
evas: fix png regression issue

Accidentally commit "382c580 evas: add support for .9.png file to PNG loader."
adding the 9 patch feature with small code refactoring missed a line calling
eina_file_map_all taking EINA_FILE_SEQUENTIAL for data decoding.

You can see the previous change adding the line from the following commit.

   e60baa0 evas: change mapping policy to be less agressive into loading file
           in memory.

This is a response to the request of @cedric on D9580

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9614

4 years agoefl_ui/text: attempt to size more accurately in non-scroll mode
Mike Blumenkrantz [Fri, 16 Aug 2019 19:12:25 +0000 (15:12 -0400)]
efl_ui/text: attempt to size more accurately in non-scroll mode

the internal text object provides a min size based on its current geometry,
so temporarily match the geometry of the overall object in order to provide
a somewhat more accurate calculation sooner for this object

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9598

4 years agoefl_ui/popups: convert from elm_scroller to efl_ui_scroller internally
Mike Blumenkrantz [Fri, 16 Aug 2019 19:10:48 +0000 (15:10 -0400)]
efl_ui/popups: convert from elm_scroller to efl_ui_scroller internally

efl_ui widgets should not use legacy widgets internally

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9596

4 years agoefl_ui/scroller: create scroll manager in constructor
Mike Blumenkrantz [Fri, 16 Aug 2019 19:08:14 +0000 (15:08 -0400)]
efl_ui/scroller: create scroll manager in constructor

this fixes setting scroller properties during construction

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9593

4 years agoefl_ui/scroller: directly trigger group_calc if pan is resized during canvas calc
Mike Blumenkrantz [Fri, 16 Aug 2019 19:07:04 +0000 (15:07 -0400)]
efl_ui/scroller: directly trigger group_calc if pan is resized during canvas calc

this is the time when all calculations need to be handled, so ensure that the
widget directly updates itself here instead of deferring in order to avoid
infinite recalc loops

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

4 years agoefl_ui/scroll_util: don't trigger group_calc again on size changes
Mike Blumenkrantz [Fri, 16 Aug 2019 19:06:16 +0000 (15:06 -0400)]
efl_ui/scroll_util: don't trigger group_calc again on size changes

this is already handled elsewhere and can cause infinite recalc loops

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9591

4 years agotests/scroller: start unit tests for efl.ui.scroller
Mike Blumenkrantz [Mon, 19 Aug 2019 12:59:14 +0000 (08:59 -0400)]
tests/scroller: start unit tests for efl.ui.scroller

same layout as elm_test case, start by checking scroll events after wheel

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9634

4 years agotests/elm: add util functions for triggering wheel events
Mike Blumenkrantz [Mon, 19 Aug 2019 18:31:57 +0000 (14:31 -0400)]
tests/elm: add util functions for triggering wheel events

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9633

4 years agoelm/hoversel: manually trigger group_calc for internal objects
Mike Blumenkrantz [Mon, 19 Aug 2019 17:39:11 +0000 (13:39 -0400)]
elm/hoversel: manually trigger group_calc for internal objects

hoversel doesn't implement group calc or do any sane type of sizing
so just manually call these on demand to ensure the correct size is used

fix T8127

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9632

4 years agoelm/hoversel: avoid calling api functions on null hoversel objects
Mike Blumenkrantz [Mon, 19 Aug 2019 17:38:15 +0000 (13:38 -0400)]
elm/hoversel: avoid calling api functions on null hoversel objects

the hoversel must be created before it can be shown, and its internal
hover object may be destroyed when it is hidden

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9631

4 years agoelementary: properly refcount the key of the hash used by Efl.Ui.Layout_Factory prope...
Cedric BAIL [Fri, 16 Aug 2019 03:41:58 +0000 (20:41 -0700)]
elementary: properly refcount the key of the hash used by Efl.Ui.Layout_Factory property bind.

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

4 years agoevas_textblock: markup text: improve handling invalide escape characters
ali [Sat, 3 Aug 2019 09:19:20 +0000 (09:19 +0000)]
evas_textblock: markup text: improve handling invalide escape characters

Improve handling invalid escape characters.

(*) When '&' character founded in Markup text.
      Old Behavior   : Any text after '&' (if it is not escape), all text will be discarded
      New Behavior : Any text after '&' (if it is not escape), will be processes as normal plain text.

Example:
     Markup  Text :  Hello X & Y & Z 1 2 3
     Old     output :  Hello
     New   output :  Hello X & Y & Z 1 2 3

This is related to T8077

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9489

4 years agoevas_common: parse color in rgb()/rgba() format
ali [Thu, 1 Aug 2019 23:00:07 +0000 (23:00 +0000)]
evas_common: parse color in rgb()/rgba() format

evas_common_format_color_parse: support rgb()/rgba() format

efl user can now specify colors in text formats and styles as rgb(0-255,0-255,0-255) &  rgba(0-255,0-255,0-255,0-255)  format.

This is related to task: T8068

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9309

4 years agoevas_textblock: reduce _evas_textblock_changed calls with markup_text_append
Ali Alzyod [Mon, 22 Jul 2019 15:25:17 +0000 (15:25 +0000)]
evas_textblock: reduce _evas_textblock_changed calls with markup_text_append

**_evas_textblock_changed** is internal function that mark that the textblock has changed.

When make call for
evas_object_textblock_text_markup_set(txtblock,"This is Line<br>THis is other Line<br>");

Old behaviour:
multible calles for _evas_textblock_changed will happend, for each text/format appended.

New behaviour:
Single call for _evas_textblock_changed will happend.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9376

4 years agoelm: avoid clash in Collection.Focus_Manager
Lauro Moura [Mon, 19 Aug 2019 14:23:21 +0000 (14:23 +0000)]
elm: avoid clash in Collection.Focus_Manager

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

4 years agomake mman.h private
Vincent Torri [Mon, 19 Aug 2019 13:55:12 +0000 (09:55 -0400)]
make mman.h private

Summary:
integrate mman.h to make Evil private to the EFL, as mman.h does not exist on Windows. After a discussion with raster, i include sys/mman.h only on non Windows platform.

One issue, though, is that src/modules/emotion/generic/Emotion_Generic_Plugin.h has inlined functions using mmap()

Test Plan: compilation on Windows

Reviewers: cedric, raster, zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoedje/style: refactor to avoid creating temporary strings.
subhransu mohanty [Mon, 19 Aug 2019 10:38:35 +0000 (19:38 +0900)]
edje/style: refactor to avoid creating temporary strings.

Summary: param_parse() was creating unnecessary 2 temporary string and destroying it.

Reviewers: ali.alzyod, cedric, Hermet, raster

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje/styles: avoid redundant style tag addition by providing extra checks.
subhransu mohanty [Mon, 19 Aug 2019 10:33:56 +0000 (19:33 +0900)]
edje/styles: avoid redundant style tag addition by providing extra checks.

Summary:
we should only add font_size tag if the new size is different.
we should only add font tag if there is a new font.

Reviewers: ali.alzyod, Hermet, cedric, raster

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje: fix compatibility issue.
Hermet Park [Mon, 19 Aug 2019 09:04:38 +0000 (18:04 +0900)]
edje: fix compatibility issue.

Obviously previous edje object file set would try reload file
even though the file is already loaded.

This brings different result if the file data has been modified or changed.

4 years agomeson: there is no need for checking ecore here
Marcel Hollerbach [Thu, 15 Aug 2019 16:49:51 +0000 (18:49 +0200)]
meson: there is no need for checking ecore here

fix T7768

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

4 years agoeo-cxx: Add second NULL sentinel to avoid buffer overrun by efl_check.h
Felipe Magno de Almeida [Fri, 16 Aug 2019 18:16:50 +0000 (18:16 +0000)]
eo-cxx: Add second NULL sentinel to avoid buffer overrun by efl_check.h

efl_check.h assumes at least one element exists when checking
parallelization and accesses the second element of the array without
checking its size first. Adding a second NULL sentinel fixes the problem.

T8141
Differential Revision: https://phab.enlightenment.org/D9588

4 years agoelm slider - delete timers on destruction that should be deleted
Carsten Haitzler (Rasterman) [Sun, 18 Aug 2019 09:28:51 +0000 (10:28 +0100)]
elm slider - delete timers on destruction that should be deleted

also use safe free to set to null

4 years agoevas - loader - rsvg generic - install svg symlink
Carsten Haitzler (Rasterman) [Sun, 18 Aug 2019 08:57:42 +0000 (09:57 +0100)]
evas - loader - rsvg generic - install svg symlink

svg loading broke as we didnt have the right symlink installed after a
binary file name change. this fixes that.

4 years agoelm hoversel - avoid crash when items modified while popping down
Carsten Haitzler (Rasterman) [Sat, 17 Aug 2019 23:25:39 +0000 (00:25 +0100)]
elm hoversel - avoid crash when items modified while popping down

this fixes a crash i saw with asan on pop down if items change at that
time. @fix

4 years agoeolian: rename is_class api for functions to is_static
Daniel Kolesa [Fri, 16 Aug 2019 14:32:13 +0000 (16:32 +0200)]
eolian: rename is_class api for functions to is_static

Still needs restriction to classes only etc to be done later.

Ref https://phab.enlightenment.org/T8118
Ref https://phab.enlightenment.org/T7675

4 years agoeolian: rename @class on methods to @static
Daniel Kolesa [Fri, 16 Aug 2019 14:27:00 +0000 (16:27 +0200)]
eolian: rename @class on methods to @static

Ref https://phab.enlightenment.org/T8118
Ref https://phab.enlightenment.org/T7675

4 years agoeolian-mono: Use correct allocator to free with free, and not delete
Felipe Magno de Almeida [Thu, 15 Aug 2019 20:48:01 +0000 (20:48 +0000)]
eolian-mono: Use correct allocator to free with free, and not delete

T8137
Differential Revision: https://phab.enlightenment.org/D9576

4 years agoeolian: fix function pointer leak as reported by asan
Daniel Kolesa [Fri, 16 Aug 2019 11:33:27 +0000 (13:33 +0200)]
eolian: fix function pointer leak as reported by asan

Ref T8140.

4 years agoevas: fix png regression issue
Shinwoo Kim [Fri, 16 Aug 2019 07:54:50 +0000 (16:54 +0900)]
evas: fix png regression issue

Summary:
The evas_image_load_file_data_png had called png_set_tRNS_to_alpha
from following commit.

   6988a38 evas: fix png loader to actually produce lower resolution
           content when asked.

You could refer to following information regarding png_set_tRNS_to_alpha
which is available on page http://www.libpng.org/pub/png/libpng-manual.txt

   The following code transforms grayscale images of less than 8 to 8 bits,
   changes paletted images to RGB, and adds a full alpha channel if there is
   transparency information in a tRNS chunk.  This is most useful on
   grayscale images with bit depths of 2 or 4 or if there is a multiple-image
   viewing application that wishes to treat all images in the same way.

       if (color_type == PNG_COLOR_TYPE_PALETTE)
           png_set_palette_to_rgb(png_ptr);

       if (png_get_valid(png_ptr, info_ptr,
           PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);

       if (color_type == PNG_COLOR_TYPE_GRAY &&
           bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png_ptr)

Accidentally commit "382c580 evas: add support for .9.png file to PNG loader."
adding a new feature with small code refactoring missed the line calling
png_set_tRNS_to_alpha.

So we got a rendering issue. It made around 75% size white rectangle
using a grayscale and transparent image. I'd like to attach the image
which has following type information for test purpose.

$ identify -verbose ./grayscale_transparent.png | grep type -i
  Mime type: image/png
  Type: Bilevel
    png:IHDR.color-type-orig: 0
    png:IHDR.color_type: 0 (Grayscale)

Test Plan:
This is the sample image file grayscale_transparent.png

{F3748665}

Reviewers: cedric, Hermet, jsuya

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

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

4 years agoeolian-cxx: Fix use after free for base variable
Felipe Magno de Almeida [Thu, 15 Aug 2019 20:47:23 +0000 (20:47 +0000)]
eolian-cxx: Fix use after free for base variable

T8137
Differential Revision: https://phab.enlightenment.org/D9575

4 years agomeson: add xkbcommon to the build deps
Marcel Hollerbach [Thu, 15 Aug 2019 19:36:29 +0000 (15:36 -0400)]
meson: add xkbcommon to the build deps

Summary: fix T8064

Reviewers: cedric, zmike, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8064

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

4 years agotests/ecore_wl2: Add ecore_wl2_surface tests to build order
Christopher Michael [Thu, 15 Aug 2019 19:35:17 +0000 (15:35 -0400)]
tests/ecore_wl2: Add ecore_wl2_surface tests to build order

ref T8016

4 years agoethumb - fix short alloc on stack not including nul char space
Carsten Haitzler (Rasterman) [Thu, 15 Aug 2019 18:17:35 +0000 (19:17 +0100)]
ethumb - fix short alloc on stack not including nul char space

fix space for nul byte with alloca.

4 years agoelm - dnd - fix drop target del to not nuke handler all the time
Carsten Haitzler (Rasterman) [Thu, 15 Aug 2019 12:27:54 +0000 (13:27 +0100)]
elm - dnd - fix drop target del to not nuke handler all the time

this broke dnd if u have multiple drop targets in a window... keep the
functions there if we still have drop targets... especially in x11.

@fix

4 years agoelm entry - respect plain text newlines on paste again...
Carsten Haitzler (Rasterman) [Wed, 14 Aug 2019 23:08:57 +0000 (00:08 +0100)]
elm entry - respect plain text newlines on paste again...

make this work like it used to... fixes T8135

4 years agoelementary: Avoid segfault when part is not set.
Lauro Moura [Wed, 14 Aug 2019 18:45:38 +0000 (18:45 +0000)]
elementary: Avoid segfault when part is not set.

Check whether we called `efl_part_get` before.

This was happening to C# bindings (maybe a bug there?) but in any case a
failure is safer than a segfault.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9563

4 years agoefl_ui/text_scroller: remove erroneous max size hint setting
Mike Blumenkrantz [Mon, 12 Aug 2019 15:28:25 +0000 (11:28 -0400)]
efl_ui/text_scroller: remove erroneous max size hint setting

this makes no sense

ref T8122

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9554

4 years agoefl/hints: add restricted and combined max size hints
Mike Blumenkrantz [Mon, 12 Aug 2019 15:14:49 +0000 (11:14 -0400)]
efl/hints: add restricted and combined max size hints

these function the same as the min size hint versions and enable
distinction between internally-set max size hints and user-set max size
hints

@feature

ref T8122

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9553

4 years agoefl_ui: update efl_ui_list_view example to work
SangHyeon Jade Lee [Tue, 13 Aug 2019 11:30:06 +0000 (11:30 +0000)]
efl_ui: update efl_ui_list_view example to work

seems name for the model property_name is now allowed,
so fix it to title and now it works well.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9558

4 years agoefl/hint: add doc note about max size hint
Mike Blumenkrantz [Fri, 9 Aug 2019 19:13:09 +0000 (15:13 -0400)]
efl/hint: add doc note about max size hint

ref T8122

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D9551

4 years agoefl_ui/popup: remove 'expandable' property from popup subclasses
Mike Blumenkrantz [Fri, 9 Aug 2019 19:11:15 +0000 (15:11 -0400)]
efl_ui/popup: remove 'expandable' property from popup subclasses

this is more or less just the max size hint, so just set the max size
hint

ref T7902

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9550

4 years agoefl_ui/popup: remove popup_size property
Mike Blumenkrantz [Fri, 9 Aug 2019 16:14:46 +0000 (12:14 -0400)]
efl_ui/popup: remove popup_size property

this was more or less just a wrapper around efl_gfx_entity_size_set
and resulted in unpredictable behavior depending on when it was called

instead, simply set the min size hint on the popup object

ref T7902

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9549

4 years agoefl_ui/win: implement unimplemented methods
Mike Blumenkrantz [Wed, 14 Aug 2019 17:26:14 +0000 (19:26 +0200)]
efl_ui/win: implement unimplemented methods

Summary:
pass through methods from inherited classes to the correct internal
object
Depends on D9562

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui/layout: implement unimplemented methods
Mike Blumenkrantz [Wed, 14 Aug 2019 17:25:53 +0000 (19:25 +0200)]
efl_ui/layout: implement unimplemented methods

Summary:
add redirects to internal layout objects for these methods
Depends on D9561

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl_ui: mark localization methods with @empty for containers
Mike Blumenkrantz [Wed, 14 Aug 2019 17:25:27 +0000 (19:25 +0200)]
efl_ui: mark localization methods with @empty for containers

Summary:
these classes cannot be localized
Depends on D9560

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl: remove Efl.Ui.I18n from canvas object inheritance
Mike Blumenkrantz [Wed, 14 Aug 2019 17:25:09 +0000 (19:25 +0200)]
efl: remove Efl.Ui.I18n from canvas object inheritance

Summary:
canvas objects do not need localization because they are not directly user-facing

this should only be inherited by objects which need to be localized
Depends on D9559

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl: mark a couple internal eo files as @beta
Mike Blumenkrantz [Wed, 14 Aug 2019 17:24:19 +0000 (19:24 +0200)]
efl: mark a couple internal eo files as @beta

Summary: these are not distributed apis so they should always remain beta

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agotests/ecore_wl2: Add start of ecore_wl2_surface tests
Christopher Michael [Wed, 14 Aug 2019 15:03:04 +0000 (11:03 -0400)]
tests/ecore_wl2: Add start of ecore_wl2_surface tests

ref T8016

4 years agoefl_ui: remove duplicated hint_min_set code
Yeongjong Lee [Wed, 14 Aug 2019 13:56:42 +0000 (09:56 -0400)]
efl_ui: remove duplicated hint_min_set code

Summary:
evas_object_size_hint_min_set call efl_gfx_hint_size_restricted_min_set
internally.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoevas_map: draw what map did not draw before.
Shinwoo Kim [Wed, 14 Aug 2019 03:39:36 +0000 (12:39 +0900)]
evas_map: draw what map did not draw before.

Summary:
When a map property is changed, map draws it.
Before drawing, evas_object_map_update updates map->spans which is data for
actual drawing. But if changed_map is false, then evas_object_map_update does
not update map->spans.

Usually mapped object has following step.

(1) change map data (evas_map_point_coord_set)
(2) render_pre
(3) evas_object_map_update updates map->spans if changed_map is true.
(4) render
(5) render_post -> evas_object_cur_prev -> "map->prev = map->cur"

But if mapped object hides at step(1), then step(3),(4) does not happen. But
step(4) map->prev keeps changed map data. After this point, If same map data
comes, then map does not draw it. Because the new data is same with map->prev.

The issue occurs with following step.
(A) point_coord_set with point A.
(B) (2)(3)(4)(5) works.
(C) point_coord_set with point B. And hide.
(D) (2)(5) wokrs.
(E) point_coord_set with point A. still hide, so none of (2)(3)(4)(5) work.
(F) point_coord_set with point B. And show.
(G) (2)(3)(4)(5) works. BUT step(3) does not update map->spans because
changed_map is false. So you can see image of point A.

The changed_map is changed to false after updating map->spans at step(3).
So usually changed_map is false before deciding changed_map of next render.
In case of not rendering (but render_pre/post) after map data is changed, the
changed_map keeps true. So this patch was suppose to make changed_map
false if changed_map is already ture before _evas_map_calc_map_geometry
decides changed_map which occurs step(1). true changed_map indicates that
you need to draw even though new map data is same with previous map data.

Test Plan: {F3739770}

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoedje/style: Remove redundant style tags from style text.
subhransu mohanty [Tue, 13 Aug 2019 02:17:28 +0000 (11:17 +0900)]
edje/style: Remove redundant style tags from style text.

Summary:
Both font and font_size are already added into the style text
in _edje_format_reparse() function and there we update the tag->font_size
as well as tag->font member. so I think it is unnecessary to
add again which has memory as well as parsing performance impact.

Note :
   someone please update this cryptic comment
   /* Add font name last to save evas from multiple loads */
   how this is going to help saving multiple load.

Reviewers: ali.alzyod, Hermet, raster, cedric

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

4 years agoelementary: add tests for the efl_part support of efl_ui_property_bind.
Cedric BAIL [Thu, 8 Aug 2019 21:36:38 +0000 (14:36 -0700)]
elementary: add tests for the efl_part support of efl_ui_property_bind.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9529

4 years agoelementary: add support for efl_ui_property_bind to all efl_part inheriting from...
Cedric BAIL [Thu, 8 Aug 2019 21:18:19 +0000 (14:18 -0700)]
elementary: add support for efl_ui_property_bind to all efl_part inheriting from widget using reflection.

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

4 years agoelementary: add support for widget part property bind.
Cedric BAIL [Thu, 8 Aug 2019 00:21:24 +0000 (17:21 -0700)]
elementary: add support for widget part property bind.

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

4 years agotextblock/optimization: refactor evas_textblock_style for memory and perfromance.
subhransu mohanty [Mon, 12 Aug 2019 02:42:27 +0000 (02:42 +0000)]
textblock/optimization: refactor evas_textblock_style for memory and perfromance.

the main user of textblock_style_set() api is the edje whcih keeps its owen edje_textblock_style
tags( string_shared string) by changing the textblock to keep the string_shared string will improve
the chance of sharing the same string hence reducing memory.

By removing the Eina_StrBuf usage inside the loop in textblock_style_set() api we can avoid lot
of temporary memory allocation and deallocation hence will improve performance.

Note: I see lot of places we use Eina_Strbuf inside a loop (eina_strbuf_new() does 2 allocation)
We need to be extra carefull while reviewing when the code uses those construct to see if its really necessary.

Data: it reduces memory allocation by 7000 in elementary_test launch time.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9545

4 years agoedje/textblock: Don't add text_class style tag to the final style string
subhransu mohanty [Mon, 12 Aug 2019 01:24:39 +0000 (01:24 +0000)]
edje/textblock: Don't add text_class style tag to the final style string

Evas_TextBlock_Style has no idea about the text_class tag its a garbage value to it.
So keep the text_class tag in the edje level and update the text style property in the
final style string when necessary.

Because text_class id tends to be unique by removing from the final style string
enable it to be shared (string shared string).

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9544

4 years agobuild: enables PIE option on efl binaries 47/212247/3
Wonki Kim [Mon, 19 Aug 2019 08:27:14 +0000 (17:27 +0900)]
build: enables PIE option on efl binaries

to enhance security, PIE option should be enabled.
this patch enables the option.

adding -fPIE and -pie into cflags and ldflags doesn't work.
so that this patch makes pie option enabled on `executable`
in meson build definition files

Change-Id: I248edde2edf40bbe6a2f60cf82e10cf352719b1d

4 years agoevas_vg_load_svg: Support "display" attribute. 49/212349/1
JunsuChoi [Tue, 20 Aug 2019 11:32:15 +0000 (20:32 +0900)]
evas_vg_load_svg: Support "display" attribute.

Summary:
If the display attribute is "none", VG object is not show.
The default is "inline" which means visible and "none" means invisible.

Depending on the type of node, additional functionality may be required.
refer to https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/display

Test Plan:
[SVG]
<svg viewBox="0 0 220 100" xmlns="http://www.w3.org/2000/svg">
  <!-- Here the yellow rectangle is displayed -->
  <g display="none">
    <rect x="0" y="0" width="100" height="100" fill="skyblue"></rect>
  </g>
  <rect x="20" y="20" width="60" height="60" fill="yellow"></rect>

  <!-- Here the yellow rectangle is not displayed -->
  <rect x="120" y="0" width="100" height="100" fill="skyblue"></rect>
  <rect x="140" y="20" width="60" height="60" fill="yellow" display="none"></rect>
</svg>

[C CODE]
int main(int argc, char **argv)
{
   setenv("ECTOR_BACKEND", "default", 1);
   elm_init(argc, argv);

   Evas_Object *win = elm_win_util_standard_add(NULL, "test");
   evas_object_smart_callback_add(win, "delete,request", win_del, 0);
   elm_win_autodel_set(win, 1);

   Evas *evas = evas_object_evas_get(win);

   Evas_Object *vg = evas_object_vg_add(evas);
   evas_object_show(vg);
   Evas_Object *container = evas_vg_container_add(vg);
   evas_object_vg_root_node_set(vg, container);

   Evas_Object *svg = efl_add(EFL_CANVAS_VG_OBJECT_CLASS, container);
   efl_file_simple_load(svg, "./test.svg", NULL);
   efl_gfx_entity_size_set(svg, EINA_SIZE2D(600, 600));
   efl_gfx_entity_visible_set(svg, EINA_TRUE);
   evas_object_size_hint_weight_set(svg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(svg, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_win_resize_object_add(win, vg);
   evas_object_resize(win, WIDTH, HEIGHT);
   evas_object_show(win);
   elm_run();
   elm_shutdown();
   return 0;
}

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I665a20bd57829e470829428344e4763911dbe326

4 years agoevas svg: fix svg spec compatibility. 83/212283/1
Hermet Park [Mon, 19 Aug 2019 12:35:35 +0000 (21:35 +0900)]
evas svg: fix svg spec compatibility.

Minus degree value must be transformed to the signed before Radian.

It's easily tested i.e. the rotation degree is -350.

@fix

Change-Id: I7010f5b90b77bb53bd2dc6c3b3b73a56cb24b6e8

4 years agovg_common_svg: Apply node opacity to stroke color 82/212282/1
JunsuChoi [Mon, 19 Aug 2019 10:46:01 +0000 (19:46 +0900)]
vg_common_svg: Apply node opacity to stroke color

Summary:
  When an object to be converted to a stroke or
  path uses "opacity" attribute, opacity is also applied.

Test Plan:
[SVG]
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
        <rect fill="#FF0000" opacity="0" x="0" y="0" width="40" height="40"></rect>
        <path d="M12,20 L25,8 L12,20 Z M12,20 L25,32 L12,20 Z"
              id="Combined-Shape"
              stroke="#FFFFFF"
              stroke-width="2"
              opacity="0.12"
              stroke-linecap="round"
              stroke-linejoin="round" fill-rule="nonzero"></path>
</svg>

[Code]
int main(int argc, char **argv)
{
   setenv("ECTOR_BACKEND", "default", 1);
   elm_init(argc, argv);

   Evas_Object *win = elm_win_util_standard_add(NULL, "test");
   evas_object_smart_callback_add(win, "delete,request", win_del, 0);
   elm_win_autodel_set(win, 1);

   Evas *evas = evas_object_evas_get(win);
   Evas_Object *vg = evas_object_vg_add(evas);
   evas_object_show(vg);
   Evas_Object *container = evas_vg_container_add(vg);
   evas_object_vg_root_node_set(vg, container);

   Evas_Object *svg = efl_add(EFL_CANVAS_VG_OBJECT_CLASS, container);
   efl_file_simple_load(svg, "./i_arrow_l_disable.svg", NULL);
   efl_gfx_entity_size_set(svg, EINA_SIZE2D(600, 600));
   efl_gfx_entity_visible_set(svg, EINA_TRUE);
   evas_object_size_hint_weight_set(svg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(svg, EVAS_HINT_FILL, EVAS_HINT_FILL);

   elm_win_resize_object_add(win, vg);
   evas_object_resize(win, 600, 600);
   evas_object_show(win);
   elm_run();
   elm_shutdown();

   return 0;
}

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Icee18585931fae93ada60e256bb5d50a516ad64a

4 years agoecore_imf: Move @deprecated tag position 24/212224/3
Jihoon Kim [Mon, 19 Aug 2019 04:56:36 +0000 (13:56 +0900)]
ecore_imf: Move @deprecated tag position

Change-Id: Ieea69c51cd98e0c559b3f9f5fecb4e1c619df88e
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
4 years agoTemporary workaround libopenssl-devel/libopenssl1.1-devel conflict 43/208043/7 submit/tizen/20190819.100703 submit/tizen/20190821.000456
Dariusz Michaluk [Mon, 17 Jun 2019 13:17:52 +0000 (15:17 +0200)]
Temporary workaround libopenssl-devel/libopenssl1.1-devel conflict

If some package use efl and libopenssl-devel,
libopenssl1.1-devel is downloaded by GBS also, this cause conflict.
Requires.private field is a list of private packages required by this package,
but not exposed to applications. We can ommit this field.

Change-Id: I8a6e39fc79097c9380212e3a2b586931566dc5a4

4 years agoMigrate to openssl 1.1 70/209970/6
Dariusz Michaluk [Fri, 12 Jul 2019 15:43:16 +0000 (17:43 +0200)]
Migrate to openssl 1.1

Change-Id: I99d4193a49d32dc19227adea06ab1feca7c7323d

4 years agoelm_popup: Fix text is not shown in small toast popup. 95/211295/2
Subodh Kumar [Thu, 1 Aug 2019 07:26:53 +0000 (12:56 +0530)]
elm_popup: Fix text is not shown in small toast popup.

Test Plan: elm-demo-tizen->popup->small toast popup

@tizen_fix

Change-Id: Ie67ed24919ec32d8628c41839404663ae2e9a7c5

4 years agoefl_ui_layout: remove efl_gfx_hint_size_min_set in _sizing_eval 13/212113/1 accepted/tizen/unified/20190818.221636 submit/tizen/20190814.085144
Yeongjong Lee [Wed, 14 Aug 2019 08:38:04 +0000 (17:38 +0900)]
efl_ui_layout: remove efl_gfx_hint_size_min_set in _sizing_eval

Summary:
`evas_object_size_hint_min_set` is replaced with `efl_gfx_hint_size_min_set` in
4d79efce6. it is able to have backward compatibility issue because
`evas_object_size_hint_min_set` call `efl_gfx_hint_size_restricted_min_set`
internally.
```
evas_object_main.c:2501
EAPI void
evas_object_size_hint_min_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h)
{
   efl_gfx_hint_size_restricted_min_set(obj, EINA_SIZE2D(w, h));
}
```

This patch remove unnecessary min_set call.

Test Plan: elementary_test

Reviewers: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ie8843df55e40aa018b3628e17e5397507cef7cb1

4 years agoefl_ui_layout: fix typo in _sizing_eval 61/212061/1
Jaehyun Cho [Wed, 14 Aug 2019 01:28:26 +0000 (10:28 +0900)]
efl_ui_layout: fix typo in _sizing_eval

Change-Id: Ia9aa9906d1859dc2788bb778817152498e4f28f3

4 years agoelm_index: add signals to identify last item for index item theme 34/212034/2
Jaehyun Cho [Tue, 13 Aug 2019 09:30:38 +0000 (18:30 +0900)]
elm_index: add signals to identify last item for index item theme

"elm,order,last,item" is emitted to identify the last item.
"elm,order,default,item" is emitted to identify the not last item.

Based on the Tizen UX, there is a divider between two index items.
Each index item has its divider on its right side in index item theme.
Therefore, the left end divider is not displayed automatically.
Not to display the right end divider of index widget,
"elm,order,last,item" signal is emitted. When the signal is received to
index item, then the index item hides its divider.

@TIZEN_ONLY

Change-Id: I849f423865e9eed8c45f0103f6a5d2a1c67ce551

4 years agoRevert "ecore_wl2: Move ecore_wl2_window_rotation_change functions to be" 81/211981/1 submit/tizen/20190813.054738
Jaehyun Cho [Tue, 13 Aug 2019 04:17:51 +0000 (13:17 +0900)]
Revert "ecore_wl2: Move ecore_wl2_window_rotation_change functions to be"

This reverts commit 8da981976a89a777d8c5de2792c1bcf78b3b0c1f.

The APIs are still used in Tizen.
Therefore, these APIs cannot be internal in Tizen.

Change-Id: If77ae796baeaff1692967968e858f33e1c9a27f3

4 years agoefl_ui_animation_view: Fix eolian build error 70/211970/1
Yeongjong Lee [Tue, 13 Aug 2019 04:22:35 +0000 (13:22 +0900)]
efl_ui_animation_view: Fix eolian build error

@.State should be @Efl.Ui.Animation_View_State

Change-Id: I5276f0ebd53db81d3de89a26a353aeb72e11840d