summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-26ci: move release-ready to default build and enable tests+install on itdevs/stefan/travis-no-defaultMike Blumenkrantz
with meson, the only difference between our 'default' and 'release-ready' builds is that the release build uses a different build type which sets some compile/build flags. these should not provide any differing coverage over a regular build, so we can reduce our job matrix by one here Differential Revision: https://phab.enlightenment.org/D9123
2019-06-26ecore-wl2: Add missing doxygen for ecore_wl2_window_resizing_getChristopher Michael
function ref T8014
2019-06-26ecore-wl2: Add missing @since for ecore_wl2_offer_mimes_get functionChristopher Michael
ref T8014
2019-06-26efl_ui_suite: remove duplicated codeMarcel Hollerbach
Summary: there is a helper for this function, lets use it. Depends on D9181 Reviewers: stefan_schmidt, segfaultxavi, zmike, Jaehyun_Cho Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9182
2019-06-26efl_input_interface: add tests for mouse wheel emittingMarcel Hollerbach
Summary: this tests if z and direction is correctly emitted Depends on D9169 Reviewers: zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9170
2019-06-26efl_input_interface: test pointer in and out events on a objectMarcel Hollerbach
Summary: this verifies that EFL_EVENT_POINTER_IN EFL_EVENT_POINTER_OUT are emitted correctly with the correct event content. Depends on D9168 Reviewers: zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9169
2019-06-26efl_input_interface: test pointer move down upMarcel Hollerbach
Summary: this verifies that EFL_EVENT_POINTER_MOVE / EFL_EVENT_POINTER_DOWN / EFL_EVENT_POINTER_UP are emitted and passed with the correct event types, and fields on the event object. Depends on D9167 Reviewers: zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9168
2019-06-26evas_events: fix setting of 'pressed' member in Efl_Input_Key_DataMarcel Hollerbach
Summary: this also adds tests verifying that EFL_EVENT_KEY_DOWN / EFL_EVENT_KEY_UP are emitted and passed with the correct event types, and fields on the event object. Depends on D9166 Reviewers: zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9167
2019-06-26efl_input_interface: add test to verify focus in/outMarcel Hollerbach
Summary: this verifies that EFL_EVENT_FOCUS_IN / EFL_EVENT_FOCUS_OUT are emitted and passed with the correct event types, and fields on the event object. Reviewers: zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9166
2019-06-26eolian: allow value types in view containers (iterators etc.)Daniel Kolesa
This restricts disallowing value types to containers that can own them. It also disallows usage of @owned on those view-only containers, as that makes no sense.
2019-06-26efl_canvas_vg_container: remove unnecessary parent set.Hermet Park
the duplicated object must be set its parent by caller, it shouldn't set it by itself internally.
2019-06-26evas vector: set proper parents of clone objects.Hermet Park
fill, marker, stroke need proper parent when they were cloned. Here, they would get the container of the shape which is going to be copied. @fix
2019-06-25eo: add an API entry for custom instantiation of Eo objects for binding usageVitor Sousa
Add a new function in the Eo API in order to provide more options on object instantiation for binding creators. For the Eo lib to be able to construct objects that inherit from bindings in many languages we should provide a way for bindings to call different kinds of constructors, in a way that simply overriding the `efl_constructor` method is not enough. We need a way to differentiate at construction time if the Eo is being constructed from C or from the binding, because if it is the former we need too call the inherited object constructor from C and instantiate a new object, and if it is the later we need to avoid instantiating a new object because we are already in the middle of the process of creating a new one. `efl_constructor` alone does not provide any way of distinguishing between those situations, so, being able to pass additional information for efl_add_start (like a custom constructor pointer) is necessary to make the right distinction. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9070
2019-06-25evas_common_format_color_parse: support color namesali
Summary: efl user can now specify colors by there names ( not only Hex RGB/RGBA values), which is very convenient specially for first time users (where user may think it is supported by default) <color=#FF0000> == <color=red> == <color==RED> there are two main types of color names and values ( X11, web colors), here we are using X11 color. ============ Update for documentation pages should be added like: https://www.enlightenment.org/_legacy_embed/evas_textblock_style_page.html#evas_textblock_style_color I do not know how to update it :( Test Plan: ``` #define EFL_EO_API_SUPPORT 1 #define EFL_BETA_API_SUPPORT 1 #include <Eina.h> #include <Elementary.h> #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_TEXT_CLASS, box, efl_text_markup_set(efl_added, "<color=red>this is red color line(color = red)<color><br>" "<color=#0000FF>this is blue color line (color = #0000FF)<color><br>" "<color=gray>this is gray color line (color = gray)<color><br>"), efl_gfx_hint_weight_set(efl_added, 1.0, 0.9), efl_gfx_hint_align_set(efl_added, 0.5, 0.5), efl_text_multiline_set(efl_added,EINA_TRUE), efl_pack(box, efl_added)); efl_add(EFL_UI_BUTTON_CLASS, box, efl_text_set(efl_added, "Quit"), efl_gfx_hint_weight_set(efl_added, 1.0, 0.1), efl_pack(box, efl_added), efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _gui_quit_cb, efl_added)); } EAPI_MAIN void efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) { _gui_setup(); } EFL_MAIN() ``` Reviewers: woohyun, bowonryu, segfaultxavi, vtorri Reviewed By: segfaultxavi, vtorri Subscribers: vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9153
2019-06-25tests: fix unforked efl_ui_radio_group completionMike Blumenkrantz
Summary: change fixture to zero all global variables and reset state Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9177
2019-06-25ci: travis: add coverity build job to be run from cronStefan Schmidt
Summary: We finally have regular Coverity Scan runs back to our CI. It gets triggered from the cron jobs on Travis. As we are not able to identify if it comes from a daily or weekly cron build I added a check to only run the scan build on a Saturday so we should have a nice and fresh report on Monday morning in our mailboxes. Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9175
2019-06-25meson: fix building of svg / eet / json loader if its disabledMarcel Hollerbach
the problem was that the savers are defining the same defines as the loaders. Because of me beeing paranoid, i would like to keep the double define, as later on, someone will likely forget it, and it does not do any harm here. this fixes ci. Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org> Differential Revision: https://phab.enlightenment.org/D9174
2019-06-25ci: travis: remove left over from autotools buildStefan Schmidt
Summary: This caching is no longer needed. No m4 cache around with meson. Our config.cache setup by our autotools build is no longer there either. Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9160
2019-06-25evas_common: use memcpy to copy pixel bufferali
Summary: This function has no special processing when copy data, so using memcpy can enhance performance Test Plan: ``` #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> typedef unsigned int DATA32; static void oldFunc(DATA32 *src, DATA32 *dst, size_t len) { DATA32 *dst_end = dst + len; while (dst < dst_end) *dst++ = *src++; } static void newFunc(DATA32 *src, DATA32 *dst, size_t len) { memcpy(dst, src, len * sizeof(DATA32)); } int main() { int counter = 1000; srand(time(NULL)); DATA32 src[50000] = {0}; DATA32 dst[50000] = {0}; for (int i = 0; i < 50000; i++) src[i] = rand(); clock_t start, end; double total_Time1 = 0; int i; start = clock(); for (i = 0; i < counter; i++) oldFunc(src, dst, 50000); end = clock(); total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC; printf("original = %f \n", total_Time1); start = clock(); for (i = 0; i < counter; i++) newFunc(src, dst, 50000); end = clock(); total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC; printf("modified = %f \n", total_Time1); } ``` Reviewers: raster, ManMower, woohyun, Hermet Reviewed By: Hermet Subscribers: Hermet, vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9155
2019-06-25efl-mono: Add object type support for Eina.ValueFelipe Magno de Almeida
Summary: C# `Eina.Value` now has builtin support for `EINA_VALUE_TYPE_OBJECT`. To avoid ambiguity with the `Set` method overloads, explicit casting operators were used for wrapping/unwrapping `Efl.Object` instead of implicit ones like for other value types. Thus, to initialize an `Eina.Value` from an object, you can use the following: `var v = (Eina.Value)myObj;` Reviewers: felipealmeida, vitor.sousa, segfaultxavi, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9164
2019-06-24tests/slider: verify emission of changed and delay,changed eventsMike Blumenkrantz
this simulates clicking and dragging a slider to avoid regressions with these events Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9152
2019-06-24efl_ui_slider: remove setting pass_events on internal spacer in constructorMike Blumenkrantz
this object is swallowed into a layout, which means the layout will be managing this property Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9151
2019-06-24eolian: add library support for declaring and using errorsDaniel Kolesa
You can now declare errors like this: error Foo = "message"; [[documentation]] Then you can use them as types like this: foo { return: error(Error1, Error2, ...); } They have a separate type category and storage. They are checked for redefinitions the same as anything else though. This does not add any generator support nor it adds any advanced checking. Ref T6890
2019-06-24ci: travis: osx: switch to newer macos image and brew addon for packagesStefan Schmidt
Summary: One of the time consuming parts of the macos build we have is the installing of the efl dependencies as packages from brew. The brew update command alone is often taking 5m to run. To avoid running brew update at all we are switching to a newer osx image from Travis, which comes with a newer set of brew metadata and gets us around a brew update for now. Together with this we are also switching from our own dependency install script to the brew package addon provided by travis already. In my testing this shows we are only spending 270s in the brew package updates comapred to 635s before. So we have a 6 minutes speedup for every osx build! Depends on D9161 Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9162
2019-06-24ci: enforce ccache for macos meson runStefan Schmidt
Summary: While we set CC="ccache gcc" as an env var in Travis it gets overridden at some point before meson is run. This results in a situation where we have ccache enabled for g++, but not for gcc. Enforcing the setting directly before meson again to make sure it gets picked up correctly. I have seen build time improvements on Travis with up to 7 minutes with this in an optimal case (rebuild existing job). It should shave off at least a few minutes from every build even with bigger changes. Depends on D9160 Reviewers: zmike, bu5hm4n Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9161
2019-06-24remove last bits of Evil.h in tests and use evil_private.h insteadVincent Torri
Test Plan: compilation Reviewers: zmike, raster, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9154
2019-06-24efl_ui_textpath: fix a center align but that doesn't happen at text_set().Hermet Park
When textpath obj has a new text data, it must update center align position based on the new text length. Previously, it missed that logic. @fix
2019-06-24eolian_mono: support eo access modifiersYeongjong Lee
Summary: Because in C# interface members can't include access modifiers, eolian_mono ignore function scope tags in eo interfaces. ref T7494 Reviewers: q66, felipealmeida, lauromoura, segfaultxavi, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7494 Differential Revision: https://phab.enlightenment.org/D9128
2019-06-24eolian_mono: fix to call mixin's method in inherited classJaehyun Cho
Summary: Eo mixin is converted to C# interface and C# concrete class. When the mixin's method is called, the delegate function of Eo mixin's C# concrete class is called. Now, the delegate function of Eo mixin's C# concrete class calls C# method with casting to Eo mixin's C# concrete class type. e.g. ((IClickableConcrete)ws.Target).Press(button); If a user defined C# class implements Eo mixin's C# interface, the implemented method cannot be called because the user defined C# class type is not the same as Eo mixin's C# concrete class. To resolve the above issue, the type casting code is fixed. Reviewers: felipealmeida, lauromoura, vitor.sousa, YOhoho Reviewed By: YOhoho Subscribers: bu5hm4n, YOhoho, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9111
2019-06-21meson: do not error when no optimization architecture is thereMarcel Hollerbach
this should fix building on architectures that do not have native optimization support in efl. fix T8028 Reviewed-by: Dan HorĂ¡k <@sharkcz> Differential Revision: https://phab.enlightenment.org/D9150
2019-06-21efl_ui_win: fix emitting of object focus eventsMarcel Hollerbach
Summary: the event type was wrong. This is now fixed and works correctly. Reviewers: stefan_schmidt, zmike, segfaultxavi Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9144
2019-06-21ci: make sure we disable the new json evas loader in our jobsStefan Schmidt
This have been just added and we need to update our disabled list for some specific jobs where we mess with the disabled loaders manually.
2019-06-21vg_common_json: Set container's alpha colorJunsuChoi
Summary: If the layer has an alpha value, we have make it available to container. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9081
2019-06-21canvas vg: optmize lottie vector tree.Hermet Park
Skip invisible stroke nodes as possible.
2019-06-21evas vector: add a lottie animation example.Hermet Park
Summary: Depends on {D8941} Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8944
2019-06-21evas vector: support lottie animation as using json loader.Hermet Park
Summary: This patch extends efl_canvas_vg_object class to implement efl_gfx_frame_controller to suppor any playable animation on it. Plus, vector object takes care of lottie animation by using json loader. it's caching mechanism is changed to cache only static frame, not all frames. vg_cache supports json loader and make it animation request properly. This feature has been stabilized enough, it's using in Samsung Galaxy Watch active product, proved its stability enough. Depends on {D8940} Co-authored-by: JunsuChoi <jsuya.choi@samsung.com> Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8941
2019-06-21evas vector: support json loader for rlottie integration.Hermet Park
Summary: Introduce a new evas json loader to support lottie animation. This json loader uses rlottie library which is a new github open project. These days most ui frameworks (windowpws, skia, qt, xamarin, react, nativescript) supports lottie, the rlottie was designed to support lottie as a standalone library and compatible with efl as well. To enable this,please install rlottie library then remove json disabler in meson_options.txt For more information, See lottie/rlottie project and its a introdcution article: https://airbnb.io/lottie/#/ https://github.com/samsung/rlottie https://hermet.pe.kr/143 Co-authored-by: JunsuChoi <jsuya.choi@samsung.com> {D8941} {D8944} Reviewers: #committers, jsuya, bu5hm4n Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8940
2019-06-21fix segv when adding optimizations to edje message handlingCarsten Haitzler (Rasterman)
613e1715be1114c2221f1a12f067e3d1e215265f (and friends) added a bit a biug where messages in the queue were not skipped as they were before causing a segv witha null lookup. this fixes that. eclipse about dialog showed this bug up. no longer happens now.
2019-06-20remove more filesMarcel Hollerbach
Summary: those files are leftover from autotools. They have been missed before Reviewers: stefan_schmidt, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9143
2019-06-20efl_ui_radio: fixup wrong referenceMarcel Hollerbach
group_create is not anymore. This is now repaired.
2019-06-20build: remove no longer needed eolian-bootstrap targetStefan Schmidt
This basically reverts ac606105. It was added to help the windows cross builds on our CI. It served a purpose but with the requirements on native eet, edje_cc and up to elm_prefs_cc we end up with a full native build of EFL in most cases anyway. A full meson build of EFL with examples, bindings and tests disabled is actually quite fast and makes sure we have the latest needed on the CI for the cross build. I switched over to this a week ago, so we can get rid of this extra target to maintain. Differential Revision: https://phab.enlightenment.org/D9086 Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2019-06-20efl_input_device: split up has_pointer_capMarcel Hollerbach
it was somehow confusing that this function was used for two different things. Now we have 2 functions for checking is it is of pointer_type or how many pointer devices are in a seat. ref T7963 Reviewed-by: Chris Michael <cp.michael@samsung.com> Differential Revision: https://phab.enlightenment.org/D9142
2019-06-20efl_input_key: compose -> compose_stringMarcel Hollerbach
rename this property, as this name was considered better. ref T7964 Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D9141
2019-06-20efl_ui_win: repair scene event emissionMarcel Hollerbach
It appears that EVAS_CALLBACK_FOCUS_IN / OUT is wrong here, as this is for when a object gets focus but not the scene. However, the inital event emission still does not work correctly, this needs some further investigation. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9138
2019-06-20evas: emit the corrent event here,Marcel Hollerbach
it seems we have done here something wrong, EFL_EVENT_FOCUS_IN is meant to be emitted on objects that RECEIVE focus. This function here however is called each time the window gets focus, which then might lead to a object getting focus. However, those are two different things. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9137
2019-06-20efl_canvas_scene: we never provided a object as event type hereMarcel Hollerbach
And further more, this object here would have been wrong(as it is transporting the focused object), so we should not write here any type. Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D9136
2019-06-20efl_input_pointer: rename tool to touch_idMarcel Hollerbach
tool was not very helpfull, and additionally, the docuemtnation of it was completly wrong. After searching through the code where tool was actaully set (efl_ui_win.c) it turned out that it is actaully the "id" of the pointer when there are multiple touch events. ref T7963 Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D9135
2019-06-20Efl.Ui.Radio: Update docsXavi Artigas
Ref T7867 Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9061
2019-06-20efl_ui_radio: cleanup APIMarcel Hollerbach
This is a bit of a giant commit. However, the problem here is that cleaning up the API went hand in hand with rewriting most of the usages. In the process of renewing and removing old API the following was done: - Legacy API testcases have been ported back to smart callbacks - EO-API testcases have been ported to efl_add syntax - weird event #defines have been removed - Wrong constructor usage has been removed - Ported to the new box object introduced before - removed legacy API from efl_ui_radio -> no more ptr(int) q66 will do jumps of happiness -> no more ununderstandable group_add methods -> Seperated code in blocks only for legacy, and blocks only for non-legacy To verify this commit, you can check all the tests that have been touched here. Additionally, the cxx example has been adjusted ref T7867 Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9060
2019-06-20efl_ui_radio: refactor for usage of efl_ui_check_selectedMarcel Hollerbach
in previous versions of this widget, the calls that are available due to inheritance did not work. efl_ui_check_selected_set did not work on a radio button. However, the internal function _state_set did just exactly that. So this commit refactors the activity emitting out of the function, so the _state_set function can just be used as the efl_ui_check_selected set function. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D9059