summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-22efl_ui_spec: add test suite for range_display eventsdevs/bu5hm4n/work_range_displayMarcel Hollerbach
this test case ensures the correct emittation of the newly added events. ref T7895 Differential Revision: https://phab.enlightenment.org/D9373
2019-07-22efl_ui_*: add the new events to the widgetsMarcel Hollerbach
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-22efl_ui_range_display: move events from spinMarcel Hollerbach
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-22efl_ui_widget: fix warningMarcel Hollerbach
2019-07-22efl_ui_widget: add safety checks to verify parents aren't being added as ↵Mike Blumenkrantz
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-22ecore_evas_convert: add the ability to split large jpeg file.Cedric BAIL
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-22efl_canvas_vg image: changed image parameter type.Hermet Park
it's still in improvement stage in beta.
2019-07-22ecore_evas buffer: fix a deadlock issue.Hermet Park
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-22efl_ui_textpath: deprecate elm_textpath_circle_set()Hermet Park
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-22efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.Hermet Park
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-22evas_vg_json: Add image embedded exampleJunsuChoi
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-22vg_common_json : Support image data of nodeJunsuChoi
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-22Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image classJunsuChoi
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-22Ector.Renderer : Implement Ector.Renderer.(Software).Image classJunsuChoi
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-22ecore wl2 - fall back to shm if dmabuf fails in buf initCarsten Haitzler (Rasterman)
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-20ecore - efl thread - remove mroe error case cnp code and share itCarsten Haitzler (Rasterman)
more cnp code de-duplication
2019-07-20ecore - efl thread - move duplicate code into shared func to reduce cnpCarsten Haitzler (Rasterman)
more copy & paste code - put into shared func.
2019-07-20ecore - efl thread - remove more copy & paste in fd in clearing handlingCarsten Haitzler (Rasterman)
move to common shared function to reduce c&p
2019-07-20ecore - efl thread - reduce copy & paste and merge into single funcCarsten Haitzler (Rasterman)
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-19evas/map: permit evas_map_free(NULL)Mike Blumenkrantz
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-19tests/elm: fix event starter helper function to handle elm_win objectsMike Blumenkrantz
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-19evas: fix type checking of Evas pointers in legacy functionsMike Blumenkrantz
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-19ecore: avoid breaking next main loop start if quit occurs outside of loopMike Blumenkrantz
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-19tests/eldbus: fix broken unit testMike Blumenkrantz
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-19edje: add some null checks for nonexistent objectsMike Blumenkrantz
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-19tests/elm: fix a couple unit tests to use event starter helper functionMike Blumenkrantz
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-19meson: fix debug-threads optionMike Blumenkrantz
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-19elm_test: add efl.ui.scroller test with big tableMike Blumenkrantz
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-19efl_ui/table: optimize position_set operations with tablesMike Blumenkrantz
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-19elm_test: rename efl.ui.scroller simple test function nameMike Blumenkrantz
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9345
2019-07-19efl_ui/table: avoid exploding stack with lots of subobjectsMike Blumenkrantz
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-19eo: add helper for checking the ownable stateMarcel Hollerbach
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-19evas/box: avoid triggering smart_move callbackMike Blumenkrantz
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-19Add missing Slider header to Efl_Ui.hXavi Artigas
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-19README WhitespaceXavi Artigas
2019-07-19README: update COMPILING AND INSTALLING sectionali
Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: raster, vtorri, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9302
2019-07-18efl_ui/scroll_manager: fix int overflow in animation duration calcMike Blumenkrantz
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-18Eina vpath: remove support of ~username vpath on WindowsVincent Torri
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-17cxx: remove a compilation warning for g++ 7.xVitor Sousa
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-17eina: set EINA_VALUE_EMPTY during library init.Cedric BAIL
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-17elementary: add a test for Efl.Ui.View interface.Cedric BAIL
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9308
2019-07-17elementary: simplify example by using Efl.Model_Provider.Cedric BAIL
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9307
2019-07-17elementary: fix potential race condition by using Eina_Future attached to ↵Cedric BAIL
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-17ecore: remove efl_loop_{un,}register from .eo.Cedric BAIL
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-17eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one.Cedric BAIL
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9296
2019-07-17elementary: add a test for Efl.Model_provider.Cedric BAIL
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9295
2019-07-17ecore: rely on efl_provider_{un,}register to do the job of ↵Cedric BAIL
efl_loop_{un,}register. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9294
2019-07-17elementary: first search on ourself instead of our parent for all providers.Cedric BAIL
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9293
2019-07-17eo: add ability to register provider on the Eo object directly.Cedric BAIL
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-17elementary: Efl.Ui.Layout now rely on model change event to track the model.Cedric BAIL
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