AgeCommit message (Collapse)Author
2018-11-28evas ector: Replace renderer preparation responsibility.Hermet Park
Replace fill/stroke renderer preparation of shapes to canvas vg, These renderer now is triggered by their own instances.
2018-11-28ector: remove quality option.Hermet Park
This option is empty, useless. No plan to support it.
2018-11-27pyolian: Fix tests after class renames and API changeLauro Moura
Summary: There is still a test failing as at least Ecore.Audio is both a namespace and a class. Test Plan: python Reviewers: DaveMDS, q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-11-27gengrid : remove elm_access_text_set for code consistancy.SangHyeon Jade Lee
Summary: Early accessibility read object and item infomations by elm_access_text_set but this code is redundant now and removed genlist and list already. To make a same consistancy of our accessibility informations in list-look widgets we need to remove this function calls here. Test Plan: tested Gengrid Item is not readed in gengrid item focused with accessibility on. Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-11-27evas gl: recover current program state.Hermet Park
Summary: When we meets a new shader program in shape_context_push(), it loads a shader binary, if it is necessary, create a new program for the shader. In this step, the current program state could changed to this new one. But still our gl context by shader_flush() could keep the previous program for next shader flush. But it doens't know current program was changed by dropping by. Here is a simple scenario: 1. evas_gl_common_context_image_push(): This image requires Program A. it calls evas_gl_common_context_push() internally. then shader_array_flush() instantly. It stores the current context including shader program(Program A) 2. evas_gl_common_context_xxx_push(): call evas_gl_common_shader_program_get(). xxx draws first time, it loads a new shader program. Now this changed the current program to a new instant one. ... 3. shader_array_flush(): draw image which requires Prorgam A (No.1). Unfortunately, stored context is same to this. So, it skips some gl context setting including shader program. @fix Reviewers: #committers Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-11-27Revert "evas map: calc map geometry when it is out of screen"Hermet Park
This reverts commit 8a7817cdd9e3a347c301370c2d401a4c5691b6d8. Sorry, I didn't intend this patch...
2018-11-27evas map: calc map geometry when it is out of screenShinwoo Kim
Summary: The map geometry(>normal_geometry) is calculated only if evas_render_updates_internal_loop calls evas_render_mapped as below. evas_render_mapped -> evas_object_map_update -> evas_object_map_update -> _evas_map_calc_map_geometry If the mapped object is not on screen, then evas_render_updates_internal_loop does not call evas_render_mapped, because the mapped object is not active. The mapped object is not active(i.e. is_active is 0) always because cache.clip data including visilbe and geometry is not updated after the object goes out of screen. Usually the unmapped object updates its cache.clip data with updated geometry even though it is out of screen as below. _efl_canvas_object_efl_gfx_entity_position_set -> evas_object_recalc_clippees -> evas_object_clip_recalc -> evas_object_clip_recalc_do So the mapped object geometry(>normal_geometry) should be updated in evas_object_clip_recalc_do if it is out of screen. Test Plan: Sample code {F3455674} {F3455673} {F3455672} {F3455671} Reviewers: Hermet, jypark Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-11-26Ui Scroller : remove unnecessary efl_delDaniel Hirt
Child objects are already destoryed during destruction of the parent object. This fixes ERR messages when doing `efl_del(sd->smanager)` object, which is already destroyed at that point.
2018-11-26Scroll manager: remove unnecessary callback_delDaniel Hirt
Child objects are already destoryed during destruction of the parent object. This fixes ERR messages when doing operations on the `event_rect` object, which is already destroyed at that point.
2018-11-26Ui text: remove unused code from internal scrollerDaniel Hirt
2018-11-26Ui text: update text; use efl_text_set and not markup_setDaniel Hirt
2018-11-26Ui text: update inputfield test to reflect theme and part changesDaniel Hirt
2018-11-26Ui text: implement efl_part and part_text API to text_setDaniel Hirt
2018-11-26Ui text: have "inputfield" example use the default theme valuesDaniel Hirt
2018-11-26Ui text: read init text properties from themeDaniel Hirt
2018-11-26Ui text: add initial properties for themeDaniel Hirt
2018-11-26Ui text interactive: emit changed,user event correctlyDaniel Hirt
2018-11-26Ui text scroller: add usage of a guideDaniel Hirt
2018-11-26efl_ui_focus_manager_sub: freeze manager when parent manager is frozenMarcel Hollerbach
a efl_ui_focus_manager_sub object is a manager object by itself. It registeres the border elements of itself in the parent focus manager. However, all elements that are registered in this manager object, are also automatically children of the parent root object, which means, when the root object of the parent manager object is moved, then those children will also be moved. Which means, when the parent manager can ignore those changes, we can also ignore them. This improves the overall performance of the "Scroller 2" test case by 26%. The change to the test is required in order to redirect the events so the self_dirty bit is setted correctly Differential Revision:
2018-11-26elm_interface_scrollable: freeze the manager object when content movesMarcel Hollerbach
this freezes the manager object of the user of the interface. This improves the overall performance when moving arround focus in a scrollable object, since no new relations are needed to be recalculated. This safes up about 2% in the "Scroller 2" test. Additional optimizations are added in another commit. Differential Revision:
2018-11-26efl_ui_focus_manager_calc: ensure that the coords are marked dirtyMarcel Hollerbach
this is needed when a object is unregistered, otherwise a user of the event is not informed when a element is gone, and thus the border elements might have changed. Differential Revision:
2018-11-26efl_ui_focus_manager: introduce a new APIMarcel Hollerbach
the new api can be used to freeze the cache. This means, when the widgets of the focus manager are all equally moved, the cache can stay, cause the relative positions did not change, this enables a whole new set of available optimizations. Differential Revision:
2018-11-26efl_ui_focus_object: introduce a new event for focus geometry changesMarcel Hollerbach
before the move and resize events have been used. However, this turned out to not work well, because not all registered items are real efl.gfx.entity objects, there is also a custom property for getting the focus geometry, so now this property is completed with a event that is emitted when the focus geometry changes. With this event we can reintroduce relation caching. Since all events are marked correctly dirty now. Differential Revision:
2018-11-26elm_focus: implement missing functionsMarcel Hollerbach
there is one function that needs to be implemented by the inheritor of Efl.Ui.Focus.Object and that is focus_parent, otherwise child_focus cannot be propagated correctly. This is now achived correctly for all widgets. This fixes from elm_object_focus_get results for toolbar and calendar. Segmentcontrol inherits from the class, however, the widget itself does not allow focus, so its never registered probebly. Differential Revision:
2018-11-26efl_ui_focus_manager_calc: reduce the amount of list operationsMarcel Hollerbach
it appears that the calculation of the unordered elements can be done a lot easier here, when checking in the initial for loop for the right parent safes us two more list walk later on. Additionally, if all elements in this chain have the right parent, and the amount of elements is the same as the parent has, then this list can be used as a full replacement. Differential Revision:
2018-11-26FlipSelector: fix items creation when range is usedDaniel Zaoui
In the case step is 0, the application will enter in an infinite loop where the max will never be reached. To fix this, step is set to 1 if 0 is given by the user. Moreover, step is forced to positive. According to the given min and max values, the step will be negative or positive. In this way, we are sure to be inside the correct range.
2018-11-23eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has ↵Cedric BAIL
been available for some time. Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eio: switch Eio.Model to inherit from Efl.Model_Loop.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23ecore: switch all Efl.Model to inherit first from Efl.Model_Loop.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23ecore,efl: add Efl.Model.property_get helper which will suceed once when a ↵Cedric BAIL
property finally has a value. Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eio: use the right type of Eina_Value to report error.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23efl: make Efl.Model.properties_get return an Iterator<string>.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eina: add tests for eina_multiple_iterator_new.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eina: add eina_multi_iterator_new.Cedric BAIL
This will return an Iterator that will walk over a serie of iterator. This technicaly take ownership of the iterator it is walking over and destroy as it goes and doesn't need them anymore. Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eina: add test for Eina_Iterator over pure C array.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23eina: add a way to iterate over a pure C array with no NUL terminating element.Cedric BAIL
Reviewed-by: Vitor Sousa da Silva <> Differential Revision:
2018-11-23travis: temporarily disabled mingw job as hot fixStefan Schmidt
Since a recent commit eolian_gen from HEAD is needed to build efl. So far the mingw cross build avoided the double build of efl for bootstrapping purpose and used the 1.21 package for the cross build. This does no longer work and all Travis jobs are now failung due to this. As a hotfix I disable the build now (Friday evening) to have working builds over the weekend and find a better solution next week.
2018-11-23travis: reorder jobs to reduce overall build time per pushStefan Schmidt
We currently have 6 jobs runnign after a git push, but only 5 parallel workers available. The macos build takes way longer then the meson builds for example which we will use to our advantage. Starting the longest builds (macos and mingw) first and letting the second meson build start after the first ones finishes. That way the limitation is still the long running macos job. Differential Revision:
2018-11-23ci: here comes ninja!Marcel Hollerbach
this updates the scripts in order to make ninja all / ninja test work as expected. For now there are 2 new jobs options-enabled and options-disabled. mingw and osx will follow in another commit. Benchmarks are disabled for now, as the eina benchmark does not seem to terminate. Differential Revision:
2018-11-23travis: merge wayland build into misc and rename to options-enabledStefan Schmidt
The misc build already had most of the extra options enabled for the EFL build. Instead of wasting CPU cycles on a full seperate build for just wayland options we merge these two together. In the process we rename from misc (pretty vague) to options-enabled and options-disbaled. Due to the combination of options we need to disable sdl for now. It clashes with the OpenGL ES option we enable for wayland. Having build for the different GL flavours is something we should look into at some point. Patch is based on the patches from Marcel in D7253 and D7254 Differential Revision:
2018-11-23eolian: implement new syntax for inheritanceDaniel Kolesa
This new syntax separates the parent class from extensions, in a familiar way to similar to e.g. Java. Since changing everything at once is a lot of effort, implement it alongside for the time being.
2018-11-23eolian: implement new inherit behaviorDaniel Kolesa
Eolian now separates 'parent' and 'extensions'. For regular classes, parent is the first item in the inherits list and extesions is the rest. For interfaces and mixins, parent is NULL and extends is the inherits list. The reason for this is the separation of them in syntax in near future. It also slightly changes the behavior; since for interfaces and mixins, parent is always NULL now, you can freely inherit from all types of classes without needing to manually put an interface type as the first item of the inherits list.
2018-11-23efl_interpolator: rename subclasses of Efl.InterpolatorJaehyun Cho
Subclasses of Efl.Interpolator are renamed intuitively from backward order to forward order.
2018-11-23efl_interpolator: change Efl.Interpolator class to interfaceJaehyun Cho
Since Efl.Interpolator's subclasses are used as interpolator class, Efl.Interpolator class is changed to be an interface. This change allows Efl.Canvas.Animation to have Efl.Interpolator as its property in efl_canvas_animation.eo.
2018-11-23elm_gengrid: remove all_items_deselect call in _gengrid_element_focusedYeongjong Lee
focus_changed doesn't mean select_changed. selection is handled the code below. Differential Revision:
2018-11-23ector software: make a pair of ref/unref.Hermet Park
public_shape missed get xunref, it won't reache to zero reference. @fix
2018-11-23evas vg: rename evas_vg prefix to efl_canvas for consistency.Hermet Park
2018-11-23ector renderer: correct indentation.Hermet Park
2018-11-22elm: roll _tree_custom_chain_missing into main focus test functionDerek Foreman
Further reduction in eo overhead. Differential Revision: Signed-off-by: Derek Foreman <>