AgeCommit message (Collapse)Author
2020-03-04ecore_evas: Use EFL naming convention in cnp & dnd methodsdevs/bu5hm4n/work_cnpXavi Artigas
Some methods were missing the Drag namespace or the _Cb suffix. Depends on D11219 Differential Revision:
2020-03-04mono-tests: Fix build after DnD changesXavi Artigas
The test struct used to check mono bindings struct pack/unpack is no longer available. Used a different one, and checked the same things. Differential Revision:
2020-03-04docs: Strengthen docs for Copy&Paste and Drag&DropXavi Artigas
Including Eina.Content And a typo/bugfix in ecore_evas_x. Differential Revision:
2020-03-04port cnp on WindowsVincent Torri
Test Plan: Ctrl-c and Ctrl-Vworking Reviewers: raster, zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-04ecore_evas: Introduce cnp support for cocoaMarcel Hollerbach
with this commit you can do limited cnp for cocoa. You still cannot copy and paste pictures or markup arround, only text is supported so far. However, text on its own works quite stable and good. Differential Revision:
2020-03-04ecore_cocoa: change clipboard APIMarcel Hollerbach
the new API works with mimetypes, so we can remove the cnp types from Ecore_Cocoa.h and just forward the types from ecore_evas directly Differential Revision:
2020-03-04rewrite efl cnp and dnd handlingMarcel Hollerbach
the previous commits introduced a abstraction for drag in drop which can be now used for this here. With this commit all the direct protocol handling in efl.ui is removed, and only the ecore evas API is used. Additionally, this lead to a giant refactor of how APIs do work. All Efl.Ui. interfaces have been removed except Efl.Ui.Selection and Efl.Ui.Dnd, these two have been restructored. A small list of what is new: - In general no function pointers are used anymore. They feel very uncompftable in bindings and in C. For us its a lot easier to just listen to a event when a drop enters or leaves, there is no need to register custom functions for that. - Asynchronous data transphere is handled via futures, which proved to be more error safe. - Formats and actions are handled as mime types / strings. - 0 is the default seat if you do not know what else to take. - Content is in general passes as a content container from eina, this also allows applications to pass custom types The legacy dnd and cnp API is implemented based on that. All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c Differential Revision:
2020-03-04ecore_evas: introduce wayland support for cnp & dndMarcel Hollerbach
This adds cnp support, actions are right now only mapped to "ask", further support can be added there, and synchronization can be added to register more available actions. However, i did not find *any* wayland implementation in gtk qt nor chromiumos that even use the action to indicate anything. This here also has a slightly different behaviour to X11 in terms of coordinates for motion,leave,enter. They can contain negative coordinates (which is due to the fact that wl is CSD and X11 is SSD. However, I did not want to fix this in any regard, as you might want to use that, and it would be a none trivial amount of code to fix that. Differential Revision:
2020-03-04ecore_evas: introduce initial selection & dnd support for x.Marcel Hollerbach
Seats are not implemented, if there is a type mismatch promises are going to be rejected. Most of this code is copied over from selection_manager. Differential Revision:
2020-03-04ecore_x_selection: do not skip any any atomsMarcel Hollerbach
i dont know why we skipped the first two atoms, but right now, if a application is only providing one single target, we would crash. With this we might copy a few atoms more. However, these atoms do not matter, as we skip those, that we cannot understand Differential Revision:
2020-03-04ecore_x: add API to request selection changed events for diff. winsMarcel Hollerbach
we need that in order to get seleciton per window events, which is required to get a nice mapping onto the ecore_evas object. Differential Revision:
2020-03-04ecore_evas: Introduce cnp / dnd API for ecore evasMarcel Hollerbach
The idea of copy and paste here is: - The user specifies the content he wants to have in the selection buffer with a Eina_Content, these content pointer ownerships are passed to the called. Internally ecore_evas code will memorieze the pointer, and pass on function callbacks to the modules, which then do not have to deal with the ownership. - In case the module does not specify these APIs, the callback implementation will be called, which only works for cnp *not* dnd. - Action and mime types are handled as strings, which allows way better custom organisations. (The docs needs improvement) Differential Revision:
2020-03-04eina: introduce Eina_Abstract_ContentMarcel Hollerbach
A little abstraction to have abstract data content bound to a type. Differential Revision:
2020-03-04elm_label: add EFL_ACCESS_WIDGET_ACTION_MIXINMarcel Hollerbach
we implement the API from it, so we should have that as a type here. Differential Revision:
2020-03-03evas: ++safety by prevent invalid accesses.Hermet Park
2020-03-03tests_: elementary: remove not used allocation in collection view testStefan Schmidt
Allocated but never used (and never freed). Seems like a copy and paste bug to me. CID: 1412363 Signed-off-by: Stefan Schmidt <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
2020-03-03tests_: elementary: free memory in error pathStefan Schmidt
Make sure we free the iterator here as well. CID: 1409658 Signed-off-by: Stefan Schmidt <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
2020-03-03tests/gesture: add test for gesture sequenceMike Blumenkrantz
ensure that tap continues working after complex gestures Reviewed-by: Marcel Hollerbach <> Differential Revision:
2020-03-03efl/gesture: deduplicate some codeMike Blumenkrantz
also remove a misleading comment no functional changes Differential Revision:
2020-03-03tests/gesture: add a couple rotate gesture testsMike Blumenkrantz
these end up triggering a lot of corner cases in other recognizers too, but the tests themselves are fairly minimal Differential Revision:
2020-03-03tests/gesture: verify rotate gesture event counting in existing testsMike Blumenkrantz
these magically pass already Differential Revision:
2020-03-03tests/elm: add util function for doing a multi-press drag aroundMike Blumenkrantz
same as existing function, but takes a finger id Differential Revision:
2020-03-03tests/elm: fix drag_around helper to handle negative anglesMike Blumenkrantz
oops Differential Revision:
2020-03-03efl/gesture: fix flick internal touch id trackingMike Blumenkrantz
need to always make sure we set this when a gesture is being tracked so we know which touch point we're watching Differential Revision:
2020-03-03efl/gesture: fix momentum gesture recognizer to properly continue its gesturesMike Blumenkrantz
it's not enough to just check the value for this in the recognizer; we need to always modify the recognizer property here to correctly manage object lifetimes and generate the correct events (e.g., not emitting momentum gestures while multiple fingers are moving simultaneously) also update a couple existing unit test checks which were wrong Differential Revision:
2020-03-03efl/gesture: correctly filter tap events based on the processing touch pointMike Blumenkrantz
if the recognizer is processing using a touch point other than the first finger, e.g., in the case where multiple fingers are pressed simultaneously, then the recognizer needs to also detect distance based on that finger more fixes for triggering tap events while fingers are moving Differential Revision:
2020-03-03efl/gesture: fix internal gesture object managementMike Blumenkrantz
when a gesture ends and is not set to continue, the gesture object must be preserved until the entire touch sequence ends in order to ensure that all the touch point states are accurately detected and updated and so additional instances of that gesture are not accidentally triggered this fixes weird corner cases where you could tap with two fingers and then get a long press event while dragging the second finger around as long as you did it quickly enough Differential Revision:
2020-03-03efl/gesture: port 'rotate' gesture from elm to new gesture frameworkMike Blumenkrantz
this is a 1:1 port with minimal changes other than what's necessary to integrate into the new framework Differential Revision:
2020-03-03efl/gesture: move some internal recognizer functions to be reusableMike Blumenkrantz
no functional changes Differential Revision:
2020-03-03efl/gesture: rename long_tap -> long_pressMike Blumenkrantz
this is consistent with the rest of efl naming ref T8503 Reviewed-by: Xavi Artigas <> Differential Revision:
2020-03-03efl/gesture: remove empty efl.object implementations from gesture objectsMike Blumenkrantz
these are no longer needed Reviewed-by: Xavi Artigas <> Differential Revision:
2020-03-03efl/gesture: remove 'type' member from Efl_Canvas_Gesture_DataMike Blumenkrantz
this is no longer used Reviewed-by: Xavi Artigas <> Differential Revision:
2020-03-03tests/gesture: add custom gesture to custom recognizer testMike Blumenkrantz
this adds a simple custom gesture implementation with basic motion accumulator properties to verify (and give an example of) the custom gesture capability that can be used by apps alongside custom recognizers Differential Revision:
2020-03-02efl_ui_spotlight_scroll: improve scroll behaviourMarcel Hollerbach
when the mouse motion was used, we need to mark this event as processed. Otherwise a click event will be emitted which is wrong. Additionally, we should only scroll when we are definitly not clicking. Right now, the scrolling animation would dance arround on a real TS. Additionally┬▓, this commit introduces a little macro which calculates the distance of a position.
2020-03-02exactness: check success of mkdirStefan Schmidt
Evaluate return code of mkdir() and print error if it fails. CID: 1419844 Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2020-03-02Revert "elm_label: sizing eval is called _on_label_resize to ensure label size."Stefan Schmidt
This reverts commit 3d57fc0c92d10337c441ec830361751de510e9b1. The change broke elementary tests on my local machine as well as on CI. Please redo the change and bring it back after testing with the test suites we have.
2020-03-02ecore_wl: removes unreachable statementsWonki Kim
Summary: this patch removes unreachable statements Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-02evas event: fix typo at map coord transform.Hermet Park
2020-03-02elm_label: sizing eval is called _on_label_resize to ensure label size.Bowon Ryu
Summary: EFL should guarantee size of label in various situations that the label is resized. elm_layout_sizing_eval called on on_label_resize. Test Plan: N/A Reviewers: YOhoho, zmike, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, Hermet, #committers Tags: #efl Differential Revision:
2020-02-28freeq - up numbers for fq blocks and other limits to defer big batchesCarsten Haitzler (Rasterman)
this should improve some perf by upping the max a free queu can baloon up to 256k items and 32m of data (whichever is hit first).
2020-02-28docs: Give some doc love to Evas_Object_VgXavi Artigas
2020-02-28doxygen: fix missing @p tagXavi Artigas
2020-02-28doxygen: fix invalid anchor namesXavi Artigas
2020-02-28doxygen: fix missing endcond tagXavi Artigas
2020-02-28doxygen: fix missing titles in addgroupXavi Artigas
2020-02-28doxygen: fix invalid eolian_main_intro refXavi Artigas
2020-02-28doxygen: fix duplicated toc sectionsXavi Artigas
2020-02-28doxygen: remove deprecated (and unused) configurationXavi Artigas
2020-02-28doxygen: remove duplicated sectionsXavi Artigas
Unified widgets simply copied elm's headers, duplicating doxygen sections.
2020-02-28doxygen: fix missing end group tagXavi Artigas