summaryrefslogtreecommitdiff
path: root/src/lib (follow)
AgeCommit message (Collapse)Author
10 daysFix EAPI definition by defining EFL_BUILD for each built DLLVincent Torri
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported Test Plan: compilation Reviewers: zmike, raster, jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11834
10 dayssystemd - make libsystemd use/supprot entirely runtime "dlopened"Carsten Haitzler (Rasterman)
so i've moved all systemd and elogind support to be runtime only with dlopen (eina_module) of libsystemd.so.0 (or libelogind.so.0 for elput) and finding of symbols manually at runtime (if the right code paths or env vars are set), thus remvoing the need to decide at compile time if efl needs systemd support or not as it no longer needs systemd headers/libs at compile time and just at runtime. this simplifies building a bit and makes efl more adaptive to the final target system at runtime.
10 daysefl_ui_image: fix to call "clicked" smart callback when there is no imgWooHyun Jung
Summary: Some applications have used "clicked" smart callback from elm_image which does not have an image in it. To keep backward compatibility, hit_rect needs to be resized properly to call smart callback function. @fix Reviewers: Hermet, jsuya, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11840
12 daysecore-drm2: Add missing params for doxygenChristopher Michael
12 daysecore-drm2: Add API function to return default depthChristopher Michael
Rather than hard-coding depth & bpp in the evas drm engines, we can use this function to return the default depth & bpp. @feature
13 daysevas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULLTaehyub Kim
Summary: evas_vg_shaep_add should returned NULL when the parent is NULL because the function does not allow the NULL parent. @fix Reviewers: jsuya, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11839
2020-05-13elm: refactor legacy _icon_signal_emitMike Blumenkrantz
Summary: this was duplicated for a number of widgets in slightly different ways, so it can be unified as a private layout function to reduce maintenance costs Reviewers: Hermet, YOhoho, Jaehyun_Cho, jsuya Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11818
2020-05-13edje_calc: Add unload file for already loaded vector lottie file.JunsuChoi
Summary: Users can use multiple jsons per description in one part in edc. At that time, multiple files are loaded, if a file is already loaded, it must be unloaded. Test Plan: edje_cc -beta -id ./ json_edc.edc make ./test Push Change button -> shutdown application {F3882716} Reviewers: Hermet, herb, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11820
2020-05-13Revert "canvas render: don't apply mask if the objects in the map."Hermet Park
This reverts commit eaafb9e4c53863cfd0ae4aaf24f04d333458ff2b. Found some regression bugs. revert it.
2020-05-12Efl.Ui.Radio_Legacy: Prevent unnecessary signal emit for contentsJunsuChoi
Summary: When call elm_radio_add, theme_apply of layout is called and _efl_ui_radio_legacy_efl_ui_widget_theme_apply is called. Then it calls the signal emit for the icon. this call is unnecessary. Test Plan: Evas_Object *bt; clock_t start, finish; double sum= 0 ; double avg = 0; double cnt = 1000; for(int i =0 ; i<(int)cnt; i++) { start = clock(); bt = elm_radio_add(win); finish = clock(); sum += (double)(finish-start)/CLOCKS_PER_SEC; } avg = sum / cnt ; printf("radio avg : %f\n",avg); [before] radio avg : 0.000232 [after] radio avg : 0.000197 Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike Reviewed By: zmike Subscribers: bu5hm4n, zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11813
2020-05-12Efl.Ui.Check_Legacy: Prevent unnecessary signal emit for contentsJunsuChoi
Summary: When call elm_check_add, theme_apply of layout is called and _efl_ui_check_legacy_efl_ui_widget_theme_apply is called. Then it calls the signal emit for the icon. this call is unnecessary. Test Plan: N/A Reviewers: akanad, Jaehyun_Cho, Hermet, YOhoho, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11812
2020-05-12Efl.Ui.Progressbar_Legacy: Prevent unnecessary signal emit for contentsJunsuChoi
Summary: When call elm_progressbar_add, theme_apply of layout is called and _efl_ui_progressbar_legacy_efl_ui_widget_theme_apply is called. Then it calls the signal emit for the icon. this call is unnecessary. Test Plan: N/A Reviewers: Hermet, bowonryu, Jaehyun_Cho, YOhoho, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11811
2020-05-12Efl.Ui.Button_Legacy: Prevent duplicate signal emit of contentsJunsuChoi
Summary: When call elm_button_add, theme_apply of layout is called and _efl_ui_button_legacy_efl_ui_widget_theme_apply is called. Then it calls the signal emit for the icon. In the button theme, the default of the icon is hidden, so this call is unnecessary. Test Plan: Evas_Object *bt; clock_t start, finish; start = clock(); bt = elm_button_add(win); finish = clock(); printf("duration : %f\n", (double)(finish-start)/CLOCKS_PER_SEC); Evas_Object *bt; clock_t start, finish; double sum= 0 ; double avg = 0; double cnt = 1000; for(int i =0 ; i<(int)cnt; i++) { start = clock(); bt = elm_button_add(win); finish = clock(); sum += (double)(finish-start)/CLOCKS_PER_SEC; } avg = sum / cnt ; printf("button avg : %f %f\n",avg, sum); [before] button avg : 0.000215 [after] button avg : 0.000138 Reviewers: Hermet, YOhoho, Jaehyun_Cho, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11810
2020-05-12build: fix void* use in pointer mathsMike Blumenkrantz
Summary: void* is an invalid type for calculating pointer offsets, so ensure that this is always cast to something else (e.g., char*) in the few cases where it's been misused Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11816
2020-05-12edje: resolve float compare warningsMike Blumenkrantz
Summary: Depends on D11797 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11798
2020-05-12evas/filter: resolve float compare warningsMike Blumenkrantz
Summary: Depends on D11793 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11794
2020-05-12evas: resolve float compare warningsMike Blumenkrantz
Summary: Depends on D11792 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11793
2020-05-12Efl.Canvas.Object.Animation: Prevent crash when called .animation_pause_set.JunsuChoi
Summary: When call efl_canvas_object_animation_animation_pause_set, pd->in is freed by calling efl_canvas_object_animation_stop in _animator_cb. So when set pause_state, crash occurred This patch add null check to prevent null access. Test Plan: N/A Reviewers: Hermet, kimcinoo, herb, bu5hm4n Reviewed By: Hermet, bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11815
2020-05-12evas_object_textblock: reduce layout calculationsAli Alzyod
Summary: This patch reduces calculations for layouting textblock when it is not needed. Exactly in **evas_object_textblock_render_pre**, layouting was done (if needed) regardless of object visibility. evas_object_render_pre will async called if object status is changed, for example show->hide In short words: **We do not layout textblock content if textblock t is hidden.** ``` // suppose textblock is shown // and user want to hide it and set content in it // to be visible later on if needed evas_object_hide(textblock); evas_object_textblock_text_markup_set(textblock, "Hello World"); //Layouting will be done on textblock regardless of its visiblity, becase render_pre //will be called and will make it relayout ``` Reviewers: woohyun, zmike, tasn, raster, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11508
2020-05-12evas_object_textblock: fix to free style properly by edje's style_user_popWooHyun Jung
Summary: When calling style_user_pop in edje, current style was not freed by style_user_pop in evas properly (since old_ts was not cared at all). Because of this, memory was leaked by none accessible textblock styles which should have been freed. @fix Test Plan: 1. call edje_object_part_text_style_user_pop 2. call edje_object_part_text_style_user_push with new style-text 3. repeat #1 and #2 several times and check the memory (ps -u) Reviewers: ali.alzyod, bowonryu, bu5hm4n, zmike Reviewed By: ali.alzyod Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11801
2020-05-12evas_vg_node: deprecate evas_vg_node_geometry_set.JunsuChoi
Summary: The geometry info of evas_vg_node is based on Efl.Path_Bounds. The size of vg_node does not change unless path data is changed. Therefore, this API does not work normally. Test Plan: N/A Reviewers: Hermet, kimcinoo, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11809
2020-05-12efl_canvas_vg_node: fix the implemenation function of the ↵Taehyub Kim
efl_canvas_vg_node(evas_object_above_get, evas_object_below_get) Summary: There are wrong implemenation codes in the above and below get objects of efl_canvas_vg_node functin. and made it working correctly. Reviewers: Hermet, jsuya Reviewed By: jsuya Subscribers: singh.amitesh, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8700 Differential Revision: https://phab.enlightenment.org/D11781
2020-05-10canvas render: don't apply mask if the objects in the map.Hermet Park
Current mask is shared across the objects hierarchy, children would try to apply this mask on the rendering when it's enabled by the parent. but if the map is enabled from one of parents, children should not apply the parents mask but leaves it to the parent's job. @fix
2020-05-09evas + gl - fix callback-to-app-changes-state issue with pixel dataCarsten Haitzler (Rasterman)
so if we call a callback that has e do something like set new pixel data in a pixel data provider and we do it from the is pixel inside call ebcause pixels were marked as dirty - pixels may no longer exist after that, so re-get to make sure and handle properly. this was found with tiling + e + shaped windows + moving them around in tiling. it's a valid efl bug though. @fix
2020-05-09evas/events: fix conditional for emitting source mouse move eventsMike Blumenkrantz
Summary: this should match all other similar cases when determining whether to emit the event by checking whether at least one coord has changed, not both Depends on D11791 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11792
2020-05-09elm: resolve float comparison warningsMike Blumenkrantz
Summary: Depends on D11790 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11791
2020-05-09eina: resolve float comparison warningsMike Blumenkrantz
Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11786
2020-05-08doxygen docs: Fix problems in Evas_CanvasXavi Artigas
- Put some methods in a group so they are accessible and can be linked to. - Remove references to Efl_ methods, unavailable in Legacy. - Incorrect param names and typos
2020-05-08doxygen docs: Put Eina XAttrs in their own groupXavi Artigas
To stop polluting the Eina Tools group.
2020-05-08doxygen docs: Complete docs for Eina ThreadXavi Artigas
2020-05-08doxygen docs: Fix grouping mess in Eina Simple XMLXavi Artigas
Seriously, who came up with such convoluted doxygen code?
2020-05-08doxygen docs: Complete docs for Eina ModuleXavi Artigas
And fix yet another doxygen grouping mess
2020-05-08doxygen docs: Complete docs for Eina LogXavi Artigas
2020-05-08doxygen docs: Complete docs for Eina CPU functionsXavi Artigas
2020-05-08doxygen docs: Complete docs for Eina_RectangleXavi Artigas
2020-05-07Use __func__ C99 identifier instead of __FUNCTION__ compiler extensionVincent Torri
Summary: see http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1124.pdf section 6.4.2.2 page 52 Test Plan: compilation Reviewers: raster, devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11785
2020-05-06edje_textblock: content_fit size_range updateAli Alzyod
Summary: update size range will skip empty font_sizes Reviewers: woohyun, bowonryu Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11507
2020-05-06edje_textblock: optimize priority handling for content_fit optionsAli
Summary: this patch will reduce amount of unnessesary calculations, if user set both font_size_array and size_range for content fit. Reviewers: woohyun, bowonryu Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11498
2020-05-06evas_textblock: clear paragraphs during markup_setAli Alzyod
Summary: Clear paragraph during markup set, instead of waiting until next text layout to happen, this will release unused memory right away Reviewers: woohyun, zmike, bu5hm4n, raster Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11773
2020-05-05ecore_drm: ensure we have the symbol available at the right place.Stefan Schmidt
Summary: Linking under Fedora32 toolchain got more picky. Ecore_drm_device.c needs the symbol so make sure we have it there. Reviewers: devilhorns, raster Reviewed By: raster Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11772
2020-05-04evas_textblock: optimize calculate main format once in layout setup stageAli Alzyod
Summary: This change based on discussion on D9533 , where @smohanty example shows that unnecessary calculation happened on textblock related to lay-outing Where now _layout_setup will not calculate main format using (_format_fill) unless style has been changed. expedite commit: https://git.enlightenment.org/tools/expedite.git/commit/?id=dc6c931dc2e6c240d3e240f24578980c689ab7fc src/bin/textblock_text_fill_format.c Test Plan: ``` #define EFL_EO_API_SUPPORT 1 #define EFL_BETA_API_SUPPORT 1 #include <Eina.h> #include <Efl.h> #include <Elementary.h> EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *textblock; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("Main", "App"); elm_win_autodel_set(win, EINA_TRUE); int l, r, t, b; textblock = evas_object_textblock_add(evas_object_evas_get(win)); Evas_Textblock_Style *st = evas_textblock_style_new(); evas_textblock_style_set (st, "DEFAULT='font=Sans font_size=10 color=#000000 wrap=word align=left outline_color=#000 shadow_color=#fff8 shadow_color=#0002 glow2_color=#fe87 glow_color=#f214 underline_color=#00f linesize=40'"); evas_object_textblock_style_set(textblock, st); int sizes[] = {600, 700}; evas_object_textblock_text_markup_set(textblock, "This test resize text block and keep style (style parsed only once)"); clock_t start, end; start = clock(); for (int i = 0; i < 10000; i++) { evas_object_resize(textblock, sizes[i % 2], sizes[i % 2]); evas_object_textblock_style_insets_get(textblock, &l, &r, &t, &b); } end = clock(); double total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC; printf("total time = %f\n", total_Time1); evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(textblock); evas_object_move(textblock, 0, 0); evas_object_resize(textblock, 640, 800); evas_object_resize(win, 640, 800); evas_object_show(win); elm_run(); return 0; } ELM_MAIN() ``` **Old Code output : total time = 0.096900 New Code output : total time = 0.045580** Reviewers: smohanty, woohyun, Hermet, bowonryu, cedric, bu5hm4n, zmike Reviewed By: zmike Subscribers: zmike, segfaultxavi, bu5hm4n, smohanty, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9536
2020-05-04remove arguments of LOGFN in ecre_x and ecore_wayland as the are always the sameVincent Torri
Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11769
2020-05-02ecore-buffer: Fix formattingChristopher Michael
NB: No functional changes
2020-05-01ecore-drm2: Add support for using page_flip_handler2Christopher Michael
In our current Ecore_Drm2_Context structure, we are missing support for using page_flip_handler2. This patch adds that ability. This could prove useful when working with ecore_drm2 as it allows page_flip_handler callbacks to setup a handler for page_flip_handler2, which when the callback gets received, passes back the crtc_id which the pageflip occured on. @feature
2020-05-01edje - don't set font sizes less than 1Carsten Haitzler (Rasterman)
this makes evas unhappy and results in noise. @fix
2020-04-30ecore_evas: only define these eina errors onceMarcel Hollerbach
Summary: they are not needed multiple times, infact this is creating multiple definition errors. @fix Reviewers: stefan_schmidt, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11766
2020-04-29elm_fileselector: support expandable itemsMarcel Hollerbach
Summary: the fileselector can store exactly 1 model and monitor that for changes, which works normally just well. However, when we expand a items, another model comes into play, which is not monitored, and no additional reference is taken. Which means, _process_last will simply delete it, and elements that did not come into play at the _populate call are never displayed. With this commit, we check that we do not have a parent item, and explictly wait for the model to publish all its items, before we call _process_last. Additionally, that showed that the tracking of the list/grid item is ultimatly buggy, as there is no assertion that the parent model is really the parent directoy. Hence we need to hand pass the parent item here, as a fallback option to set the correct parent item. fixes T8689 Reviewers: zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8689 Differential Revision: https://phab.enlightenment.org/D11765
2020-04-29doxygen docs: Add missing group bracesXavi Artigas
Without them, these Evil docs had no group and therefore didn't appear anywhere.
2020-04-29doxygen docs: add missing example referencesXavi Artigas
2020-04-29doxygen docs: Replace broken URL with doxygen refXavi Artigas