summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* efl_input_interface: WIP check cancel eventdevs/bu5hm4n/work_test_efl_input_interfaceMarcel Hollerbach2019-06-251-0/+37
| | | | however, the event is not emitted *YEY*.
* efl_input_interface: add tests for mouse wheel emittingMarcel Hollerbach2019-06-251-0/+33
| | | | this tests if z and direction is correctly emitted
* efl_input_interface: test pointer in and out events on a objectMarcel Hollerbach2019-06-251-0/+61
| | | | | this verifies that EFL_EVENT_POINTER_IN EFL_EVENT_POINTER_OUT are emitted correctly with the correct event content.
* efl_input_interface: test pointer move down upMarcel Hollerbach2019-06-251-0/+117
| | | | | | 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.
* efl_input_interface: test key down / key up structureMarcel Hollerbach2019-06-252-0/+37
| | | | | 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.
* efl_input_interface: add test to verify focus in/outMarcel Hollerbach2019-06-251-0/+34
| | | | | 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.
* tests/slider: verify emission of changed and delay,changed eventsMike Blumenkrantz2019-06-241-0/+55
| | | | | | | | 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
* efl_ui_slider: remove setting pass_events on internal spacer in constructorMike Blumenkrantz2019-06-241-2/+1
| | | | | | | | 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
* eolian: add library support for declaring and using errorsDaniel Kolesa2019-06-249-4/+467
| | | | | | | | | | | | | | | | | | 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
* ci: travis: osx: switch to newer macos image and brew addon for packagesStefan Schmidt2019-06-242-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ci: enforce ccache for macos meson runStefan Schmidt2019-06-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* remove last bits of Evil.h in tests and use evil_private.h insteadVincent Torri2019-06-2410-16/+9
| | | | | | | | | | | | | | Test Plan: compilation Reviewers: zmike, raster, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9154
* efl_ui_textpath: fix a center align but that doesn't happen at text_set().Hermet Park2019-06-241-14/+15
| | | | | | | 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
* eolian_mono: support eo access modifiersYeongjong Lee2019-06-243-5/+70
| | | | | | | | | | | | | | | | | | | | 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
* eolian_mono: fix to call mixin's method in inherited classJaehyun Cho2019-06-241-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* meson: do not error when no optimization architecture is thereMarcel Hollerbach2019-06-211-4/+9
| | | | | | | | | | 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
* efl_ui_win: fix emitting of object focus eventsMarcel Hollerbach2019-06-212-24/+56
| | | | | | | | | | | | | | 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
* ci: make sure we disable the new json evas loader in our jobsStefan Schmidt2019-06-211-3/+3
| | | | | 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.
* vg_common_json: Set container's alpha colorJunsuChoi2019-06-211-0/+7
| | | | | | | | | | | | | | | | 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
* canvas vg: optmize lottie vector tree.Hermet Park2019-06-211-0/+9
| | | | Skip invisible stroke nodes as possible.
* evas vector: add a lottie animation example.Hermet Park2019-06-219-0/+139
| | | | | | | | | | | | Summary: Depends on {D8941} Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8944
* evas vector: support lottie animation as using json loader.Hermet Park2019-06-217-51/+423
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* evas vector: support json loader for rlottie integration.Hermet Park2019-06-218-15/+620
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* fix segv when adding optimizations to edje message handlingCarsten Haitzler (Rasterman)2019-06-211-12/+16
| | | | | | | 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.
* remove more filesMarcel Hollerbach2019-06-2086-1231/+0
| | | | | | | | | | | | | | 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
* efl_ui_radio: fixup wrong referenceMarcel Hollerbach2019-06-201-2/+1
| | | | group_create is not anymore. This is now repaired.
* build: remove no longer needed eolian-bootstrap targetStefan Schmidt2019-06-202-34/+16
| | | | | | | | | | | | | | | | 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>
* efl_input_device: split up has_pointer_capMarcel Hollerbach2019-06-202-8/+28
| | | | | | | | | | | 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
* efl_input_key: compose -> compose_stringMarcel Hollerbach2019-06-203-4/+4
| | | | | | | | | 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
* efl_ui_win: repair scene event emissionMarcel Hollerbach2019-06-205-2/+63
| | | | | | | | | | | 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
* evas: emit the corrent event here,Marcel Hollerbach2019-06-201-12/+3
| | | | | | | | | | 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
* efl_canvas_scene: we never provided a object as event type hereMarcel Hollerbach2019-06-201-2/+2
| | | | | | | | 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
* efl_input_pointer: rename tool to touch_idMarcel Hollerbach2019-06-2011-66/+69
| | | | | | | | | | | | | 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
* Efl.Ui.Radio: Update docsXavi Artigas2019-06-204-31/+63
| | | | | | | Ref T7867 Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D9061
* efl_ui_radio: cleanup APIMarcel Hollerbach2019-06-2021-387/+336
| | | | | | | | | | | | | | | | | | | | | | | | 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
* efl_ui_radio: refactor for usage of efl_ui_check_selectedMarcel Hollerbach2019-06-203-60/+60
| | | | | | | | | | | | 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
* Introduce Efl.Ui.Radio_Group & Efl.Ui.Radio_BoxMarcel Hollerbach2019-06-2018-47/+829
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ecore: do not rely on implicit rules for memory lifecycle during test.Cedric BAIL2019-06-201-1/+4
| | | | | | | | | | | | | | | | | | | | | 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
* fix build.Marcel Hollerbach2019-06-201-0/+2
|
* evas_textblock: more descriptive parameter namesAli Alzyod2019-06-201-11/+11
| | | | | | | | | | | | | | | | | 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
* ci: use ccache also in the mingw cross buildStefan Schmidt2019-06-201-2/+2
| | | | | | | | | | | | | | | 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
* tests: fix warnings and undef ref on Windows (using meson :-) )Vincent Torri2019-06-2019-8/+70
| | | | | | | | | | | | | | 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
* evas - events - protect on object deletion while calling callbacksCarsten Haitzler (Rasterman)2019-06-201-1/+6
| | | | | | 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.
* efl_wfl: fix warning and err prints for wl keymap tmp fileCarsten Haitzler (Rasterman)2019-06-201-3/+6
|
* ecore - efl thread - handle write call mishaps and complainCarsten Haitzler (Rasterman)2019-06-201-6/+43
| | | | fixes warnings too.
* meson - docs - convert - we aren't using it so don't require itCarsten Haitzler (Rasterman)2019-06-201-1/+2
| | | | | | | | 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... :(
* elm_slider: fix to call legacy "delay,changed" callbackWooHyun Jung2019-06-201-1/+1
| | | | | | | | 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
* ector: Fix precomp layer rendering issue when it has alpha valueJunsuChoi2019-06-207-7/+97
| | | | | | | | | | | | | | | | | | | | 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
* Revert "efl_ui_suite_spec: add a hack to have running tests again"Mike Blumenkrantz2019-06-201-4/+0
| | | | | | | | This reverts commit 2ef8894fcd415cdc24d7bc222a9f8425fb8f9f34. this is no longer needed Differential Revision: https://phab.enlightenment.org/D9126
* efl_ui/active_view: fix object destructionMike Blumenkrantz2019-06-201-4/+3
| | | | | | | | | | | | | | | | | | | | | | 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