Commit Graph

27921 Commits

Author SHA1 Message Date
Christopher Michael 2c4b26ef4e tests/ecore_wl2: Add test for ecore_wl2_input_keymap_get
ref T8016
2019-08-01 08:59:26 -04:00
Christopher Michael f15ca5e227 tests/ecore_wl2: Add test for ecore_wl2_input_display_get function
ref T8016
2019-08-01 08:56:42 -04:00
Christopher Michael f166cf3741 tests/ecore_wl2: Add test for ecore_wl2_input_seat_id_get function
ref T8016
2019-08-01 08:53:45 -04:00
Christopher Michael f481b6acf1 tests/ecore_wl2: Fix assert tests for some window functions
ref T8016
2019-08-01 08:53:21 -04:00
Christopher Michael 34514ccf58 tests/ecore_wl2: Add start of Ecore_Wl2_Input API tests
ref T8016
2019-08-01 08:41:07 -04:00
Christopher Michael a7971f409d efl_ui_collection: Mark unused parameter
double align is actually unused in this function, so mark it as such
2019-08-01 08:32:42 -04:00
Xavi Artigas 84601549e8 eolian_mono: Fix whitespace in generated cs files
Pet peeve of mine.
2019-08-01 13:28:26 +02:00
Marcel Hollerbach d671c7e42b fix warning 2019-08-01 11:41:30 +02:00
Marcel Hollerbach 7610920ed0 elementary_test: add a test to show our frame widget
it does not work yet, but we at least have the chance of seeing it.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9194
2019-08-01 11:41:30 +02:00
WooHyun Jung d02a3ecb66 efl_input_clickable: add longpress_abort
Now, a specific class which uses efl_input_clickable_util is able
to cancel ongoing longpress event by calling longpress_abort.

This commit shows how efl_ui_text uses longpress_abort to satisfy
its own longpress use case

ref T7847

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9455
2019-08-01 11:33:03 +02:00
WooHyun Jung d2f7bacc2c efl_ui_clickable_util: remove efl_input_processed_set
Summary:
efl_input_processed_set needs to be used only when specific
event marks that it is monopolizing current user interaction.
(such as scrolling).
But, press event or unpress event looks not that proper.

Reviewers: bu5hm4n, Jaehyun_Cho

Reviewed By: bu5hm4n, Jaehyun_Cho

Subscribers: AbdullehGhujeh, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9454
2019-08-01 17:19:16 +09:00
Marcel Hollerbach d98d434e56 efl_ui_position_manager: move from accessor to function callback
this commit enables access to the item structure of the collection via a
function callback. The function callback now enables batching for items,
which does not pay off right now. However, a few more optimizations can
be done in order to get the whole payoff.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9445
2019-07-31 15:51:48 -07:00
Felipe Magno de Almeida 69975fc72d eolian-cxx: Add special type tags to make function_wrapper specializations unique
Reviewers: lauromoura, bu5hm4n, woohyun

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9469
2019-07-31 18:38:59 -03:00
Felipe Magno de Almeida dccd68491c eolian-cxx: Generate eot files
Summary:
Eolian Type files were not being generated, which made some template
specialization to not be defined, for example for function_wrappers.

Reviewers: bu5hm4n, woohyun, lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9468
2019-07-31 18:38:02 -03:00
Mike Blumenkrantz eb938f8a88 efl_ui/win: use efl_ui_image internally for non-legacy widgets
switch to using a fully non-legacy widget when this is not being created
with elm_win_add

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9466
2019-07-31 14:00:18 -07:00
Mike Blumenkrantz 02f1ce8d54 elm/colorselector: go back to using elm_box internally
legacy widgets should not use efl_ui widgets internally and vice versa

reverts b11f371703

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9465
2019-07-31 14:00:15 -07:00
Mike Blumenkrantz 407a0aa367 elm/colorselector: directly use smart callback api here
this is not a mixed legacy+unified widget, so we don't need to use
efl api here

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9464
2019-07-31 14:00:13 -07:00
Mike Blumenkrantz dd11dadfef efl_ui/tags: use flow box internally
the existing layout code here is basically just a flow box, so use that
instead to avoid mixing legacy widgets in unified ones

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9463
2019-07-31 14:00:11 -07:00
Ali Alzyod 32cffb4494 evas_textblock: change font-size/font-family only using EFL.Text.Font Interface
Currently:
User cannot change font size only, he needs to set both font and font size with (**efl_text_font_font_set**)
To change size only, you need to make two calls, one to get font (**efl_text_font_font_get**) , then pass it again with new size to (**efl_text_font_font_set**).

New Behaviour:
If user want to change size only, then he passes NULL as font argument to keep same font.
If user want to change font only, then he passes 0 as font-size argument, to keep same font-size.

Notes:
This is not best solution, but it better than current behaviour.
I think best solution to have separate function to set font size, but It might break current api or duplicate functions.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9158
2019-07-31 10:54:55 -07:00
Marcel Hollerbach 6d0f514126 efl_ui_check/radio: use clickable
Summary:
with this commit the state of the check / radio buttons are changes when
the Widget is clicked. The Widget is now using clickable and emits all
the events.

ref T7865

Reviewers: segfaultxavi, zmike, Jaehyun_Cho, woohyun

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7865

Differential Revision: https://phab.enlightenment.org/D9456
2019-07-31 09:12:07 -04:00
Carsten Haitzler 79d3748557 evas events - fix segv if pointer data is freed by cb
callback can free what is in context. avoid that problem

@fix
2019-07-31 14:05:55 +01:00
Xavi Artigas 16866e4ef2 Efl.Composite_Model: Improve docs. 2019-07-31 14:24:53 +02:00
Woochanlee 740b91c9de ecore_wl2: Changed log macro ERR->EINA_LOG_ERR.
Summary:
When the ecore_wl2_shutdown() calling without ecore_wl2_init().

It makes crash.

Reviewers: eagleeye, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9452
2019-07-31 07:34:56 -04:00
Xavi Artigas 359a118cda Efl.Ui.Spin: Remove mouse wheel interaction
This widget is now meant as a base class for other widgets, with very limited
user interaction. Efl.Ui.Spin_Button already takes care of mouse wheel events.

Ref T7897

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9453
2019-07-31 12:44:31 +02:00
Jaehyun Cho b218dcbc3f efl_ui_spotlight: pop() unpacks content although there is one content
Previously, pop() does not unpack content if there is one content.

Now, pop() unpacks content without transition if there is one content.
Since there is no transition, NULL future is returned.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9450
2019-07-31 12:21:06 +02:00
Carsten Haitzler 8dbdcff3cb Revert "edje/calc: clamp part calc size to 0"
This reverts commit 895ffd93cc.

This commit broke E's widget toolbars that only had text - so many
config dialogs broke. too simple to fix - it's a wrong premise to
begin with it would seem.
2019-07-31 10:17:06 +01:00
Marcel Hollerbach 1e363538b3 slider_cxx: fix casting
this object now needs to be casted, in order to have the event
available.
2019-07-31 10:57:26 +02:00
Marcel Hollerbach f00e24de29 efl_pan: improve docs
Summary: documentation now reflects what is happening in the functions

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8863
2019-07-31 10:50:14 +02:00
Marcel Hollerbach 14ff010601 efl_ui_spec: add test suite for range_display events
Summary:
this test case ensures the correct emittation of the newly added events.

ref T7895
Depends on D9372

Reviewers: segfaultxavi, zmike, woohyun, cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7895

Differential Revision: https://phab.enlightenment.org/D9373
2019-07-31 10:18:20 +02:00
Marcel Hollerbach 8f7fa82244 efl_ui_*: add the new events to the widgets
previous commit introduced new events to range_display. This commit
ensures correct emittation of those events.

ref T7895

Differential Revision: https://phab.enlightenment.org/D9372
2019-07-31 10:18:20 +02:00
Marcel Hollerbach c0082b1c71 efl_ui_range_display: move events from spin
we concluded min,reached and max,reached should be on every widget that
implements range_display. This here is the start of that work, the
events are moved, next commit fixes all widgets, the last commits
enables tests in the spec unit test.

ref T7897
ref T7895

Differential Revision: https://phab.enlightenment.org/D9371
2019-07-31 10:18:20 +02:00
Marcel Hollerbach 911eab3420 efl_ui_item: remove sizing eval code
i do not know why this code is there. But the same code is called in
layout itself, additionally this results in way less calls for
calculating the minsize (Not sure why).

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9425
2019-07-31 08:42:09 +02:00
Jaehyun Cho 959c68ca2e efl_ui_spotlight: add scroll_block to Manager_Scroll
To support blocking of scrolling movement, @property scroll_block has
been added to Manager_Scroll.
If scroll_block is set to be true, then scrolling movement by mouse
input is blocked.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9444
2019-07-31 08:42:08 +02:00
Hermet Park e092878d11 vg json: --log level
Vector needs to try load a lottie file in a brutal force way,
If the input source is not identified.
2019-07-31 15:12:19 +09:00
Lauro Moura 119d26f43f csharp: Add EFL_BETA guards around new test
Summary:
The test method is not generated when beta is disabled as
`Eina.Value_Type` is marked @beta and eolian complains if we try to use
it.

Other `Eina.Value` methods work despite `Eina.Value` also being beta due
to its usage as stable through the keyword `any_value[_ptr]`.

Reviewers: vitor.sousa, bu5hm4n, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9449
2019-07-30 17:57:24 -03:00
Lauro Moura d0e10dd273 ecore: Fix download test.
Summary:
After ecore_main_loop_quit() changes, calling it from outside the main
loop does not make the next iteration of the main loop quit, causing the
original version of the test to deadlock.

Also update the function documentation about it.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, felipealmeida, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9448
2019-07-30 15:22:03 -04:00
Mike Blumenkrantz c594c83a02 efl_ui/layout: use MAX macro for min size clamping in group calc
Summary: Depends on D9442

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9447
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz d17ec12faf efl_ui: always set restricted_min size hints internally
Summary:
regular min size hint is for users, internal calcs should use restricted

@fix

Depends on D9441

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9442
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 872d43f0a0 elm_layout: move elm_layout_sizing_restricted_eval to layout mixin
Summary:
this function should never need to be called on new widgets

Depends on D9440

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9441
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 4d79efce64 elm_layout: create a mixin to provide elm_layout_sizing_eval
Summary:
this removes elm_layout_sizing_eval entirely from the implementation
hierarchy of any efl_ui-based widgets, ensuring that future code will
correctly use efl_canvas_group functionality

Depends on D9439

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9440
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 7e517e2a11 elm/efl_ui: remove elm_layout_sizing_eval implementations
Summary:
historically there have been two methods of calculating sizes in elm:
* elm_layout_sizing_eval
* evas_object_smart_calculate (now efl_canvas_group_calculate)

the former was used to set size hints on widgets, while the latter was
used to perform internal size calcs for the widget. for things to
work correctly, these functions had to be triggered in just the right
order at just the right time. many hard-to-fix bugs related to widget
sizing over the years have been the result of this split

this patch removes elm_layout_sizing_eval implementations so that all
widgets perform both internal size calcs and size hint setting all
in the same function, ensuring that these are always in sync

the result is that in the vast majority of cases, far fewer recalcs
happen for widgets, and they are quicker to achieve their final size

Depends on D9438

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9439
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 586f41f927 efl_ui/layout_base: add subobjs_calc internal functionality
Summary:
this functionality forces group_calc on a layout's subobjects during
layout group_calc so that the layout's own group_calc will yield consistent
and correct results

currently this is only used in panel widgets

Depends on D9437

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9438
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz e583eba56b efl_ui/layout_base: add "finger_size_multiplier" property
Summary:
this feature is set on objects which inherit from layout_base in order to
allow automatically application of variable finger sizes based on a
widget's needs

an example of this would be a calendar, which is 7:8 fingers

this functionality is disabled by passing 0,0 as the property

@feature

Depends on D9436

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9437
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 46cf288d32 efl_ui/layout: implement group_calc, add finger size for inherited layouts
Summary:
this adds a group_calc implementation for the layout object (not layout_base)
to allow differentiation between inherited layout calcs and layout object
calcs

by using this, we can automatically apply finger size to inherited layout
calcs if the implementation ever reaches this point

Depends on D9435

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9436
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz 268d06d381 efl_ui/layout: use min size hints when calculating layout size
Summary:
for legacy layouts, all min size hints should be considered when performing
size calculations

for non-legacy layouts, only "user" min size hints should be considered, as we
are calculating the restricted min size hint in this function

Depends on D9434

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9435
2019-07-30 13:12:52 -04:00
Mike Blumenkrantz adc510f9ee efl_ui: change calls to elm_layout_sizing_eval to efl_canvas_group_change
Summary:
elm_layout_sizing_eval is a legacy function which should not need to be called
on new widgets

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T8059

Differential Revision: https://phab.enlightenment.org/D9434
2019-07-30 13:12:52 -04:00
Marcel Hollerbach 6883087ac7 Revert "evas_object_textblock: add support for variation sequences"
This reverts commit f7ce771e32.
2019-07-30 19:09:12 +02:00
Lauro Moura 29d24aa409 csharp: Add marshal support for Eina.ValueType
Summary:
It uses a custom marshaler and a helper boxing class to convert between
the managed enum values and the native Eina_Value_Type pointers.

To be used by future MVVM machinery.

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9443
2019-07-30 11:47:07 -03:00
Daniel Kolesa 1530d0386c eolian_gen: generate freefuncs for strbuf/binbuf 2019-07-30 15:57:52 +02:00
Daniel Kolesa a17d3300bd eolian: make strbuf ownable 2019-07-30 15:57:52 +02:00
Xavi Artigas 25324500e4 Fix typo in Efl prefix
This annoyed me far far far more than it should.
2019-07-30 15:36:32 +02:00
Mike Blumenkrantz 895ffd93cc edje/calc: clamp part calc size to 0
this could previously have been negative

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9431
2019-07-29 11:17:51 -07:00
Mike Blumenkrantz 36ff0a012c elm/config: fix config usage with EFL_RUN_IN_TREE set
when running in tree, elm_config should not attempt to access files
outside the tree, nor should it attempt to overwrite any existing config
files

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9433
2019-07-29 11:17:49 -07:00
Mike Blumenkrantz b561e9632e elm/config: monitor MODIFIED events on config files
eio/inotify now receives these events when the config file is modified,
even though the file is copied onto that location. this fixes config
updating at runtime

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9432
2019-07-29 11:17:46 -07:00
Marcel Hollerbach 2057957d21 efl_ui_pan: emit position changed when content is resized
even if the position is not really changed here, the min / max relation
has changed. If we do not emit this event here, every user (that
calculates a relative position) would have to monitor the pan position
and the size of the content. This simplifies the given usecase, and
fixes the scroller position when new items are added to the collection.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9411
2019-07-29 11:17:44 -07:00
Marcel Hollerbach 764f35b7a3 elm_test: add a example that shows efl_ui_item instances
this is just a little showcase to show the possible items

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9430
2019-07-29 11:17:42 -07:00
Mike Blumenkrantz 7f2ce2f99a elm_test: add option for running all tests on startup
this is useful for doing quick testing when making invasive changes that
affect a large number of widgets, such as rewriting all sizing calc code

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9407
2019-07-29 11:17:40 -07:00
Mike Blumenkrantz 44ff1e73bb efl_ui/popup: unset callbacks on win object when parent is removed
these callbacks must be removed if there is no parent, otherwise they
may trigger once the widget is deleted and trigger invalid object access

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9429
2019-07-29 11:17:37 -07:00
Ali Alzyod f7ce771e32 evas_object_textblock: add support for variation sequences
update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9053
2019-07-29 11:17:35 -07:00
Lauro Moura 7927023fc7 pyolian: Fix tests
Summary: Update tests after some legacy cleanup from last release.

Reviewers: bu5hm4n, DaveMDS, segfaultxavi

Reviewed By: DaveMDS

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8817
2019-07-29 11:39:10 -03:00
Marcel Hollerbach 0ab05a8271 efl_ui_item: try to improve docs
its everything but perfect, but a start ...

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9424
2019-07-29 16:32:06 +02:00
Marcel Hollerbach 44a45e3aca efl_ui_item: migrate to Efl.Ui.Clickable
this adds the mixin to the item. With this commit every class inheriting
from Efl.Ui.Item will automatically emit all the clickable events.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8830
2019-07-29 16:32:05 +02:00
Mike Blumenkrantz a61cef3fb2 efl_ui/popup: implement efl.file.unload for popup backwall part
this fixes unsetting images for popup backwall

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9415
2019-07-29 16:21:12 +02:00
Mike Blumenkrantz a247bd0f56 efl_ui/popup: use correct class when setting popup backwall file
MY_CLASS failure strikes again

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9416
2019-07-29 16:21:11 +02:00
Marcel Hollerbach b4f5b78550 efl_ui_item: remove self field
Summary:
there is no reason to have this field, pd of a item is always passed
with the object.

Reviewers: segfaultxavi, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9423
2019-07-29 16:09:14 +02:00
Mike Blumenkrantz d01885ec8b elm_test: add keybinds to rapidly flip between tests
when not using --test-win-only, allow opening new tests forward and
backward with alt+. and alt+,

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9406
2019-07-29 16:06:22 +02:00
Mike Blumenkrantz e1f2b9d235 elm_test: replace bespoke arg handling with a for loop
this fixes handling of --help regardless of its position in the arg array

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9405
2019-07-29 16:06:21 +02:00
Mike Blumenkrantz e0ae3a9a76 efl_ui/widget: check legacy type on correct object for scroll_hold push/pop
too much copy/paste

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9399
2019-07-29 16:06:20 +02:00
Mike Blumenkrantz 62d4d4c5b8 elm/ctxpopup: check list existence before trying to delete list items
this is kinda gross, but if the list is already deleted then the list
items are also gone and this is an invalid object access

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9402
2019-07-29 16:06:19 +02:00
Mike Blumenkrantz b1986363db tests/elm: move efl_config tests to efl_ui_suite
these invoke non-legacy codepaths which should never be triggered during
legacy unit tests

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9403
2019-07-29 16:06:18 +02:00
Mike Blumenkrantz b9648605e8 tests/elm: add test for ctxpopup sizing
verify that size hints of content are being respected

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9404
2019-07-29 16:06:17 +02:00
Mike Blumenkrantz 7827381221 elm_test/modal_win: handle case where test is not passed the main window
Summary:
this test is not runnable when it is not triggered directly from pressing
a button in the main window

Reviewers: devilhorns

Reviewed By: devilhorns

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

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9401
2019-07-29 09:17:20 -04:00
Ali Alzyod 0bab8be791 evas_textblock: markup: handle invalid/missing escape characters
Summary:
T8088

if escape character sequence not found for example **&123;** :
* (Old Behaviour)  : Draw nothing
* (New Behaviour)  : Draw Text like it plain text

I think this is the right behaviour since:
1- We print output as it is, so user can detect what was the problem.
   For example user write &gf; (by mistake, he wanted to write &gt;)
   == if we nothing is printed he would not know exactly where is the real problem.
      it can be font file, textblock is not visible, he may think bug in efl
   == if we printed &gf; as it is, it will direclty show that this is not valid escape char.
2- If user made mistake in text, it is better to show it instead of hide it, maybe there are new sequences that we do not know about.

This behaviour was checked on multible systems:
1- Web Browsers like chrome
2- Qt
3- Android

They all have same as our new behaviour

Example :
markup text =  "&gt;&gf;
Old              :     >
New            :     >&gf;

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1

#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>

static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
   efl_exit(0);
}

static void
_gui_setup()
{
   Eo *win, *box;

   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                 efl_text_set(efl_added, "Hello World"),
                 efl_ui_win_autodel_set(efl_added, EINA_TRUE));

   // when the user clicks "close" on a window there is a request to delete
   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

   box = efl_add(EFL_UI_BOX_CLASS, win,
                efl_content_set(win, efl_added),
                efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

   efl_add(EFL_UI_TEXT_CLASS, box,
           efl_text_markup_set(efl_added,
           "&gt;&gf;"),
           efl_text_interactive_selection_allowed_set(efl_added, EINA_FALSE),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.9),
           efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
           efl_text_multiline_set(efl_added,EINA_FALSE),
           efl_pack(box, efl_added));

   efl_add(EFL_UI_BUTTON_CLASS, box,
           efl_text_set(efl_added, "Quit"),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.1),
           efl_pack(box, efl_added),
           efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
                                  _gui_quit_cb, efl_added));
}

EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
   _gui_setup();
}
EFL_MAIN()
```

Reviewers: woohyun, bowonryu, segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9428
2019-07-29 14:09:32 +02:00
Mike Blumenkrantz 444a068c05 elm_test: fix anchor popup test
Summary:
this group name was wrongly changed by sed

ref d4526f44b8

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9419
2019-07-29 12:31:59 +02:00
Xavi Artigas ef235c43c8 Fix build break
Caused by 1c0a459293
I should have been more careful before approving, my bad.
2019-07-29 12:23:18 +02:00
Ali Alzyod 1c0a459293 efl_gfx_color: fix color_code_set
Summary:
There are two parts for this patch:
1- Fix sigmentation fault when using (efl_gfx_color_color_code_set).  // It try to modify const variable
2- Remove unnecessary code. // why would user pass slash or back slash as color code format.

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1

#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>

static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
   efl_exit(0);
}

static void
_gui_setup()
{
   Eo *win, *rect;

   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                 efl_text_set(efl_added, "Hello World"),
                 efl_ui_win_autodel_set(efl_added, EINA_TRUE));

   // when the user clicks "close" on a window there is a request to delete
   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);
   rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS,win);
   const char *color = "#FF0000FF";
   efl_gfx_color_code_set(rect,color);
   evas_object_resize(rect,250,250);
   evas_object_resize(win,250,250);
   evas_object_move(rect,0,0);
   evas_object_show(rect);
   evas_object_show(win);
}

EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
   _gui_setup();
}
EFL_MAIN()
```

Reviewers: zmike, cedric, segfaultxavi, woohyun

Reviewed By: segfaultxavi

Subscribers: singh.amitesh, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9422
2019-07-29 12:10:25 +02:00
WooHyun Jung 77e268e6ab efl_input_clickable: rename efl_ui_clickable to efl_input_clickable
Summary:
Renamed all efl_ui_clickable_XXX to efl_input_clickable_XXX based on
the discussion in T7847

ref T7847 T7976

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7976, T7847

Differential Revision: https://phab.enlightenment.org/D9427
2019-07-29 11:43:01 +02:00
Carsten Haitzler 9b294d6284 eina file - stat generation inexactness support
this is a performance optimization. it brings in a "stat generation".
for now it's disabled by default so we retain previous behavior. this
stops eina file from opening and stating a file every time you open
... it only does it if stat generation is off, or, if the generation
changed since the last time it opened that file. this makes cache hits
not have a 3 syscall cost (open+fstat+close). this optimizes that
lower end of things path. but .. it comes at a cost. if the file
changes before generation ticks over (which this forces to tick over
every time the loop exits idle by default).

now here is something to ask.

1. should we have this on by default and accept the "inexactness"
since you can eina_file_statgen_next() before any call that would do
i/o to force it to look at the real file stat info...
2. should we tick over every idle enter OR every N idle enters  or
every frame we render instead? ... i want to avoid getting a timestamp
or having a timer interrupt often... so what should we do?

at least this introduces the idea, some api's and an env var to turn
this on. it definitely cuts down syscalls during things like creation
of widdgets or objects in large batches etc.
2019-07-28 11:51:15 +01:00
Carsten Haitzler 0ff42fa4e5 elm test - set var to null to avoid warning 2019-07-28 11:40:18 +01:00
Carsten Haitzler 4d27f5f63e warning - move break in switch to handle properly and addess warning 2019-07-28 11:37:23 +01:00
Carsten Haitzler 188874e289 examples - use putenv, not setenv for porting reasons
putenv is more portable than setenv, so usethat instead. this nukes
warnings on windows as evil is meant to go private and you thus have no
setenv anymore.
2019-07-28 11:17:51 +01:00
Carsten Haitzler 5fd272d038 filesel example - add locale.h include since we use setlocale 2019-07-28 10:33:07 +01:00
Carsten Haitzler 508c2954f3 ecore win32 - disable #warning because all it does is fill build logs
we see it 100's of times during build. disabling this. the comments
etc. are still there, but more value in commenting out than keeping it
so we can see the forest from the trees.
2019-07-28 10:29:52 +01:00
Vincent Torri 5b51a6bb20 Eio: enable eio_file_chown if chown is available on the platform
Test Plan: compilation on Windows

Reviewers: zmike, raster, cedric

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9393
2019-07-28 09:38:26 +01:00
Vincent Torri a6ade14c5e Evil: remove pwd code in Evil and fix compilation failures after the removal
Summary: remove pwd code in Evil

Test Plan: compilation

Reviewers: zmike, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9420
2019-07-28 09:27:27 +01:00
Vincent Torri 04848c98f2 Eina: define EINA_HAVE_DEBUG_THREADS only if backtrace() in execinfo.h is available
Summary: fix compilation on systems where backtrace() in execinfo.h is not available

Test Plan: compilation on Windows

Reviewers: zmike, cedric, raster

Reviewed By: cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9392
2019-07-28 09:21:53 +01:00
Xavi Artigas bc955f35bb Rename Efl.Gfx.Image.Stretch_Region -> Efl.Gfx.Image_Stretch_Region
Otherwise we have a symbol <-> namespace clash. Again.
2019-07-26 22:35:40 +02:00
Yeongjong Lee 41aa680c85 efl_mono: update docs of CreateWrapperFor
Reviewers: lauromoura, felipealmeida, segfaultxavi, vitor.sousa

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9084
2019-07-26 20:51:46 +02:00
Vitor Sousa 8d1bd770df csharp: fix EFL# by updating it to reflect the newest changes in Eolian
Summary:
`Efl.Event` became a builtin type that is no longer declared in `efl_object.eo`,
and therefore it is no longer automatically generated in EFL#.
Given that, we define a struct manually to reflect the memory layout of the
native struct.

Containers of value types are now allowed in eolian, so tests that were disabled
because of the restriction on `ptr` were re-enabled using the plain type.

But since these containers have just arrived, handling of ownership for value
types is currently undefined in bindings.
Hence, tests that used `ptr(int) @owned` as elements were left disable.
This will be solved in a future patch.

`void_pr` is now deprecated, so we remove it from tests also.

Reviewers: q66, segfaultxavi, lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9417
2019-07-26 15:47:33 -03:00
Mike Blumenkrantz 44dbf5c22a efl_ui/datepicker: adjust datepicker minimum limits
Summary:
this whole thing seems pretty busted but at least now it won't error and
break elm_test

t.tm_mday is 0 when the function in the macro returns, so this value needs
to be clamped like the others

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9398
2019-07-26 17:00:06 +02:00
Felipe Magno de Almeida 8377ea20a0 efl-js: Remove private keys for Twitter API from example
Summary: For security concerns we removed the secret keys which could be used improperly by the wrong people.

Reviewers: woohyun, cedric, lauromoura

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9377
2019-07-26 14:59:29 +02:00
Daniel Kolesa 1a95e87f58 eolian: fix tests after latest restrictions 2019-07-26 14:39:38 +02:00
Daniel Kolesa 1348569bfa eolian: allow value types in owning containers (list/array/etc) 2019-07-26 14:13:50 +02:00
Daniel Kolesa 0259f98472 eolian: also ban underscore prefixed builtins in stable API 2019-07-26 13:38:01 +02:00
Daniel Kolesa 635a2df7e7 eolian: ban void_ptr in stable APIs
This required some refactoring in eldbus and tests but otherwise
seems good to go.
2019-07-26 13:35:27 +02:00
Daniel Kolesa d964a04da1 eo: remove Efl_Event definition (replace with builtin) 2019-07-26 13:21:14 +02:00
Felipe Magno de Almeida f230dc9dbc eolian-cxx: Add binbuf and event keywords handling
n

Summary:
Add support in Eolian-Cxx for binbuf and event keywords and tests. It
will generate the C type while the manual binding in C++ for the types
do not exist.

Reviewers: q66, lauromoura

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9412
2019-07-26 13:02:28 +02:00
Carsten Haitzler d19e435ff9 reduce syscalls on opening files - roll CLOEXEC into open
on linux open supports() O_CLOEXEC. add test case for this in meson
build and ifdef. this rolls 3 syscalls into 1 as we were doing open,
then fnctl to get and fcntl to set flags.

less syscalls is a good thing as syscalls are not cheap on some
architectures or systems. I've seen a syscall on 1 system take 2-3x
as long as another and another syscall in the same 2 system
comparison take 10x as long. depending on the syscall you may only
have a budget of something like 5000 syscalls "per frame" (60fps)
before you spend all of your frame time just in syscalls not
doing any processing, so we should keep these down if possible
and that is what this does.
2019-07-26 11:43:17 +01:00
Hermet Park 24a49c8938 ecore_evas: prevent double free evas.
When user manually free the ecore evas,
it could delete evas internally,
then evas_invalidate would be triggered,
invalidate callback would try free evas again,
this causes double free evas.

TEST SCENARIO:
   ee = ecore_evas_new(...);
   ...
   ecore_evas_free(ee);
      -> free evas
         -> invalidated cb
            -> free evas (**double free)

This is a regression bug by 5847886a3f
2019-07-26 16:54:31 +09:00
Xavi Artigas e40f666807 Efl.Ui.Text: Minor tweaks on the documentation. 2019-07-26 09:48:16 +02:00
Taehyub Kim e1e4f90446 Efl.Gfx.Hint_Align: add define values for Efl.Gfx.Hint_Align
Summary:
Add define values for Efl.Gfx.Hint_Align
 - Efl.Gfx.Hint_Align_Left
 - Efl.Gfx.Hint_Align_Right
 - Efl.Gfx.Hint_Align_Top
 - Efl.Gfx.Hint_Align_Bottom
 - Efl.Gfx.Hint_Align_Center

Reviewers: bu5hm4n, Jaehyun_Cho, woohyun, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9413
2019-07-26 09:07:41 +02:00
junsu choi 3210fa3d69 ector: Prevent access to NULL buffer in software rasterizer
Summary:
Prevents a crash caused by a null pointer exception
when ector surface buffer is NULL.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9390
2019-07-26 13:12:48 +09:00
Cedric BAIL f66844ebbf elementary: use data:null to remove unecessary structure declaration.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9389
2019-07-25 21:03:11 +02:00
Mike Blumenkrantz 880296bb7d elm_test/plug: fix error handling
Summary:
if plug connection fails, a notification can't always be created because
there may be no object passed to this function to create a notify object on

@fix

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9400
2019-07-25 14:46:58 -04:00
Mike Blumenkrantz 485d2e37d8 elm/glview: fix glview to (again) return null if context creation fails
Summary:
engine internals have changed, so it's necessary to actually check whether
the glview api is available now to determine whether the glview is viable

@fix

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl_widgets

Differential Revision: https://phab.enlightenment.org/D9397
2019-07-25 14:46:58 -04:00
Mike Blumenkrantz 6c93461324 efl_ui/timepicker: fix range clamping on 12 hour timepickers
Summary: this errors all the time otherwise

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9396
2019-07-25 14:46:58 -04:00
Marcel Hollerbach e3557ec944 efl_ui_spotlight_manager_*: cleanup canvas state on invalidate
this is needed so we can support a empty object which is not freed.
Sounds useless, but required by bindings, this fixes the issue described
in D9300.

Differential Revision: https://phab.enlightenment.org/D9306
2019-07-25 20:42:39 +02:00
Marcel Hollerbach 2a970046bc efl_ui_spotlight_container: mirror the behavior of view_manager
setting the parent here is usefull, as we can forgot about this object
then, and do not have to free the object by hand.

Differential Revision: https://phab.enlightenment.org/D9305
2019-07-25 20:42:39 +02:00
Marcel Hollerbach 6d0b0baf9b efl_ui_spotlight_container: fix ownership behavior of view_manager
view_manager is a property that takes ownership of the view_manager
object. We are setting the parent in the setter which means, we should
actaully have one ref to the parent, and one from the caller, so we need
to unref one.

Differential Revision: https://phab.enlightenment.org/D9304
2019-07-25 20:42:38 +02:00
SangHyeon Jade Lee 670b7b4a83 efl_ui : apply item part visible signal properly.
efl_layout_signal is being overrided by efl_ui_layout,
so do not call the signal emit on resize object directly,
call the signal emit on the item widget.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9233
2019-07-25 20:27:42 +02:00
Marcel Hollerbach 18c7a90f7a rename Item_Container -> Collection
this is the last bit of renaming

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9410
2019-07-25 20:27:41 +02:00
Marcel Hollerbach 257b30f9de efl_ui_spec_suite: simplify this
when i initially added item_container to the spec test suite, there was
no plan to make Efl.Ui.List / Efl.Ui.Grid like it is now. However, now
we can simply use Efl.Ui.List and Grid instead of this helper class.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9409
2019-07-25 20:27:40 +02:00
Marcel Hollerbach a4f7baa911 rename efl_ui_item_container -> efl_ui_collection
this is the first rename of the main widget, the renames of the test
suites will follow

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9408
2019-07-25 20:27:39 +02:00
Marcel Hollerbach 167d2475e8 efl_ui_grid_item: remove this
this is not needed anymore, the grid items can also just inherit
directly from the items.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9395
2019-07-25 20:27:38 +02:00
Marcel Hollerbach 530d03dcf6 efl_ui_list_item: remove this
this has nothing usefull in it. Additionally, future commits will brings
up another design where there is a central default item style, which can
be hinted.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9394
2019-07-25 20:27:37 +02:00
Marcel Hollerbach eaf8dff2cc efl_ui_item_container: speed up item lookup
the problem with accessor is that the normal eina accessor is only for
immutable lists, by the time you change the list, the accessor has a
problem and might crash. This would mean we have to recreate the
accessors after every change to the internal list representation, which
would invalidate the cache all the time.

The usage of grid and list here is also very performant in cache using,
all the usages normally iterate forward or backward, which makes this
cache really helpfull.

With this commit the lookup of sizes is improved a lot, because
eina_list_nth is not used anymore. (Cuts of ~90ms in creation time)

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9387
2019-07-25 20:27:36 +02:00
Mike Blumenkrantz a5420ac8f3 tests/ecore: verify that quit() -> begin() does not pre-cancel main loop
Summary: ref 17f433c57b

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9375
2019-07-25 13:35:41 -04:00
Xavi Artigas 5a3d659006 mono-docs: Clearer docs for ConstructingHandle
Only *slightly* clearer.
2019-07-25 17:30:44 +02:00
SubhransuSekhar Mohanty dd484a54dc efl_canvas_vg svg: free the svg tree returned by eet_data_read()
The eet_data_read() api creates the structure by referencing the wwt data structure
and reading from eet file. So the structure should be deleted by the user of the function.
As eet_data_read() api documentation dosen't specify about the ownership I guess
we need to free this structure to avoid memory leak.
2019-07-25 15:19:41 +09:00
Shinwoo Kim 5f1f361c08 evas image: apply filter at runtime
Summary:
If you call efl_gfx_filter_program_set in a mouse event callback,
it does not work. Because render_pre removes area uisng evas_render_update_del.

Reviewers: Hermet, jpeg, jsuya, cedric

Reviewed By: Hermet, cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9301
2019-07-25 15:02:03 +09:00
Marcel Hollerbach 38c4e34533 efl_ui_grid/list: fix build
wrong header file + wrong class define. That was forgotten to be pushed
with the commits before, sorry.
2019-07-24 22:07:15 +02:00
Cedric BAIL 9419be9baf elementary: make Efl.Ui.Position_Manager a namespace.
This does the following rename as per T8058:
Efl.Ui.Item_Position_Manager -> Efl.Ui.Position_Manager.Entity
Efl.Ui.Grid_Position_Manager -> Efl.Ui.Position_Manager.Grid
Efl.Ui.List_Position_Manager -> Efl.Ui.Position_Manager.List

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9388
2019-07-24 21:26:43 +02:00
Marcel Hollerbach 59d684284b efl_ui_list: make it work with item_container
This also refactors the example a little bit.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9385
2019-07-24 12:05:08 -07:00
Marcel Hollerbach a6543fb68f efl_ui_grid: make it work with item_container
this also reformats the example, removes
comments that are misleading, removes UI elements that have no purpose.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9384
2019-07-24 12:05:06 -07:00
Carsten Haitzler 7525ab16f1 warnings remove in efl thread/exe examples 2019-07-24 19:26:09 +01:00
Marcel Hollerbach 577b82dad6 Introduce Efl.Ui.Item_Container
this is a new widget which aims to replace Efl.Ui.Grid / Efl.Ui.List.
The widget is split up in a widget and a interface for item placement.

Efl_Ui_Item_Position_Manager: The interface contains API which is used
by the Item_Container to place the items, there is also a set of common
tests which tests for the casual tripping wires, and ensures that the
events are emitted in the correct moments (the later part still can be
improved)

Efl_Ui_Item_Container: The widget itself, it contains the API for the
enduser to add Items to the widget, it handles the different modes for
selection type and emits the events for selection changes. The pack API
is conform with the spec unit test. An additional set of tests is
defined which should be able to be run on every widget with a specific
position_manager beeing set.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9285
2019-07-24 10:38:22 -07:00
Carsten Haitzler 0cd5427c3f build - cmake files - remove old seemingly unused cmake files 2019-07-24 17:53:09 +01:00
Carsten Haitzler a1421564e5 examples - add efl_thread and efl_exe to them 2019-07-24 17:51:27 +01:00
Carsten Haitzler c3807413e7 build - remove old .mk files that were for autofoo not meson 2019-07-24 17:44:05 +01:00
Hermet Park 54a8ba3d8c Revert "elm/scrollable: avoid unnecessary edje recalcs"
This reverts commit 4279f75f0b.

This totally breaks popup control in Tizen,

Need to consider necessity of this patch,
further potential side effects possibilities.
2019-07-24 21:31:07 +09:00
Hermet Park 735f05de76 Revert "Revert "efl/scroll manager: stop clearing animators on every wheel event""
This reverts commit a836c73ef6.

Sorry, I mistook the picking of commit id...
2019-07-24 21:31:07 +09:00
Xavi Artigas a45cc2d47b docs: minor nitpicks to Efl.Ui.Win docs 2019-07-24 14:13:56 +02:00
Hermet Park a836c73ef6 Revert "efl/scroll manager: stop clearing animators on every wheel event"
This reverts commit e6393393cc.

This totally break popup control in Tizen,

Please consider necessity of this patch,
further potential side effects possibilities.
2019-07-24 20:47:28 +09:00
Hermet Park ac75934d06 textpath: + null handling. 2019-07-24 14:28:29 +09:00
Xavi Artigas 7c030aa57e mono-docs: Indicate when methods and properties are BETA
Summary:
Previous commit added a <remarks> section to BETA classes.
Methods (and properties) cannot have <remarks> section so a bit
of bold text is added instead to their summary.

Depends on D9380

Test Plan: Generate docs and observe beta methods and properties have a note regarding their betaness in the summary.

Reviewers: lauromoura, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9382
2019-07-23 21:53:01 +02:00
Xavi Artigas d20b8ad42a mono-docs: Allow HTML codes in documentation
Summary:
All comments from EO files are HTML-escaped (i.e. "<" is turned into "&lt;"), and this is good.
However all text added by the mono code generator is HTML-escaped too, and that is a pity.
Circumventing the escaping in the generator involves serious code changes so it is simpler to
allow "escaping" characters to avoid escaping...
"<" is turned into "&lt;"
but
"\<" is turned into "<"

If you are giving these strings from C, remember that the backslash needs to be escaped too!
For example: "\\<b\\>Hello\\</b\\>"

This is intended for use in the generators, NOT in the EO docs.

Test Plan: Everything works as before, but now HTML codes can be added from the generators.

Reviewers: lauromoura, vitor.sousa, felipealmeida

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9380
2019-07-23 21:53:01 +02:00
Xavi Artigas 5585420e85 mono-docs: Indicate when a class is BETA
Summary:
The mono generator adds a <remarks> section to all BETA classes with an explanatory text.
These tags are understood by DocFX and Monodevelop.
On top of this, this commit modifies the DocFX template to give the Remarks section a more
prominent place in the page.

Test Plan: Render docs, Beta classes should have a big blue box with a remark about the class being Beta and dangerous.

Reviewers: lauromoura, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9381
2019-07-23 21:53:01 +02:00
Marcel Hollerbach 3eb7b3793b eolian: start to express ownership transfere
before @owned was not even expressed in the api definitions of the
generated APIs, this adds support for it.

@owned is now expressed with EFL_TRANSFER_OWNERSHIP in a arguments. And
that preprocessor directive is documented.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D9369
2019-07-23 18:09:36 +02:00
Vitor Sousa 253e18159b eolian_mono: parse `binbuf` and `event` keywords, also re-enable binbuf tests
Summary:
Parse `binbuf` and `event` type names and generate the proper binding type.

In 288f645e3c tests for `Eina.Binbuf` were disabled in order to avoid the
usage of deprecated notations in eolian.

Since the new `binbuf` keyword works as a substitute for the old notation
`ptr(Eina.Binbuf)`, tests were updated and re-enabled using the new notation.

Test Plan: `meson test`

Reviewers: felipealmeida, lauromoura, q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9349
2019-07-23 14:09:24 +02:00
Subodh Kumar 8c90deecd7 [elm] Add missing sizing eval hook at check
Summary:
check is not shown in our Tizen demo.
sizing eval missing.

@fix

Test Plan: NA

Reviewers: zmike, Hermet, cedric, bu5hm4n

Subscribers: bu5hm4n, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9378
2019-07-23 10:06:04 +02:00
Mike Blumenkrantz 47423ab720 efl_ui/scroll_manager: mimic feel of legacy scroller
Summary:
previously this used a hard linear scroll with a fixed animation time for
mouse wheel events, resulting in an unnatural scroll feel due to abrupt
animation termination

using the decelerate interpolator improves this, and we should be using the
config to determine animation speed
Depends on D9347

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9354
2019-07-22 17:39:14 +02:00
Carsten Haitzler a26c787e2b Revert "efl_ui_layout: set needs_size_calc flag at constructor"
This reverts commit 98b1924432.

This totally broke elm widget min size calcs, e dialogs... sizing is
totally broken and unusable as a result. this is a major break and
needs immediate reverting back to a working state. Sorry Woki. You
need to test this... elementary_Test out of the box is totally broken
as all hell not to mention a lot more.
2019-07-22 15:10:40 +01:00
Christopher Michael 1b20f789dc Revert "tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect"
Reverting this as it causes tests to stall (essentially 'meson test
ecore_wl2-suite' just hangs) when run inside a compositor.

This reverts commit a526285db4.
2019-07-22 10:05:27 -04:00
Christopher Michael a526285db4 tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect
In order to reduce display setup time during test execution, we can
just connect once and run all the window tests after that.

ref T8016
2019-07-22 09:48:19 -04:00
Christopher Michael 725cce8cb4 tests/ecore_wl2: Combine tests of ecore_wl2_window_surface functions
ref T8016
2019-07-22 09:36:59 -04:00
Christopher Michael c1c4072b07 tests/ecore_wl2: Add wayland protocol as a dep for ecore_wl2 tests
ref T8016
2019-07-22 09:36:59 -04:00
Subodh Kumar 63275dfef8 [elm] Add missing sizing eval hook at radio
Summary:
radio is not shown in our Tizen demo.
sizing eval missing.

@fix

Reviewers: Hermet, bu5hm4n, cedric, zmike

Reviewed By: zmike

Subscribers: akanad, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9356
2019-07-22 09:09:00 -04:00
Wonki Kim 98b1924432 efl_ui_layout: set needs_size_calc flag at constructor
Summary:
even if there is a min definition on theme for some object,
the objects don't have the min size if we do nothing after creating it.

elm_layout_sizing_eval will return with doing nothing while executing contructor
so that _sizing_eval in _layout_group_calculate will never be invoked without calling hint_set, text_set, content_set, etc.

this patch modifies a initial state of needs_size_calc flag
so that object will doing _sizing_eval after executing constructor.

Test Plan:
1. remove lines that call apis such as content_set, hint_set, text_set
  in radio test on elementary_test

2. observe that radios don't have min size

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9368
2019-07-22 09:08:55 -04:00
Christopher Michael 28c232d770 tests/ecore_wl2: Add test for ecore_wl2_window_display_get
ref T8016
2019-07-22 09:02:10 -04:00
Christopher Michael a7cc7730af tests/ecore_wl2: Add test for ecore_wl2_window_aux_hints_supported_get
ref T8016
2019-07-22 09:00:17 -04:00
Christopher Michael 5cf095dd3d tests/ecore_wl2: Add test for ecore_wl2_window_output_find
ref T8016
2019-07-22 08:57:33 -04:00
Christopher Michael afe8414925 tests/ecore_wl2: Add test for ecore_wl2_window_rotation_get
ref T8016
2019-07-22 08:55:04 -04:00
Christopher Michael 8510de33c3 tests/ecore_wl2: Add test case for ecore_wl2_window_surface_id_get
ref T8016
2019-07-22 08:40:34 -04:00
Christopher Michael 11de06e5b8 tests/ecore_wl2: Add test for ecore_wl2_window_surface_get function
ref T8016
2019-07-22 08:37:39 -04:00
Christopher Michael ccfd74f17a tests/ecore_wl2: Remove use of macros for display setup & connect
ref T8016
2019-07-22 08:37:27 -04:00
Marcel Hollerbach 5fd3436b17 efl_ui_widget: fix warning 2019-07-22 10:44:30 +02:00
Mike Blumenkrantz 5dac20f69f efl_ui_widget: add safety checks to verify parents aren't being added as children
somehow it was never checked to see if a parent was being added as a subobject
of a parent's own child object (recursive hierarchy)

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9333
2019-07-22 10:44:30 +02:00
Cedric BAIL 6da5bd35a9 ecore_evas_convert: add the ability to split large jpeg file.
Summary:
After trying convert to split very large image and running out of
memory, this few line of code did seems like the best solution. Maybe
there is some benefit to try to make Ecore_Evas_Convert more useful.

Reviewers: zmike, raster, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9337
2019-07-22 10:39:42 +02:00
Hermet Park 44363bb70f efl_canvas_vg image: changed image parameter type.
it's still in improvement stage in beta.
2019-07-22 17:31:06 +09:00
Hermet Park 2e37d2f30f ecore_evas buffer: fix a deadlock issue.
We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer
that only happens if the ecore_evas_buffer has nothing changed to render,
though it's triggered to rendering.

See this normal scenario that is working fine as our intention.

being ecore_evas_render()
...
 -> ecore_evas_buffer_prepare()
     -> evas_object_image_data_get()
         -> increment lock by backend engine. (egl/tbm ...)
 -> render()
     -> render_post()
        -> _ecore_evas_buffer_update_image()
            -> evas_object_image_data_set()
               ->decrement lock by backend engine (egl/tbm ...)
...
end ecore_evas_render()

The problem is, if the ecore_evas_buffer canvas doesn't changed at all,
render post will be skipped, it could lose the chance to unlock the image data.
Now the host can't render anymore since it's image source lost the lock.

@fix
2019-07-22 17:14:10 +09:00
Hermet Park f6729087ca efl_ui_textpath: deprecate elm_textpath_circle_set()
Summary:
this api can be replaced with elm_textpath_circular_set()

Depends on {D9260}

Reviewers: #committers, kimcinoo

Reviewed By: #committers, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9314
2019-07-22 17:01:45 +09:00
Hermet Park bf7e05586f efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.
Summary:
This patch revises efl_ui_textpath_circle_set() interface.

Current circle_set() behavior is wrongly working,
it makes object minimal size with (x * 2, y * 2).
Insanely, how big size if the object is far from the screen origin.

Secondly, current interface requires center position,
How this center position could be guranteed if user wants to put it into a container?

Third, actual textpath output could be out of the textpath boundary,
since the textpath is originated to middle of text height.
the display boundary can be outside of the textpath geometry by (half of text height).

All in all, put altogether in fix,
I confirmed there is no methods without any compatibility break.

This brings elm_textpath_circular_set() api introduced.

@feature

Reviewers: #committers, kimcinoo, jsuya

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

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9260
2019-07-22 16:47:43 +09:00
junsu choi e97d3c08ea evas_vg_json: Add image embedded example
Summary:
add example code and json resource.

plus)
Add ECTOR_BACKEND="default" Environment variable
because cairo backend is not supported.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
D9220 vg_common_json : Support image data of node

Test Plan:
cd .src/examples/evas/
gcc -o evas_vg_json evas-vg-json.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl`
./evas_vg_json

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9351
2019-07-22 13:54:25 +09:00
junsu choi e9f8ef6ea4 vg_common_json : Support image data of node
Summary:
When node has image data, it creates Efl.Canvas.Vg.Image class
and set transform information and data information.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9220
2019-07-22 13:53:21 +09:00
junsu choi 56ebaea1fe Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
Summary:
Implements a vector class that can support image.
User can use this class to output an image with a vector object.

Depends on D9218:Ector.Renderer : Implement Ector.Renderer.(Software).Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9219
2019-07-22 13:37:47 +09:00
junsu choi 1ce14bc85d Ector.Renderer : Implement Ector.Renderer.(Software).Image class
Summary:
Implement a class and drawer that outputs image data from the Ector.
Image data is output with a vector object and supports transform.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9218
2019-07-22 13:29:02 +09:00
Carsten Haitzler de5eea226a ecore wl2 - fall back to shm if dmabuf fails in buf init
so even if shm was an allowed mode/flag, we never fell back to shm if
dmabufs were not possible (/dev/dri/renderD128  didn't exist or wansn't
open-able). that's decidedly a bad thing to do.

@fix
2019-07-22 00:36:07 +01:00
Carsten Haitzler 3195cf6d5f ecore - efl thread - remove mroe error case cnp code and share it
more cnp code de-duplication
2019-07-20 11:55:59 +01:00
Carsten Haitzler 54b321d459 ecore - efl thread - move duplicate code into shared func to reduce cnp
more copy & paste code - put into shared func.
2019-07-20 11:55:59 +01:00
Carsten Haitzler 40800366b2 ecore - efl thread - remove more copy & paste in fd in clearing handling
move to common shared function to reduce c&p
2019-07-20 11:55:59 +01:00
Carsten Haitzler 687b06fb3f ecore - efl thread - reduce copy & paste and merge into single func
the call and call sync stuff was almost entirely copy & paste - this
moves all the common code into shared funcs that reduce code bloat. it
also moved from heap to stack for sync reply struct location.
2019-07-20 11:55:59 +01:00
Mike Blumenkrantz bf01c2382a evas/map: permit evas_map_free(NULL)
free functions in efl should always handle null pointers gracefully

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9363
2019-07-19 15:05:04 -07:00
Mike Blumenkrantz 033b438891 tests/elm: fix event starter helper function to handle elm_win objects
this class implements EFL_CANVAS_SCENE_INTERFACE but is not an Evas,
so the evas must still be fetched

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9366
2019-07-19 15:05:02 -07:00
Mike Blumenkrantz dc1630d496 evas: fix type checking of Evas pointers in legacy functions
many of these functions go directly to evas internals with no eo checks,
and the existing "MAGIC_CHECK" macro has somehow become a useless null
check

type checking here is important in order to avoid crazy behavior when the
wrong object types are passed

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9364
2019-07-19 15:05:00 -07:00
Mike Blumenkrantz 17f433c57b ecore: avoid breaking next main loop start if quit occurs outside of loop
in the case where ecore_main_loop_quit() was called before ecore_main_loop_begin(),
the latter call would exit immediately without ever iterating the main loop

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9360
2019-07-19 15:04:56 -07:00
Mike Blumenkrantz d35b06497a tests/eldbus: fix broken unit test
this callback isn't called during the main loop, so attempting to
quit the loop has no effect and the test deadlocks

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9367
2019-07-19 15:04:54 -07:00
Mike Blumenkrantz 734637c42c edje: add some null checks for nonexistent objects
minor cleanup to fix EVAS_DEBUG_ABORT usage

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9361
2019-07-19 15:04:52 -07:00
Mike Blumenkrantz 0084d8d736 tests/elm: fix a couple unit tests to use event starter helper function
these tests seem to have relied upon a callback being triggered which
would call ecore_main_loop_quit() prior to ecore_main_loop_begin() starting
the main loop

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9365
2019-07-19 15:04:50 -07:00
Mike Blumenkrantz 481747ae33 meson: fix debug-threads option
it doesn't matter if this doesn't work with eina_debug since this isn't
meant to be used for that kind of debugging

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9359
2019-07-19 15:04:48 -07:00
Mike Blumenkrantz 8399f2698b elm_test: add efl.ui.scroller test with big table
same as the simple efl.ui.scroller test but with a 2 column table

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9347
2019-07-19 10:55:05 -07:00
Mike Blumenkrantz 3ba31a1f5c efl_ui/table: optimize position_set operations with tables
if a table is moved and no other changes are made to the table or its children,
e.g., if the table is scrolled, then there is no need to loop over the table's
items repeatedly in order to accurately calculate all the item geometries
and positions.

instead, simply apply an offset from the last table calc position to each child
item and handle the position changes more transparently

this yields roughly a 12% perf improvement to the 'efl.ui.scroller simple2' test
and brings rendering up to nearly 60fps

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9346
2019-07-19 10:55:03 -07:00
Mike Blumenkrantz 1dd5feb22f elm_test: rename efl.ui.scroller simple test function name
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9345
2019-07-19 10:55:01 -07:00
Mike Blumenkrantz 8e3877cc23 efl_ui/table: avoid exploding stack with lots of subobjects
using alloca like this without any limits is dangerous, so switch to
malloc here in such cases

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9344
2019-07-19 10:54:59 -07:00
Marcel Hollerbach a0952b0c01 eo: add helper for checking the ownable state
if a object is ownable, then there is one free reference. If not, a
error will be printed.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9332
2019-07-19 10:54:57 -07:00
Mike Blumenkrantz e663b9da55 evas/box: avoid triggering smart_move callback
any time an evas box is moved, it flags itself to do a recalc on all of
its contents in the next render. evas box also inherits from smart clipped
class, however, which means that it will also move all of its contents
immediately on every single move. this results in something like:

move(box) -> for content in box { move(content) } -> render ->
  recalc(box) -> for content in box { calc(content); move(content); }

which is massively inefficient and results in box being completely unusable
once it has a large number of contents

by skipping immediate move() calls for all the box contents, we can bring this
performance back to usable levels

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9336
2019-07-19 10:54:55 -07:00
Xavi Artigas bd62513232 Add missing Slider header to Efl_Ui.h
Summary: Without this, apps need to include Elementary.h to use unified sliders, which is bad.

Test Plan: Create an app that uses sliders and only include Efl_Ui.h. Magic!

Reviewers: zmike, bu5hm4n, cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9358
2019-07-19 18:55:40 +02:00
Mike Blumenkrantz 2196e1bf7c efl_ui/scroll_manager: fix int overflow in animation duration calc
Summary:
Evas_Coord is a regular int, so this will overflow easily for large
scrollers and return NaN for scroll duration and break the scroll

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9355
2019-07-18 19:22:39 +02:00
Vincent Torri 89db9df2d2 Eina vpath: remove support of ~username vpath on Windows
On Windows, one must be in kernel mode to obtain informations of other users

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9339
2019-07-18 09:36:25 +02:00
Vitor Sousa f331d1c6cc cxx: remove a compilation warning for g++ 7.x
Remove a compilation warning about an unsupported warning category for g++ 7.x.

A `#pragma` directive was used to suppress a `-Wcast-function-type` warning
in g++.
Versions older than 8.x do not have this warning category and raises a warning
because of this directive.

Now this directive is only enabled for g++ version 8.x or newer.
2019-07-17 19:32:32 -03:00
Cedric BAIL c46a814391 eina: set EINA_VALUE_EMPTY during library init.
This is a work around compiler/linker limit on some system as reported
by Romain Naour.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9348
2019-07-17 14:23:09 -07:00
Cedric BAIL d902989b74 elementary: add a test for Efl.Ui.View interface.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9308
2019-07-17 21:58:01 +02:00
Cedric BAIL 33d2e55e97 elementary: simplify example by using Efl.Model_Provider.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9307
2019-07-17 21:58:00 +02:00
Cedric BAIL 477611f014 elementary: fix potential race condition by using Eina_Future attached to the object.
I get some random segfault in elementary test suite pointing to this code. Most likely
we do not properly destroy the timer during destruction. Could be because we initiate
a delay while destruction is going on or something like that. Anyway, it is easier and
more robust to get it fixed by linking the lifetime of the timeout to the lifetime of
the widget as future allow us to do easily.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9298
2019-07-17 21:57:59 +02:00
Cedric BAIL 83700fe13c ecore: remove efl_loop_{un,}register from .eo.
We have to keep this as an API, but binding do not need to see it at this point.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9297
2019-07-17 21:57:58 +02:00
Cedric BAIL e0ee318fe1 eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9296
2019-07-17 21:57:57 +02:00
Cedric BAIL 16b662d5d1 elementary: add a test for Efl.Model_provider.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9295
2019-07-17 21:57:56 +02:00
Cedric BAIL 0aba6030bd ecore: rely on efl_provider_{un,}register to do the job of efl_loop_{un,}register.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9294
2019-07-17 21:57:55 +02:00
Cedric BAIL 0b949d0e7a elementary: first search on ourself instead of our parent for all providers.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9293
2019-07-17 21:57:54 +02:00
Cedric BAIL 9e6d3b44e6 eo: add ability to register provider on the Eo object directly.
This should reduce the need for custom implementation of efl_object_provider_bind.
It also enable the ability to register provider from user code on any Efl_Object.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9292
2019-07-17 21:57:53 +02:00
Cedric BAIL c0e7b1343c elementary: Efl.Ui.Layout now rely on model change event to track the model.
This means that this will work nicely with model provider too.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9291
2019-07-17 21:57:52 +02:00
Cedric BAIL 2d481d8593 efl: add a Efl.Model_Provider that every widget will look up for in their parent tree.
This is done to simplify code as you only need to set the model on the
provider and all the widget that are using it as a provider will automatically be
updated. The child will find a provider during at the time the first property binding
is set on the widget by checking if the parent have an Efl.Model_Provider set. It is
not necessary to set a model to have a valid lookup on a Efl.Model_Provider. To disable
a widget lookup, you can just force set a model on it (even NULL) and it will disable
the lookup.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9290
2019-07-17 21:57:51 +02:00
Cedric BAIL a68e18a903 elementary: Efl.Ui.Image now rely on event to update model binding.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9289
2019-07-17 21:57:50 +02:00
Cedric BAIL 4d071ff1cb efl: implement notification for when the model is changed on a widget.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9288
2019-07-17 21:57:49 +02:00
Daniel Kolesa 65b4782682 eolian: remove support for old free() syntax
Now freefuncs can only be specified on type declarations but not
on types themselves. Also remove transitiveness of freefuncs.
2019-07-17 20:15:35 +02:00
Mike Blumenkrantz 499ee62980 efl_ui/table: emit EFL_PACK_EVENT_LAYOUT_UPDATED on layout updates
this should be emitted.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9343
2019-07-17 10:54:51 -07:00
Mike Blumenkrantz 4279f75f0b elm/scrollable: avoid unnecessary edje recalcs
in this case we just want to trigger pending edje calcs and not force new
ones. this avoids doing a full edje recalc constantly when scrolling

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9335
2019-07-17 10:54:48 -07:00
Mike Blumenkrantz e6393393cc efl/scroll manager: stop clearing animators on every wheel event
if scrolling is supposed to continue then just reuse the existing animator
callback and avoid emitting a scroll,start/stop event pair for every new
input event

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9340
2019-07-17 10:54:46 -07:00
Mike Blumenkrantz d5da991bc5 efl_ui/box: optimize position_set operations with boxes
if a box is moved and no other changes are made to the box or its children,
e.g., if the box is scrolled, then there is no need to loop over the box's
items repeatedly in order to accurately calculate all the item geometries
and positions.

instead, simply apply an offset from the last box calc position to each child
item and handle the position changes more transparently

this yields roughly a 12% perf improvement to the 'efl.ui.scroller simple' test
and brings rendering up to nearly 60fps

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9342
2019-07-17 10:54:44 -07:00
Mike Blumenkrantz ebcf5e0cd9 efl_ui/box: avoid exploding stack with lots of subobjects
using alloca like this without any limits is dangerous, so switch to
malloc here in such cases

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9341
2019-07-17 10:54:42 -07:00
Mike Blumenkrantz 4016de252c elm_test: add comparable "simple" scroller tests
this should be roughly identical and can be more directly compared in
terms of performance (which is not good in either case)

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9334
2019-07-17 10:17:50 -07:00
Marcel Hollerbach f97df4212a efl_ui_win: optimize shutdown
in case we are having a scroller with a lot of elements on it, we are
spending a lot of time in stuff like recalculating clips, even if they
will never be used again.

With this freeze here, we are saving 9s shutdown time in item_container.
Which brings the overall closing time from 10s down to 1s, which is a
win IMO.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9325
2019-07-17 10:17:48 -07:00
Marcel Hollerbach a6fa2f12d6 efl_ui_widget: relax the amount of event subscriptions
there is a very basic problem in eo events. We are having one central
array of event subscription, if for example a widget is now listening to
changes in its parent, then we are 100% asking for trouble.

As an example:
- A scroller with 100 buttons in it.
- Every button will have a subscription to the FOCUS_MANAGER_CHANGED
event

If you now scroll, the position is updated in the scroller, therefore
the position in scroller is updated. This has the result that the whole
list of 100 event subscriptions is walked, which is obviously bad,
however, this solution here is way easier than fixing eo (i am not even
sure there is a nice solution to it).

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9324
2019-07-17 10:17:46 -07:00
Marcel Hollerbach e76349cd41 efl_ui_widget: performance optimize deletion
when a logic parent does not have any widgets left, the parent needs to
be reevaluated. However, this only has to happen when there is a change
in state (eg. from 0 -> N or from N -> 0). Every other call can be
safed. This commit introduces this checking, and safes up performance.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9323
2019-07-17 10:17:44 -07:00
Daniel Kolesa f62d0dc36b eolian: allow binbufs to be owned 2019-07-17 18:15:01 +02:00
Daniel Kolesa fbdbf6b132 eolian: add builtin binbuf and event types
Binbuf is like strbuf and allows not using the Eina opaque wrapper
now, which will remove some ptr(). And event translates to
Efl.Event because otherwise there would be no way to get rid
of void_ptr.
2019-07-17 15:52:39 +02:00
junsu choi baf1fcdb91 vg_common_svg: Gradient stop color use premultiplied color.
Summary:
The parsed color is straight color.
evas use premultiplied color.

Test Plan:
Sample SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <defs>
    <linearGradient id="linearGradient1" x1="0" y1="0" x2="0.2" y2="0.2" spreadMethod="reflect">
      <stop style="stop-color:#ff0000;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#0000ff;stop-opacity:1;" offset="1"/>
    </linearGradient>
    <radialGradient id="radialGradient222" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#ffFF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#00FFff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
    <radialGradient id="radialGradient333" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#00FF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#FF00ff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
   </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#linearGradient1)"/>
  <rect x="50" y="50" width="50" height="50" fill="url(#radialGradient222)"/>
  <rect x="0" y="0" width="50" height="50" fill="url(#radialGradient333)"/>
</svg>

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9338
2019-07-17 17:15:23 +09:00
Mike Blumenkrantz b25c9f6137 tests/elm: add test for elm_bubble "clicked" smart callback
Summary:
also verify general layout loading

Depends on D9330

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9331
2019-07-16 13:38:33 -04:00
Mike Blumenkrantz ab0c71803b tests/elm: break out event callback function
Summary:
now we have a function we can reuse which verifies that it is called exactly
one time

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9330
2019-07-16 13:38:28 -04:00
Marcel Hollerbach 4b1a1e85b2 efl_ui_slider: fix focus interaction
Summary:
when we move the slider up or down, we might be at the minimum or
maximu, if this is the case. Then we must not eat the key event,
otherwise focus is stuck on this widget.
Depends on D9328

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9329
2019-07-16 16:37:29 +02:00
Marcel Hollerbach 059e82d4c1 efl_ui_text: fix focus breaking
Summary:
text should not be focusable by default. Only focusable if it is
editable. This fixes mysterical focus disappearing in tests using
efl.ui.text.
Depends on D9327

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9328
2019-07-16 16:37:29 +02:00
Marcel Hollerbach 1bae8ec521 efl_ui_slider: change the semantical meaning of step property
Summary:
before the step property was used as a relative value. The value that
was added in the end was (max-min)*step. Which is quite confusing given
the fact that the other APIs in in efl_ui_range_display are also taking
values absolut. Other implementations also do so.

fix T4834

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4834

Differential Revision: https://phab.enlightenment.org/D9327
2019-07-16 16:37:29 +02:00
Mike Blumenkrantz 1d90b113e0 tests/actionslider: add more actionslider unit tests
verify actionslider callbacks and various basic functionalities

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9322
2019-07-16 14:48:50 +02:00
Mike Blumenkrantz 62059763c6 tests/elm: improve click_part() further to guess part locations
non-swallow parts exist "somewhere" on a given layout, and it may be
the case that they are not actually positioned and just take up the whole
layout space.

for these parts, if they have a direction in their name, we can try to vaguely
guess where the part might be in order to (ideally) click it

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9321
2019-07-16 14:48:49 +02:00
Mike Blumenkrantz 564ba9b96c tests/elm: improve click_part() to handle non-swallow parts
swallow parts have content, other parts do not

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9320
2019-07-16 14:48:48 +02:00
Mike Blumenkrantz afb2daa996 elm_actionslider: fix internal state when programmatically changing value
this value is supposed to always match the current widget state and signal
emission breaks if the states are not consistent

@fix

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9319
2019-07-16 14:48:47 +02:00
Mike Blumenkrantz 06ed9b39af elm_actionslider: fix signal emission for left selection
this is supposed to be a comparison, not a filter

ref a65cb62853

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9318
2019-07-16 14:48:46 +02:00
Mike Blumenkrantz 66ba42e74d efl_ui_widget_part: implement some expected methods
checking part type and part geometry is pretty common, so these base
implementations can fill in gaps in existing functionality

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9317
2019-07-16 14:48:45 +02:00
Xavi Artigas 1b2a5570c3 docs: Enhance Efl.Ui.Clickable_Util documentation 2019-07-16 12:20:31 +02:00
Vincent Torri 34f88a5786 Evil: remove getpwuid() from Evil.
Summary: getpwuid() is used only in eina_test_vpath() and is called when getpwent() is available, which is not the case on Windows

Test Plan: compilation

Reviewers: raster, cedric, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9326
2019-07-16 10:43:11 +01:00
Vitor Sousa ab26579cab Revert "Revert "efl: prevent usage of some Eina.* stub types in stable APIs""
EFL# support for slice and rw_slice was added in a previous commit.
So now it is safe to undo the reversion of this commit.

This reverts commit 25ef604467.
2019-07-15 15:45:13 -03:00
Christopher Michael af0a37da03 tests/ecore_wl2: Check for valid xdg_runtime_dir
Seems these tests need XDG_RUNTIME_DIR to be set, and it does not get
set in Travis builds, so add a small check here so that Travis builds
don't fail ... thanks Marcel ;)

ref T8016
2019-07-15 14:21:36 -04:00
Christopher Michael f30ef634ad tests/ecore_wl2: Add start of Ecore_Wl2 Window tests
ref T8016
2019-07-15 12:56:30 -04:00
Christopher Michael 3be7c844fd tests/ecore_wl2: Add test for ecore_wl2_display_inputs_get
ref T8016
2019-07-15 12:32:50 -04:00
Christopher Michael 7a85ad660b tests/ecore_wl2: Add test for ecore_wl2_display_registry_get function
ref T8016
2019-07-15 11:01:49 -04:00
Christopher Michael a081920c7d tests/ecore_wl2: Add test for ecore_wl2_display_screen_size_get function
ref T8016
2019-07-15 11:01:43 -04:00
Christopher Michael 539775b1cd tests/ecore_wl2: Add test for ecore_wl2_display_globals_get function
ref T8016
2019-07-15 11:01:39 -04:00
Christopher Michael 9ef1ab7876 tests/ecore_wl2: Add printf for compositor detection
ref T8016
2019-07-15 11:01:34 -04:00
Christopher Michael 7618a6caf0 tests/ecore_wl2: Add ecore_wl2_display_dmabuf_get test
ref T8016
2019-07-15 11:01:30 -04:00
Christopher Michael 3a3a2f667a tests/ecore_wl2: Add ecore_wl2_display_shm_get test
ref T8016
2019-07-15 11:01:25 -04:00
Christopher Michael 723412404f tests/ecore_wl2: Add test cases for wl2 client-side functions
This patch separates the ecore_wl2 tests to support both server-side
and client-side functionality. In order to test client-side functions,
these tests MUST be run under an existing Wayland Compositor
(Enlightenment, Weston, etc).

ref T8016
2019-07-15 11:01:20 -04:00
Christopher Michael b9f89fabb6 tests: Add tests for ecore_wl2_display_get and
ecore_wl2_display_name_get

ref T8016
2019-07-15 10:08:32 -04:00
Christopher Michael 73acf72cc4 tests: Add file for Ecore_Wl2 display tests
Add file which can be used to add tests for ecore_wl2 display functions

ref T8016
2019-07-15 09:54:18 -04:00
Christopher Michael e33609937e tests: Add start of Ecore_Wl2 test suite
Small patch set to add the start of a Ecore_Wl2 test suite

ref T8016
2019-07-15 09:53:59 -04:00
Mike Blumenkrantz 43993fd7fc examples: fix function signature for edje color class example
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9303
2019-07-15 09:51:01 -04:00
junsu choi 2e4c928d81 evas_vg_load_svg: Support multiple gradient without <defs> part
Summary:
Multiple gradients can be declared.
There is a problem of keeping only one gradient information
when it is declared outside defs or when defs is not declared.
It supports the use of multiple gradients even if no defs are declared.

Test Plan:
(with D9312 patch)
cd src/example/edje
edje_cc -beta svg.edc && gcc -o svg-test svg-test.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
./svg-test

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9315
2019-07-15 21:23:38 +09:00
junsu choi 84fcc5d073 evas_vg_load_svg: Prevent duplicate operations on radial gradient variables
Summary:
This solves the problem of radial gradient being displayed
abnormally when the radial gradient variables are 0 to 1.

Test Plan:
Sample SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <defs
     id="defs11">
    <linearGradient id="linearGradient1" x1="0" y1="0" x2="0.2" y2="0.2" spreadMethod="reflect">
      <stop style="stop-color:#ff0000;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#0000ff;stop-opacity:1;" offset="1"/>
    </linearGradient>
    <radialGradient id="radialGradient222" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#ffFF00;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#00FFff;stop-opacity:1;" offset="1"/>
    </radialGradient>
  </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#linearGradient1)"/>
  <rect x="50" y="50" width="50" height="50" fill="url(#radialGradient222)"/>
</svg>

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9312
2019-07-15 21:22:49 +09:00
Boris Faure 213301df35 efl.h: avoid redefinition of typedef 'Efl_Gfx_Path_Command'
Reviewers: zmike, bu5hm4n, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9311
2019-07-15 14:13:29 +09:00
Jihoon Kim f5ee2e3bb8 ecore_imf: remove code to use deprecated API in wayland immodule
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2019-07-15 11:37:53 +09:00
Vitor Sousa c3c81263fd csharp: fix some unit tests that rely on garbage collection
Summary:
Fix unit tests `TestEoInherit.inherited_collected` and
`TestFunctionPointers.set_callback_inherited_called_from_c`.

Iterate through garbage collection and EFL main loop more times to ensure that
allocated objects are really collected.

Also expand the test utility method `CollectAndIterate` to receive the number of
times to call the whole cleaning iteration process (not only the garbage
collection).

Test Plan: `meson test`

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9271
2019-07-12 17:15:37 -03:00
Cedric BAIL b799ba1a10 evas: add a test for loading Android 9patch file.
Example data come from https://github.com/vindolin/ninepatch/tree/master/ninepatch/data
under MIT license.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9105
2019-07-12 09:54:24 -07:00