summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.Hermet Park2019-07-225-45/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* evas_vg_json: Add image embedded exampleJunsuChoi2019-07-222-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* vg_common_json : Support image data of nodeJunsuChoi2019-07-221-1/+26
| | | | | | | | | | | | | | | | | | | | | | 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
* Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image classJunsuChoi2019-07-224-0/+137
| | | | | | | | | | | | | | | | | | | | 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
* Ector.Renderer : Implement Ector.Renderer.(Software).Image classJunsuChoi2019-07-2210-0/+259
| | | | | | | | | | | | | | | | | | 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
* ecore wl2 - fall back to shm if dmabuf fails in buf initCarsten Haitzler (Rasterman)2019-07-221-2/+6
| | | | | | | | 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
* ecore - efl thread - remove mroe error case cnp code and share itCarsten Haitzler (Rasterman)2019-07-201-22/+18
| | | | more cnp code de-duplication
* ecore - efl thread - move duplicate code into shared func to reduce cnpCarsten Haitzler (Rasterman)2019-07-201-10/+11
| | | | more copy & paste code - put into shared func.
* ecore - efl thread - remove more copy & paste in fd in clearing handlingCarsten Haitzler (Rasterman)2019-07-201-10/+11
| | | | move to common shared function to reduce c&p
* ecore - efl thread - reduce copy & paste and merge into single funcCarsten Haitzler (Rasterman)2019-07-201-45/+27
| | | | | | 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.
* evas/map: permit evas_map_free(NULL)Mike Blumenkrantz2019-07-191-4/+1
| | | | | | | | | 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
* tests/elm: fix event starter helper function to handle elm_win objectsMike Blumenkrantz2019-07-191-1/+1
| | | | | | | | 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
* evas: fix type checking of Evas pointers in legacy functionsMike Blumenkrantz2019-07-193-32/+29
| | | | | | | | | | | | | | 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
* ecore: avoid breaking next main loop start if quit occurs outside of loopMike Blumenkrantz2019-07-192-0/+4
| | | | | | | | | | 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
* tests/eldbus: fix broken unit testMike Blumenkrantz2019-07-191-2/+0
| | | | | | | | 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
* edje: add some null checks for nonexistent objectsMike Blumenkrantz2019-07-192-4/+5
| | | | | | | minor cleanup to fix EVAS_DEBUG_ABORT usage Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9361
* tests/elm: fix a couple unit tests to use event starter helper functionMike Blumenkrantz2019-07-192-7/+2
| | | | | | | | | 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
* meson: fix debug-threads optionMike Blumenkrantz2019-07-191-6/+3
| | | | | | | | 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
* elm_test: add efl.ui.scroller test with big tableMike Blumenkrantz2019-07-192-0/+44
| | | | | | | 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
* efl_ui/table: optimize position_set operations with tablesMike Blumenkrantz2019-07-193-4/+34
| | | | | | | | | | | | | | | | 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
* elm_test: rename efl.ui.scroller simple test function nameMike Blumenkrantz2019-07-192-3/+3
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9345
* efl_ui/table: avoid exploding stack with lots of subobjectsMike Blumenkrantz2019-07-191-1/+13
| | | | | | | | 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
* eo: add helper for checking the ownable stateMarcel Hollerbach2019-07-192-0/+24
| | | | | | | | 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
* evas/box: avoid triggering smart_move callbackMike Blumenkrantz2019-07-191-1/+7
| | | | | | | | | | | | | | | | | | | | | 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
* Add missing Slider header to Efl_Ui.hXavi Artigas2019-07-191-0/+1
| | | | | | | | | | | | | | | | 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
* README WhitespaceXavi Artigas2019-07-191-1/+1
|
* README: update COMPILING AND INSTALLING sectionali2019-07-191-9/+1
| | | | | | | | | | | | Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: raster, vtorri, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9302
* efl_ui/scroll_manager: fix int overflow in animation duration calcMike Blumenkrantz2019-07-181-1/+2
| | | | | | | | | | | | | | | | 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
* Eina vpath: remove support of ~username vpath on WindowsVincent Torri2019-07-182-7/+10
| | | | | | | | 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
* cxx: remove a compilation warning for g++ 7.xVitor Sousa2019-07-171-1/+1
| | | | | | | | | | | 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.
* eina: set EINA_VALUE_EMPTY during library init.Cedric BAIL2019-07-171-1/+4
| | | | | | | | 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
* elementary: add a test for Efl.Ui.View interface.Cedric BAIL2019-07-173-0/+67
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9308
* elementary: simplify example by using Efl.Model_Provider.Cedric BAIL2019-07-171-8/+9
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9307
* elementary: fix potential race condition by using Eina_Future attached to ↵Cedric BAIL2019-07-172-10/+19
| | | | | | | | | | | | | 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
* ecore: remove efl_loop_{un,}register from .eo.Cedric BAIL2019-07-173-18/+15
| | | | | | | | 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
* eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one.Cedric BAIL2019-07-176-23/+23
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9296
* elementary: add a test for Efl.Model_provider.Cedric BAIL2019-07-171-0/+40
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9295
* ecore: rely on efl_provider_{un,}register to do the job of ↵Cedric BAIL2019-07-173-29/+6
| | | | | | | efl_loop_{un,}register. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9294
* elementary: first search on ourself instead of our parent for all providers.Cedric BAIL2019-07-171-2/+2
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9293
* eo: add ability to register provider on the Eo object directly.Cedric BAIL2019-07-172-27/+93
| | | | | | | | 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
* elementary: Efl.Ui.Layout now rely on model change event to track the model.Cedric BAIL2019-07-173-13/+77
| | | | | | | 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
* efl: add a Efl.Model_Provider that every widget will look up for in their ↵Cedric BAIL2019-07-176-8/+121
| | | | | | | | | | | | | | | 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
* elementary: Efl.Ui.Image now rely on event to update model binding.Cedric BAIL2019-07-173-26/+47
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9289
* efl: implement notification for when the model is changed on a widget.Cedric BAIL2019-07-173-31/+70
| | | | | Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9288
* eolian: remove support for old free() syntaxDaniel Kolesa2019-07-174-22/+1
| | | | | Now freefuncs can only be specified on type declarations but not on types themselves. Also remove transitiveness of freefuncs.
* efl_ui/table: emit EFL_PACK_EVENT_LAYOUT_UPDATED on layout updatesMike Blumenkrantz2019-07-171-0/+1
| | | | | | | this should be emitted. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9343
* elm/scrollable: avoid unnecessary edje recalcsMike Blumenkrantz2019-07-171-1/+4
| | | | | | | | | | 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
* efl/scroll manager: stop clearing animators on every wheel eventMike Blumenkrantz2019-07-171-4/+5
| | | | | | | | | 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
* efl_ui/box: optimize position_set operations with boxesMike Blumenkrantz2019-07-173-3/+37
| | | | | | | | | | | | | | | | 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
* efl_ui/box: avoid exploding stack with lots of subobjectsMike Blumenkrantz2019-07-171-1/+11
| | | | | | | | 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