path: root/src/lib/ecore_evas/ecore_evas.c (unfollow)
AgeCommit message (Collapse)Author
2016-12-20Ecore Evas: Add support to set cursor icon per mouse device.Guilherme Iscaro
Since Ecore Evas now supports multiple mouses new APIs were added in order to be able to set the cursor image to any device.
2016-12-20Ecore Evas VNC: Add support for ecore_evas_pointer_device_xy_get().Guilherme Iscaro
This commit adds the support to fetch the mouse position of a VNC client.
2016-12-20Ecore Evas: Add API to set/get the pointer position per device.Guilherme Iscaro
Since Ecore Evas now support multiple mouse devices new APIs were added in order to fetch the mouse position.
2016-12-20ecore-evas: remove float comparison warnings for ecore_evas.cChris Michael
Signed-off-by: Chris Michael <>
2016-11-28Ecore Evas: Add multi seat support for mouse in/out.Guilherme Iscaro
2016-11-28Ecore_Evas: Add support for per-seat focus.Guilherme Iscaro
2016-11-23win: Fix maximized geometry with CSD in XJean-Philippe Andre
There is still a geometry issue after un-maximizing.
2016-11-23ecore_evas/x: Inform WM about borders and shadowsJean-Philippe Andre
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-17ecore_evas: Unbreak all the engines that don't have evas_changed callbacksDerek Foreman
repairs damage from d2b84955765c8165b04324f6b9f691bfc15ddd58 Move along, nothing to see here.
2016-11-17ecore_evas: send evas_changed callback when manual render is setDerek Foreman
If manual render is set there's obviously no change. This fixes E's wake from blank/wake to lockscreen behaviour on the drm backends.
2016-11-14ecore_evas: fix evas_changed callDerek Foreman
Don't or together all previously considered evases. Thanks Cedric for the catch.
2016-11-14ecore: introduce adjusting main loop time on animator.Cedric BAIL
2016-11-10ecore_evas: first frame and animator are defined per canvasCedric BAIL
2016-11-10ecore_evas: always have a custom source set for animator if possible.Cedric BAIL
2016-11-08Ecore Evas: Set the device that originated the event.Guilherme Iscaro
By doing so the evas events are able to specify from which device the event originated from.
2016-11-07Ecore Evas VNC: add client disconnected callback.Guilherme Iscaro
Summary: Ecore Evas VNC: Properly unregister the region push hook callback. This callback must be unregistered when the VNC server is deleted. Reviewers: bdilly, barbieri, cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2016-11-03remove xcb support in ecore_x and evas engines as per mailing listCarsten Haitzler (Rasterman)
as per mailing list discussion about dropping xcb support now. it hasn't been complete for a long time, thus not recommented for being turned on. as we are moving to a wayland world xcbmakes even less sense. as agreed, time to clean up a bit and remove a distraction as well as not well tested code. this also updates po's too. @feature
2016-11-03wayland: Remove support for "draw_frame"Jean-Philippe Andre
draw_frame is a legacy feature that draws a very ugly window border with a white rect and a black text as title bar. This could be used in wayland when using only the ecore_evas APIs, rather than elm_win. Note that the API ecore_evas_draw_frame_set() can not possibly work as the flag is checked when the ecore_evas is created, so changing the flag has no effect on existing windows.
2016-11-03ecore_evas: Replace ECORE_MAGIC_CHECK with common macroJean-Philippe Andre
This removes a lot of clutter in the code.
2016-10-28ecore_evas: refactor VNC as an Eina Module.Guilherme Iscaro
Summary: This change removes the necessity to link EFL against the libvncserver Please ignore the first three commits, they're being reviewed here: Reviewers: bdilly, cedric Reviewed By: cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric Bail <>
2016-09-26Ecore_Evas_X: Add VNC draw support.Guilherme Iscaro
This patch adds the support to draw the X11 screen contents to all remove VNC clients.
2016-09-08evas_engines: Add fn_evas_changed callbackDerek Foreman
To allow using the pageflip completion event to drive timing in the DRM engine we need to know as soon as possible that a render has been after a render has been considered if it will cause a page flip or not. The fn_evas_changed callback sends this information.
2016-09-01evas events: Fix axis input valuesJean-Philippe Andre
This adds support for distance, pressure, tilt and twist. Not entirely sure if normalized & raw (x,y) should be exposed in the eo interface. Also not sure what to do with tilt_x/y (as used by libinput) or touch/tool width "major/minor" vs. radius x/y. Add debug logs in the example, including the distance. I can't test most of these values due to a lack of compatible hardware, but the most basic features seem to work :)
2016-08-30Efl object: Rename Eo_Event -> Efl_Event.Tom Hacohen
This is the last step of the Eo renaming efforts.
2016-08-26Efl Object: remove legacy callback calls from event_callback_callVitor Sousa
Efl.Object.event_callback_call no longer calls legacy smart callbacks; calling only event callbacks registered with the given event description pointer. Create the method Efl.Object.event_callback_legacy_call to inherit the old behavior from Efl.Object.event_callback_call, calling both Efl.Object events and legacy smart callbacks. Update all other files accordingly in order to still supply legacy callbacks while they are necessary.
2016-08-26efl: Rename Efl.Event.XX to Efl.Input.XXJean-Philippe Andre
This removes: Efl.Event interface And renames: Efl.Event.Input -> Efl.Input.Event Efl.Event -> Efl.Input.Event (merged) Efl.Event.Pointer -> Efl.Input.Pointer Efl.Event.Key -> Efl.Input.Key Efl.Event.Hold -> Efl.Input.Hold This also moves some interfaces from efl/ to evas/ where they belong better. This allows renaming Eo_Event to Efl_Event.
2016-08-26evas: Add normalized and window coordinates to axis eventsJean-Philippe Andre
This is for Wacom graphics tablets (with a pen). The raw data sent by ecore to evas (and then to apps) is pretty useless as it's not normalized, and apps have no way of knowing the dimensions of the tablet, without themselves opening the device (we don't know nor expose the path to the device). This is for Xi2 only for now, as Wayland support hasn't been done yet. The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet if the normalized value is useful or not (it would seem we may not be able to provide this info in Wayland). The new WINDOW_X, WINDOW_Y labels will be used in the new event type (Efl.Event.Pointer). Normalized values are not exposed yet, let's decide if we want them or not first (based on what can be done in Wayland space). @feature
2016-08-26evas events: Switch axis events to the new eo typeJean-Philippe Andre
This converts Evas_Axis or Ecore_Axis info arrays into basic pointer data. Also marks those fields as set. All events need to properly implement the value_has property (mark all bits whenever a value is known).
2016-08-26evas events: Rename properties and introduce generic valueJean-Philippe Andre
This paves the way to a merge of pointer and axis events into the class Efl.Event.Pointer.
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-08-01ecore_evas: Register animators for inline image eeJean-Philippe Andre
In ecore_evas_object_image_new, register animator tick del/add catchers, so that animators can work. This fixes mouse scroll in an inline window.
2016-06-20Adjust the code according to the eo event stop changes.Tom Hacohen
This was changed in the previous commit.
2016-06-20ecore_evas: Try to fix mouse events on WindowsJean-Philippe Andre
See also de5f293426965f9dc19 and T3789 I wrongly assumed that multi.{x,y} would be properly set. I'm assuming here that multi.{x,y} == (0,0) means they are not set, and that double comparison to 0 works fine.
2016-06-03elm_win: Forward events between window and evasJean-Philippe Andre
This does: 1. Forward keyboard events from evas to win 2. Allow feeding external input events Input events can be faked by apps by simply forging eo objects of the proper type (key or pointer evt) and calling eo_event_callback_call(). Such events will be forwarded to the internal Evas, and some bool flags prevent infinite refeeding loops. efl_event_dup() returns fake events for this to work. @feature
2016-06-02ecore_evas: Fix mouse inputsJean-Philippe Andre
Yup, I broke everything again. This time, mouse move inputs would not move the cursor, since I was bypassing the regular _ecore_evas_mouse_xxx callbacks. Fixes T3766
2016-06-02Evas: Simplify eo event mechanismJean-Philippe Andre
So, I was stupid. I was relying on legacy callbacks to trigger eo events, which means that only when a legacy callback was registered would my new eo events be triggered. Instead, I can pass the eo event desc & info whenever calling evas_object_event_callback_call().
2016-06-02Evas: Send key events through eo callbacksJean-Philippe Andre
2016-06-01Switch to eo_del() where it should be a del and not an unrefTom Hacohen
This code was written when eo_del() was removed and eo_unref() was the recommended practice. Since we added eo_del() back we now need to adjust this new code accordingly.
2016-05-31Efl: Rename Efl.Pointer.Event into Efl.Event.PointerJean-Philippe Andre
Also renames two types: Efl.Pointer.Flags and Efl.Event.Flags
2016-05-31Evas events: Store position as double onlyJean-Philippe Andre
This splits pixel and subpixel precision by using different methods rather than two different storage values.
2016-05-31Evas events: Split pointer eventsJean-Philippe Andre
This is going back to the same idea as legacy. We will have events such as: - move - down - up - in - out - wheel - cancel ("new" - very rare) Now the question is whether/how we should divide "multi" events which start from the 2nd finger from standard mouse events. The first multitouch finger should by default look like a mouse event.
2016-05-31Evas events: Add EO APIs for lock & modifiersJean-Philippe Andre
This moves Efl.Pointer.Event back to Evas. Originally I wanted to share this class with Ecore but eventually I didn't need to do so, since only ecore_evas (which depends on evas) really needs access to these. The internal data struct is not moved out of efl (yet?)
2016-05-31Efl.Pointer.Event: Add dup() method to copy an eventJean-Philippe Andre
2016-05-31evas_events: Propagate more eo pointer eventsJean-Philippe Andre
This covers mouse in,out,cancel. Axis (joystick) is still todo.
2016-05-31efl: Simplify pointer event names + add missingJean-Philippe Andre
No more difference between touch & mouse. Add axis, cancel, in and out.
2016-05-31ecore_evas: Pass mouse down,up,move with eoJean-Philippe Andre
This way, ecore sends eo events to evas, which can then be listened to by other clients (FIXME: the events will need to be propagated from evas to the elm window). Current support: - mouse/multi down - mouse/multi up - mouse/multi move - mouse wheel
2016-05-31evas: Move event feed and input to legacyJean-Philippe Andre
2016-05-31ecore_evas: Feed evas events with eo (down, up)Jean-Philippe Andre
2016-05-31ecore_input: Pass all events through direct cb firstJean-Philippe Andre
Since the direct input event callback returns true if the event has been processed, we can easily support legacy and progressively implement full support for eo input events.