path: root/src/lib/evas/canvas/evas_device.c (follow)
AgeCommit message (Collapse)Author
38 hoursevas_device: Fix typo in evas_device_popJunsuChoi
Summary: Fix wrong null check Test Plan: N/A Reviewers: cedric, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
13 daysevas: deprecate evas_device_parent_set.Cedric Bail
Summary: It is unlikely that the code was working before and it was a bad idea anyway. There is no user of this API in EFL. Depends on D10490 Reviewers: zmike, raster, bu5hm4n, Hermet Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision:
13 daysevas: move exposed internal structure of Efl_Input_Device to be private.Cedric Bail
Summary: Depends on D10489 Reviewers: zmike, raster, bu5hm4n, Hermet Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision:
13 daysevas: move efl_input_device into evas/Efl_Canvas.hCedric Bail
Summary: The internal and the API we would like is mostly a canvas API. A lot of the code in evas is working around the fact that efl_input_device is not defined inside Evas. This patch is the first step to try to clean this up. Depends on D10487 Reviewers: zmike, raster, bu5hm4n, Hermet Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8321 Differential Revision:
2019-03-13evas_device: Fix dereferencing null pointerChristopher Michael
Coverity reports that 'pos' could be null here and we are potentially dereferencing a NULL pointer, so lets add a check for 'pos' here before trying to use it. Fixes Coverity CID1399091 @fix Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-03-08evas: restore legacy types which were defined to eo typesMike Blumenkrantz
Reviewed-by: Cedric BAIL <> Differential Revision:
2019-02-21efl.canvas.scene: clean up pointer_position propertyMike Blumenkrantz
this needed to take a seat param (to handle multiseat) and also have a bool return to indicate whether a pointer device exists for the specified seat ref T7584 Reviewed-by: Cedric BAIL <> Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-02-21efl.canvas.scene: add 'seat_default' propertyMike Blumenkrantz
there seems to be no other way to directly return the default seat object? ref T7584 Reviewed-by: Cedric BAIL <> Differential Revision:
2018-05-18evas_device: Only remove pointer data on deletion of pointer devicesDerek Foreman
Summary: This delete callback is shared for mouse, pointer, touch, and seat. We should only delete pointer data when we're called on a pointer. Note that (at least under wayland) this particular bug is irreproducible right now because, due to a ref leak, this deletion callback can never fire. Depends on D6180 Reviewers: zmike Reviewed By: zmike Subscribers: cedric, zmike Tags: #efl Differential Revision:
2018-05-01evas: do not link the life cycle of the device with the parent.Cedric Bail
2018-04-24Efl.Canvas.Scene (from Efl.Canvas)Xavi Artigas
Ref Reviewed-by: Cedric Bail <>
2017-12-11interface: rename Efl.Dup to Efl.Duplicate.Amitesh Singh
dup is considered too short and maybe confusing, hence rename it to duplicate instead.
2017-11-30efl: Introduce interface Efl.DupJean-Philippe Andre
A few classes allow their objects to be duplicated, so they should all use the same interface. Also, rename VG's dup to copy_from as it's not conforming to the definition of dup.
2017-09-28evas: Fix dangling references with input devicesJean-Philippe Andre
This solves issues with efl_input_dup() which didn't properly give a reference to the caller, resulting in dangling eo ids. Note: This may trigger leaks (instead of invalid refs), but this now actually reflects the meaning of @owned. This should work with bindings and C API users should know to call efl_unref(). This patch is the reason for the previous improvements on eo_debug. @fix
2017-07-31evas - handle devices that on deletion delete other devices on shutdownCarsten Haitzler (Rasterman)
this fixes a whole bunch of warnings that just recently turned up...
2017-07-28Revert "evas: Fix use of invalid EO object"Mike Blumenkrantz
This reverts commit 9b1e785f8ebba618016dd217aa18835b4fb675b7. this breaks devices with vt switching under drm
2017-06-16evas: store current pointer state to dummy seat data if seat detachesMike Blumenkrantz
ensure the pointer state is maintained when devices are removed and added
2017-06-16evas: create dummy seat data for wl/drm outputs, store some pointer dataMike Blumenkrantz
with async device init, it's possible for mouse in/out/move events to be added by an application before the pointer devices are created. these are independent of devices, so store the state and apply when pointer devices are added fix T5531
2017-06-16evas: only feed canvas out/in when changing default pointer if pointer is inMike Blumenkrantz
ref 6775b23212305c957f4447c708053585f361bb86
2017-06-15evas: Disable calls to evas_device_class_setJean-Philippe Andre
After finalize, the type of an input device can not be changed. So, deprecate the function and prevent anything from happening unless we're inside efl_add(). Ref T5515
2017-06-12evas: Fix use of invalid EO objectJean-Philippe Andre
During a window destruction, the input devices are deleted and removed from the internal devices list. Since 83d18617b4375 basic devices are children of a seat, which means that the seat deletion was triggering the devices deletion as well. As a consequence, we were walking an invalid list of devices. I'm not sure we should have a list of children in the device data and I'm also not sure we should have a list of devices in evas, instead of just the list of seats. It's a bit messy right now. Ref T5540
2017-06-12efl.canvas: Add "seat" (by id) and "device" (by name) propertiesJean-Philippe Andre
See d47197e65b59406e0f25c5a4db56e68da61bec30 @feature
2017-06-12evas: Rename device Class to Type, remove Sub_ClassJean-Philippe Andre
1. The word "class" is a pain point with many languages where it's a keyword. Type is a little better. Also, the property was already named "device_type" and not "device_class". 2. Remove Efl.Input.Device.Sub_Class It's not used inside EFL upstream codebase, and unlikely to be used anywhere else (even in Tizen). Hopefully no one used the Efl_ enum types. So far only the Evas_ types should be in used. Ref T5540
2017-06-12evas: Remove device "parent", "name" and "description" propertiesJean-Philippe Andre
Those are now merged with Efl.Object parent, name and comment. The reasoning is that only seats can be parent devices; And name and description are not only name clashes but also not extremely useful anyway. Tested with VNC. Fixes T5540
2017-06-09evas: handle focus setting with async input initMike Blumenkrantz
2017-06-02evas_device: remove unused codeMike Blumenkrantz
ref 6775b23212305c957f4447c708053585f361bb86
2017-05-26evas: better handle async device creation of default mouseMike Blumenkrantz
instead of yolo setting the first pointer-ish device which is created, check to see if a better match for "default mouse" can be applied @fix
2017-05-19evas: add evas_device_get_by_seat_id()Mike Blumenkrantz
sometimes it may be more useful to find a device by its hw id @feature
2017-05-19evas_device: add seat_id property, set seat id for default fallback seatMike Blumenkrantz
2017-02-16evas: Silence useless WRN message on canvas delJean-Philippe Andre
2016-12-19evas: add getter for devices by nameBruno Dilly
Make it possible to get the evas device given its name. It sounds useful for Edje since programs will reference seats by name.
2016-12-02Evas: Add support for per seat modifiers and locks.Guilherme Iscaro
This patch introduces possibility to enable key locks and modifers by seat. It's very useful when the user has two keyboards attached to different seats.
2016-12-02Evas: Add support for per mouse pointer mode/properties.Guilherme Iscaro
This patch introduces the possibility to set the pointer mode and query other properties like current position per pointer device. The old API will still works, however it will only act on the default seat.
2016-11-08Evas: Add the default input devices for Evas.Guilherme Iscaro
This will be useful when Ecore_Evas is setting up the EFL_POINTER/KEY_EVENT struct.
2016-11-01Evas Device: Avoid invalid ptr indirection.Guilherme Iscaro
Summary: When Evas is deleted the function _evas_device_cleanup() goes thru all devices and unref them. Since Evas_Devices are Efl_Input_Device, the user may still hold a reference to the device (efl_ref()), thus causing the device to do not be deleted *yet*. This causes a problem, because when the user calls efl_unref() and the device itself is deleted the Evas _del_cb callback will be called and will try to access the Evas_Public_Data from a deleted object. In order to avoid this problem all devices will be kept in the devices list and Evas will unregister the EFL_EVENT_DEL from those devices that were not deleted. Reviewers: jpeg, bdilly, barbieri, cedric Reviewed By: bdilly, cedric Subscribers: cedric, jpeg Differential Revision:
2016-09-29Evas_Device: Fix API name.Guilherme Iscaro
Summary: It should be evas_device_add_full() in order to follow the EFL name pattern. Reviewers: DaveMDS, bdilly Reviewed By: DaveMDS, bdilly Subscribers: cedric, jpeg Differential Revision:
2016-09-26Evas_Device: Use efl_del() in evas_device_del().Guilherme Iscaro
The Evas_Input_Device should be have its parent set to NULL, otherwise Eo might complain. @fix
2016-09-26Evas_Device: Add a new event for added and removed devices.Guilherme Iscaro
This commits adds two event types for EFL_CANVAS. Every time a device is added or removed the matching event will be emitted.
2016-09-26Evas_Device: Add evas_device_full_add() API.Guilherme Iscaro
This will make it simpler to add a Evas_Device with its fields already set.
2016-09-26Efl_Input_Device: Implement efl_input_device_parent_set().Guilherme Iscaro
This commits moves the parent_set implementation where it should be.
2016-08-30Efl object: Rename Eo_Event -> Efl_Event.Tom Hacohen
This is the last step of the Eo renaming efforts.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-06-20Adjust the code according to the eo event stop changes.Tom Hacohen
This was changed in the previous commit.
2016-05-31Evas: EO-ify Evas_Device and partly move to EflJean-Philippe Andre
So, this is not a very clean solution, but this mostly makes Evas_Device an Eo object of class Efl.Input.Device. Since evas_device relies on some Evas knowledge (evas callbacks, canvas private data), it can't be fully moved to lib/efl/. Making the input device an interface rather than a class was also not a great solution, as the goal is to share the data structure around EFL internals (Ecore and Evas).
2014-06-30Evas canvas eolian: Fix namespace and class name for the evas canvas.Tom Hacohen
2013-06-20evas: Keep sane name for public headerSebastian Dransfeld
Evas_Common.h should be used for the public header, and rather rename evas_common.h internal header to another name. Sa: Evas_Common_Header.h -> Evas_Common.h evas_common.h -> evas_common_private.h Shouldn't have both Evas_Common.h and evas_common.h because of case insensitive filesystems.
2013-05-02revert the revert... damn you git!Carsten Haitzler (Rasterman)
Revert "Revert "Efl: replace eo_data_get for objects data referencing."" This reverts commit b64a2994b3b277cbe7fce17d7ee275fd0d78c925.
2013-05-02Revert "Efl: replace eo_data_get for objects data referencing."Carsten Haitzler (Rasterman)
This reverts commit 654a3f5f94c2464b8563d27da94a78398c112962.
2013-05-01Efl: replace eo_data_get for objects data referencing.Daniel Zaoui