path: root/src (unfollow)
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 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-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 <>
2018-11-22elm: Compress more focus tests into the same list walkDerek Foreman
Since we're already at the top of the list, we can do the WIN_CLASS test much more cheaply. Differential Revision: Signed-off-by: Derek Foreman <>
2018-11-22elm: Re-order focus testsDerek Foreman
Placing the cheapest tests first can save on some heavy walks. Differential Revision: Signed-off-by: Derek Foreman <>
2018-11-22elm: Walk parents instead of parent widget in focus testDerek Foreman
This Should Work, right? Differential Revision: Signed-off-by: Derek Foreman <>
2018-11-22elm: speed up _eval_registration_candidateDerek Foreman
combining _tree_unfocusable and _tree_disabled into a single function reduces eo overhead. This saves a few ms at startup in elementary_test. Differential Revision: Signed-off-by: Derek Foreman <>
2018-11-22Remove duplicated interface inheritance in eoYeongjong Lee
Summary: Delete unnecessary interface inheritance Efl.Ui.Base ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Ui.Base Efl.Text_Cursor ==> Efl.Text_Markup - Efl.Text_Cursor Efl.Pack_Layout ==> Efl.Ui.Box - Efl.Pack_Layout Efl.Ui.Translatable ==> Efl.Ui.Layout - Efl.Ui.Widget - Efl.Ui.Translatable Efl.Part ==> Efl.Ui.Widget - Efl.Part Efl.Ui.View ==> Efl.Ui.Layout.Object - Efl.Ui.View Efl.Access.Value ==> Efl.Ui.Spin - Efl.Access.Value Efl.Gfx.Buffer ==> Efl.Canvas.Image_Internal - Efl.Gfx.Buffer Efl.Canvas.Pointer ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Canvas.Pointer Efl.Gfx.Size_Hint ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Gfx.Size_Hint Test Plan: make check Reviewers: Jaehyun_Cho, Hermet, woohyun, segfaultxavi Reviewed By: Jaehyun_Cho, segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: