summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-25efl_input_interface: WIP check cancel eventdevs/bu5hm4n/work_test_efl_input_interfaceMarcel Hollerbach
however, the event is not emitted *YEY*.
2019-06-25efl_input_interface: add tests for mouse wheel emittingMarcel Hollerbach
this tests if z and direction is correctly emitted
2019-06-25efl_input_interface: test pointer in and out events on a objectMarcel Hollerbach
this verifies that EFL_EVENT_POINTER_IN EFL_EVENT_POINTER_OUT are emitted correctly with the correct event content.
2019-06-25efl_input_interface: test pointer move down upMarcel Hollerbach
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.
2019-06-25efl_input_interface: test key down / key up structureMarcel Hollerbach
this verifies that EFL_EVENT_KEY_DOWN / EFL_EVENT_KEY_UP are emitted and passed with the correct event types, and fields on the event object.
2019-06-25efl_input_interface: add test to verify focus in/outMarcel Hollerbach
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.
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
2019-06-20Introduce Efl.Ui.Radio_Group & Efl.Ui.Radio_BoxMarcel Hollerbach
Radio_Group is a interface that manages that radio groups can be grouped inside a external object, the current API of radio was considered confusing in that regard. It is implemented in the Radio_Group_Internal class which is private to EFL, a instance of it can be found with get due to the class function in efl_ui_radio.eo. This architecture was taken like this, in order to have implementation and interface seperated. With those two seperated we can inherit from regular widgets, implement the interface, and composite attach the internal object to the regular widget. This makes a lot of things easier. Radio_Box is a class which is extending Efl.Ui.Box, which has an internal Radio_Group. This is extremly usefull for cases where you just want to have a list of radio buttons in your UI. The radio group is also exposed using composition to the internal object. Simular things can be done for the table. For now i did not add API to find the group of a radio button. However, this can be quickly added if requested. ref T7867 Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D9058
2019-06-20ecore: do not rely on implicit rules for memory lifecycle during test.Cedric BAIL
Summary: alloca force the memory to be accessible for the entire duration of the scope of the function it is called from. This will garantee that the memory pointer are not recycled under our feet before we check them. T8020 Reviewers: zmike Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8020 Differential Revision: https://phab.enlightenment.org/D9127
2019-06-20fix build.Marcel Hollerbach
2019-06-20evas_textblock: more descriptive parameter namesAli Alzyod
Summary: Use more descriptive parameter names. l, r, t, b it my confused with rgb value or something similar. Reviewers: segfaultxavi, woohyun, bowonryu Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9131
2019-06-20ci: use ccache also in the mingw cross buildStefan Schmidt
This is one of these two line changing commits one just have to love. Using ccache also for the mingw builds got a amazing speedof for the cross build as well. In my, simple, testing I could reduce the build time on Travis from 18m to 6m when rebuilding the same rev, thus a 100% cache hit rate. In real life this would be less of an improvement but reducing the build time in half is kind of realistic I think. Thanks to Marcel to bringing the idea up. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9139
2019-06-20tests: fix warnings and undef ref on Windows (using meson :-) )Vincent Torri
Summary: we need to include evil_private.h so that some symbols are declared Test Plan: compilation Reviewers: raster, zmike, cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9129
2019-06-20evas - events - protect on object deletion while calling callbacksCarsten Haitzler (Rasterman)
mouse in/out feeds can call callabcks that can then go delete objects - ref them all to ensure they stay alive while we use them. this will fix a segv apbbb saw.
2019-06-20efl_wfl: fix warning and err prints for wl keymap tmp fileCarsten Haitzler (Rasterman)
2019-06-20ecore - efl thread - handle write call mishaps and complainCarsten Haitzler (Rasterman)
fixes warnings too.
2019-06-20meson - docs - convert - we aren't using it so don't require itCarsten Haitzler (Rasterman)
comment it out and move it closer to the block that needs it to make it obvious ... we don't need it. i'm all-in-all not that into the eps conversion thing for docs there too... :(
2019-06-20elm_slider: fix to call legacy "delay,changed" callbackWooHyun Jung
Just fixed a backward compatibility issue in elm_slider. Now it calls "delay,changed" as it had done previously. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9130
2019-06-20ector: Fix precomp layer rendering issue when it has alpha valueJunsuChoi
Summary: When the precomp layer(parent layer) has alpha transparency and has more than 1 child layer and they overlap each other if vg object just propagate the alpha to child layer it will be applied twice in overlapped area. Even if the child layer does not have alpha transparency, parent alpha is applied to each child. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9072
2019-06-20Revert "efl_ui_suite_spec: add a hack to have running tests again"Mike Blumenkrantz
This reverts commit 2ef8894fcd415cdc24d7bc222a9f8425fb8f9f34. this is no longer needed Differential Revision: https://phab.enlightenment.org/D9126
2019-06-20efl_ui/active_view: fix object destructionMike Blumenkrantz
when the activeview is being destroyed, we can skip a lot of steps in unregistering widgets due to hierarchy-enforced deletion and class chaining of destructors. on the flip side, we also need to be cautious of triggering codepaths that will perpetuate object lifecycles past when they should be destroyed and trigger unwanted behavior. for this case, when the activeview is being destroyed we can simply efl_del all the contents to reuse existing callbacks, and then we can skip doing all the update propagation through activeview subcomponents since those will be destroyed presently. also, these subcomponents already handle subobject destruction with callbacks, so they'll automatically clean everything up. probably. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D9125