summaryrefslogtreecommitdiff
path: root/src/lib (follow)
AgeCommit message (Collapse)Author
2020-11-25eolian: Rename EAPI macro to EOLIAN_API in Eolian libraryFelipe Magno de Almeida
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))`. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: vtorri, woohyun, jptiz, lucas Reviewed By: vtorri Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12196
2020-11-25eina: Rename EAPI macro to EINA_API in Eina libraryFelipe Magno de Almeida
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))` However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: jptiz, lucas, woohyun, vtorri, raster Reviewed By: jptiz, lucas, vtorri Subscribers: ProhtMeyhet, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12188
2020-11-25ui transit: improve zoom effect smoothness by subpixel rendering.Hermet Park
Summary: evas image might have a better quaility if scaling/transform is not necessary, so we have a condition to check if image is axis-aligned transformed or not. On the other hand sub-pixel(floating point coordinates unit) rendering necessary if image has an effect such a zooming. This would result in a smoother effect than integer coodinate system. We need a more precise condition to confirm this, so we intrduce "anti-alias" option to decide the condition. now, anti-aliased objects will have a sub-pixel rendering always. Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12194
2020-11-22ecore x - dont free previous resource dbCarsten Haitzler (Rasterman)
2020-11-22ecore-x - add xresource set/get/load etc.Carsten Haitzler (Rasterman)
new ecore-x calls to support the things xrdb does @feat
2020-11-19evas_textblock: reduce content fit calculationsali-alzyod
Reviewers: woohyun, id213sin Reviewed By: woohyun, id213sin Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12187
2020-11-18elm_entry: legacy smart selection[start,cleared] callback fixAli Alzyod
Summary: due to changes in latest text apis in unified, legacy selection call back [start,clear] does not work anymore, Now add the support for legacy callback [selection,start selection,cleared] Reviewers: woohyun, bowonryu, stefan_schmidt Reviewed By: bowonryu Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12126
2020-11-12evil: Rename EAPI macro to EVIL_API in Evil libraryFelipe Magno de Almeida
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. EAPI was designed to be able to pass ```__attribute__ ((visibility ("default")))``` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). ``` Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as ```__atttribute__((visibility("default")))``` However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: raster, vtorri, jptiz, lucas, woohyun Reviewed By: vtorri, jptiz Subscribers: ProhtMeyhet, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12182
2020-11-10evas - object - grabs - dont delete NULL event grabsCarsten Haitzler (Rasterman)
segv while shutting down and removing grabs - obj->events was null... dont follow that poointer while deleting grabs. @fix
2020-10-28evas/textblock: apply style paddings in fit calculationYoungbok Shin
Summary: The style paddings should be calculated for fitting text into the given object's size. Test Plan: 1. Put shadow effect in your style string. "... style=shadow,far_bottom shadow_color=#000 ..." 2. Apply fit option( and ellipsis to see how it goes wrong without this patch.) 3. See results. Reviewers: woohyun, ali.alzyod Reviewed By: woohyun, ali.alzyod Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12183
2020-10-27evil: undef setlocale to avoid recursionFelipe Magno de Almeida
Summary: evil_setlocale implementation must not call itself, so it must #undef setlocale to avoid replacing with evil_setlocale. Reviewers: vtorri, jptiz, lucas Reviewed By: vtorri, jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12184
2020-10-20efl.ui.text : Fixing cursor movement using keyboard arrows/mouse clickabdulleh Ghujeh
Summary: if we have an emoji or a cluster combining multiple Unicode inside ui textbox, we can move the cursor inside the emoji/cluster using keyboard arrows/mouse click. so we should use cluster movement instead of character movement (same as entry). {F3868931} this should resolve T8666 Test Plan: #define EFL_EO_API_SUPPORT 1 #define EFL_BETA_API_SUPPORT 1 #include <Efl_Ui.h> static void _gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { efl_exit(0); } static void _gui_setup() { Eo *win, *box; win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(), efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC), efl_text_set(efl_added, "Hello World"), efl_ui_win_autodel_set(efl_added, EINA_TRUE)); // when the user clicks "close" on a window there is a request to delete efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL); box = efl_add(EFL_UI_BOX_CLASS, win, efl_content_set(win, efl_added), efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240))); efl_add(EFL_UI_TEXTBOX_CLASS, box, efl_gfx_hint_weight_set(efl_added, 1.0, 1.0), efl_gfx_hint_align_set(efl_added, 1.0, 1.0), efl_text_markup_set(efl_added, "A&#x262a;&#xfe0f;"), efl_pack(box, efl_added)); } EAPI_MAIN void efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) { _gui_setup(); } EFL_MAIN() Reviewers: ali.alzyod, zmike, woohyun, bu5hm4n Reviewed By: ali.alzyod, woohyun Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8666 Differential Revision: https://phab.enlightenment.org/D11745
2020-10-13Ecore_Win32: add the API ecore_win32_window_maximized_set()Vincent Torri
Summary: ecore_evas win32 engine is updated to support it. This fixes the "maximized/unmaximized" elm "windows states" test. Test Plan: elm_test Reviewers: raster, jptiz, felipealmeida Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12177
2020-10-13Ecore_Evas win32: fix activate() functionVincent Torri
Summary: activating the function needs un-iconified first Test Plan: elm windows status tests Reviewers: raster, jptiz, felipealmeida Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12176
2020-10-09efl ui image - dont cancel preload on image if image is an edje objectCarsten Haitzler (Rasterman)
fixes invalid request on non-image object. @fix
2020-10-08Evil : move mkstemp(s) and mkdtemp in eina_file directlyVincent Torri
Summary: Also replace all mkstemp(s) and mkdtemp with the eina_file functions in the source Test Plan: run eina_file test Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12170
2020-10-08Revert "Revert "evas_textblock: rainbow flag emoji treated as two ↵WooHyun Jung
clusters(update unibreak to version 4.2)"" This reverts commit 173b3a108e1b2093ac37650619a61568aaed4e04. This was reverted because of freezing codes for release. Now, release work was over. So, I think it's ok to restore this.
2020-10-06Ecore_file: on Windows, fix errno value when dst exists.Vincent Torri
Summary: This also fixes the saving of elementary_config file Test Plan: execution of elementary_config Reviewers: jptiz, raster Reviewed By: raster Subscribers: johnny1337, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12165
2020-10-05eina - eina eifle - rename eina_file.c to indicate its for posixCarsten Haitzler (Rasterman)
2020-10-05elementary image zoomable: fix non supported oversized image.Hermet Park
Summary: if image size is larger than system support, photocam can not show the image. Not like other types of image, photocam is originally designed for huge-size of image, this result is not allowed by users, we should avoid the worst case as we can do. This might not be the best idea, so you can improve it if you have a better solution. Reviewers: kimcinoo Reviewed By: kimcinoo Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12164
2020-10-03singularize srand in eina_init - only once in one placeCarsten Haitzler (Rasterman)
simplify down to having a single srand() in eina_init and use urandom if it works and is there - if not, time(NULL) will do. it's the best we can...
2020-09-29efreet - windows - still call stat but skip lstat/readlinkCarsten Haitzler (Rasterman)
now stat is filled with data on windows @fix
2020-09-28evas: sw font draw - protect against null pointer accessYoungbok Shin
The image data of dst could be null in a rare case. @fix Reviewed-by: Christopher Michael <devilhorns@comcast.net> Differential Revision: https://phab.enlightenment.org/D12163
2020-09-25Ethumb: reorder _init/shutdown functions, ecore and evas init/shutdown are ↵Vincent Torri
useless, as ecore_evas already manages them Test Plan: compilation Reviewers: raster Reviewed By: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12161
2020-09-24evas vg: check vg changedShinwoo Kim
Summary: It is not able to render even though vg object has a chance to render, because evas_object_smart_changed_get checks only Evas_Object_Protected_Data, when Efl_Canvas_Vg_Object_Data.changed is TRUE. Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12152
2020-09-22edje: efl: add new EFL_VERSION_1_26 define for new dev cycleStefan Schmidt
Thios allows to mark edje file supported for specific versions.
2020-09-22efl_gfx_path: When path end(Z,z), Current point are returned to starting ↵JunsuChoi
point(M,m) Summary: When path ends with 'z' or 'Z' command, if 'm' comes as next command, the current point is incorrectly referenced. Since 'Z', 'z' means to close the path, so, Save point and reuse it when 'M' or 'm' is called. Test Plan: [Error Case] <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"> <path d="M 52.17,20 H 11.92 V 43 H 52.17 Z m -1.5,21.5 H 13.42 v -20 H 50.67 Z " fill="#a8b7c1" stroke="#F00" stroke-width="0.5" /> </svg> Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, herb, kimcinoo, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12158
2020-09-21elm_config: don't prepend /tmp/ to file nameVincent Torri
eina_file_mkstemp() already takes care of this. Differential Revision: https://phab.enlightenment.org/D12155
2020-09-21Revert "elm - collection view - check return and fix coverity wanring"Stefan Schmidt
This reverts commit f3fdcf56923c8a2ca126e14d915e6386c7c4ff7e. This commit leads to ninja test timeout. When returning result here the future will never fire and we will keep spinning.
2020-09-21elm - toiolbar - use correct theme icon for more itemCarsten Haitzler (Rasterman)
there is a specific thme icon for "more" items when a toolbar compresses. it literally was not being used. it should use it. "go-down" that it was using isn't exactly very expressive of what this item does... @fix
2020-09-20ecore - efl thread - dont close invalid < 0 fd'sCarsten Haitzler (Rasterman)
fix CID 1396951
2020-09-20ecore - efl exe - check returns of open and dup2 for stdin etc. fdsCarsten Haitzler (Rasterman)
check returns - fix CID 1397002
2020-09-19eina thread - check return of pthread_attr_initCarsten Haitzler (Rasterman)
fix CID 1401031
2020-09-19elm - collection view - check return and fix coverity wanringCarsten Haitzler (Rasterman)
fix CID 1405808
2020-09-19ecore con url - curl is actually optional and only needs to init on useCarsten Haitzler (Rasterman)
ecore_con_utl_init is kind of pointless when we can init at the first use of a url and just have it fail. the problem is anyone initting ecore_con's url stuff will then pull in curl at that point and not laer "on first use" which is kind of nw how the dlopen fun was intended, so push it off until then.
2020-09-18elm_config: remove useless init|shutdown of ecore_win32 and eocore_cocoa ↵Vincent Torri
(done in ecore_evas module), and useless wayland variable ecore_win32 and ecore_cocoa was init. wayland variable was also unused Reviewed-by: Christopher Michael <devilhorns@comcast.net> Differential Revision: https://phab.enlightenment.org/D12149
2020-09-18call sd_seat_can_tty to determine if ttys should be used, instead of ↵nerdopolis
hard-coding seat0 Summary: All TTYs are on seat0, but not all seat0s have TTYs Reviewers: #efl, devilhorns Reviewed By: #efl, devilhorns Subscribers: bu5hm4n, stefan_schmidt, raster, cedric, #reviewers, #committers Tags: #efl Reviewed-by: Christopher Michael <devilhorns@comcast.net> Differential Revision: https://phab.enlightenment.org/D12143
2020-09-17evas_main: Fix memory leak.Woochanlee
Summary: If the inlist has only one item when it removed. the data is not freed in descturctor. Reviewers: Hermet, raster, vtorri Reviewed By: Hermet Subscribers: vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12147
2020-09-17evas vg: check object changed as well 2Shinwoo Kim
Summary: evas cannot render vg object if Efl_Canvas_Vg_Node_Data flag is not EFL_GFX_CHANGE_FLAG_NONE and Evas_Object_Protected_Data.changed is FALSE, when vg object marks its node as changed. Above case could be possible if vg object render_pre is not called, and only nd->vd->obj->changed is set to false by evas_object_change_reset. Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12142
2020-09-16evas_textblock: prevent textnodes with <ps>/<br> without format nodeAli Alzyod
this will prevent textnodes content with <ps> or <br> without format node Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D12145
2020-09-11Efl.Canvas.Vg: When VG container has transparency, ector buffer created ↵JunsuChoi
synchronously Summary: If the container has transparency, it internally alpha blends with ector buffer. So ector buffer must be created synchronously. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: #reviewers, #committers, cedric, herb, kimcinoo Tags: #efl Differential Revision: https://phab.enlightenment.org/D12140
2020-09-11Efl.Canvas.Vg.Object: Fix typoJunsuChoi
Summary: The 3th parameter of ector_buffer_pixels_get is the width. So chnage px to pw. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, herb, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12141
2020-09-10docs: Correct the mismatched group name in Evas.Myoungwoon Roy, Kim
I had found mismatched group name in Evas and fixed them. Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D12134
2020-09-09evas vg: check object changed as wellShinwoo Kim
Summary: evas cannot render vg object if Efl_Canvas_Vg_Object_Data.changed is ture and Evas_Object_Protected_Data.changed is false, when vg object marks itself as changed. Above case is possible depending on the draw area which is calculated by eng_output_redraws_next_update_get. If this function returns NULL, the vg object render function is not called, and vd->changed remains true. Only vd->obj->changed is set to false by vas_object_change_reset. Reviewers: Hermet, jsuya, herb, raster Reviewed By: raster Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12136
2020-09-07elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cbJaehyun Cho
elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb set by elm_gesture_layer_cb_set and cb_info of the cb is free in the cb. This causes crash if cb_info is searched with EINA_INLIST_FOREACH.
2020-09-05elm cnp - make matchers const and static tooCarsten Haitzler (Rasterman)
2020-09-05elm_cnp: adjust image type to real formatMarcel Hollerbach
we should never say that we have image/png etc. if we do not have the respective format. Otherwise we are just confusing the other client. With this you can copy things from elm to thunderbird / libreoffice writer / firefox / telegram / chromium. Please note if you test this: Start *a new xorg session* it was discovered that xorg clients tent to be totally confused if there was a protocol error before, or some wrong mime type was delivered before, thunderbird even likes to crash if this is not done. This should at some point be extended to more image types.
2020-09-04ecore x - fix typo in internal backdoor api to get vsync debugCarsten Haitzler (Rasterman)
2020-09-04ecore drm - increase timeout for flips from 0.05 to 2.0 secCarsten Haitzler (Rasterman)
so our timeout is far too agressive. we cant stay hung on buggy devices/drivers though so make the timeout 2s instead of 0.05s so we dont go retrying flips too agressively which causes stuttering @fix
2020-09-03docs: Add the missing API page name to elementary and evasMyoungwoon Roy, Kim
I had found missing API reference page name. There should be page name to each API defgroup Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D12128