path: root/src/lib/ecore_evas (follow)
AgeCommit message (Collapse)Author
2017-08-12ecore_evas: define the predefine for wl2 instead of waylandMarcel Hollerbach
2017-08-10evas: Modify wheel events direction to bool (EO)Jean-Philippe Andre
The orientation was overkill here. We only want a bool. Ref T5870
2017-07-17ecore_evas: make sure fn_post_render callback is called last.Cedric BAIL
Should fix T5595.
2017-07-14ecore-evas: make the window_get apis return null without errors on failureMike Blumenkrantz
the normal usage of these is something like if (!strcmp(engine, my_engine)) win = window_get(ee); which is a waste of effort since the window_get() functions all check the engine interface internally
2017-07-13ecore_evas: Perform a tick before a manual render if we're not tickingDerek Foreman
If we turned off the ticking with manual_render_set then perform a manual render, we need animators to update. ref T5462
2017-07-13ecore_evas: Don't start custom tickers for manually rendered canvasesDerek Foreman
When a canvas is manually rendered the ticker is just a waste of cpu, and worse - it can wake the drm back-end from dpms sleep, as the display needs to be awake to generate vblanks. We fire a DBG message when attempting to start an animator in this state because it's frequently a bug that wastes battery life - (like E doing idle cursor animations or clock updates while the display is off) However, dpms off is not the only potential usage of manual render, so another commit will follow shortly to fix the bug this commit introduces - when using a backend with a custom ticker and doing manual render with the display on, calling ecore_evas_manual_render() will not draw with updated animator state. Fix T5462 Again. Really.
2017-07-13ecore_evas: Add a function pointer for last_tick_getDerek Foreman
Engines that provide their own tickers may need to be able to provide the time of the last tick even if they weren't sending ticks to EFL at the time. This is a feature added during freeze as it's necessary to resolve a bug. ref T5462
2017-07-13ecore_evas: Refactor event catchers to call custom_tick_begin/endDerek Foreman
Make the event catcher functions call the custom_tick_begin/end helpers instead of directly calling the engine functions.
2017-07-13ecore_evas: protect against application holding a reference on the canvas ↵Cedric BAIL
while destroying the ecore_evas.
2017-07-11evas: Fix stray periodsBryce Harrington
Summary: "to the Evas. @b buffer engine" Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-07-10ecore_evas: Don't start backend ticking for manually rendered canvasesDerek Foreman
Shortcut the code that starts up a back-end ticker if we're manually rendered. ref T5462
2017-07-10evas: Fix mouse event info in global eventsJean-Philippe Andre
When using the legacy API (and in fact also with the EO API) to listen to mouse events (move, in, out...) on a window instead of an actual evas object, some information was missing: - buttons (bitmask of pressed buttons) - prev.x/y (previous position) This is because Evas had not handled the event yet at this point, it was coming directly from ecore_evas with incomplete information. This patch involves evas a little bit earlier, and also fixes evas_events_legacy.c to have consistent values for cur/prev canvas/ouput coordinates. See also 890a91785 and 484dae76e675318. Those commits were making the pointer coord a seat-based property (instead of canvas-based) but the event should already have those proper values before converting to a legacy struct. This patch restores the meaning of the DUP macros, as I observed 4 different coordinates from the app side (instead of just 2: prev and cur). Thanks to Andy for reporting the original issue on the ML!
2017-07-05ecore_evas_x: Track changes in framespace sizeJean-Philippe Andre
If the framespace size has changed and by accident (or in fact, by design) the evas size + framespace size is equal to the size sent by the X server, ecore_evas_x was skipping the resize event. This patch adds a tracking of the framespace size so that we redraw the canvas if it changed. This will fix issues with the main menu (since it's in the framespace, 23 pixels tall with the default theme & scale). Note that all this is partly because the ecore evas size is the size without the framespace, so weird calculations are made during resize... Ref T5482
2017-06-19ecore_evas: Document remaining new/get calls for misc. backendsBryce Harrington
Summary: This completes the documentation for Ecore_Evas for all (non-deprecated) APIs. Note that ecore_evas_software_16_ddraw_new, ecore_evas_direct3d_new, ecore_evas_gl_glew_new, and ecore_evas_sdl16_new are left undocumented because while they're not declared as deprecated their implementations are either missing or marked as obsolete or legacy. I suspect a few of the remaining routines are likely also obsolete but I added documentation anyway. Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-06-16ecore-evas: block buffer canvas events during deletionMike Blumenkrantz
internal evas is destroyed before engine delete function is called, so do not refeed events received during this time @fix
2017-06-16ecore-evas: use pointer device with mouse move events instead of seatMike Blumenkrantz
2017-06-15ecore_evas: Document the drm and gl drm window constructorsBryce Harrington
Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-06-14ecore_evas: document client leader routinesBryce Harrington
Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-06-13ecore-evas: Fix return value in ecore_evas_aux_hint_val_set functionChris Michael
Small patch to fix misleading return value when ecore_evas_aux_hint_val_set fails. In the above code, we will return EINA_TRUE already if the aux_hints_set works, so this return value at the bottom of the function should be EINA_FALSE. @fix Signed-off-by: Chris Michael <>
2017-06-13ecore-evas: Support auxiliary hints for ecore-evas-waylandChris Michael
Small patch to support using Ecore_Evas_Interface_Wayland in order to add support for setting auxiliary hints on a surface @feature Signed-off-by: Chris Michael <>
2017-06-13ecore-evas-wayland: Add aux_hint functions to Wayland InterfaceChris Michael
@feature Signed-off-by: Chris Michael <>
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-12ecore_evas: Document ecore_evas Wayland operationsBryce Harrington
Subscribers: cedric, jpeg Differential Revision:
2017-06-09ecore-evas: make focus-setting work with async device initMike Blumenkrantz
2017-06-09ecore-evas: safety -> normal null check in _ecore_evas_focus_device_set()Mike Blumenkrantz
when unsetting focus, if the specified seat doesn't exist then there is no focus to unset
2017-06-09ecore-evas: safety -> normal null check in ecore_evas_cursor_device_unsetMike Blumenkrantz
if there is already no cursor then this is not an error
2017-06-09ecore_evas: Document the X11 XShape input region APIsBryce Harrington
Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-06-05ecore_evas: use strbuf instead of PATH_MAX.Cedric BAIL
2017-06-05evas: document the wayland ecore_evas constructorsBryce Harrington
Reviewers: cedric Subscribers: jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-06-02ecore-evas: directly get the seat device instead of the parentMike Blumenkrantz
no functional changes
2017-06-02ecore-evas: redo per-device cursor internals to be per-seatMike Blumenkrantz
seats have cursors, pointer devices do not. @fix fix T5531
2017-05-26ecore-evas: init cursors for all pointer-ish objectsMike Blumenkrantz
all of these will use a cursor visual if one is set @fix
2017-05-26ecore-evas: clear cursor object cache when setting default cursorMike Blumenkrantz
2017-05-26ecore-evas: only apply cursor object cache for default pointerMike Blumenkrantz
2017-05-22evas: Fix build for Windows without segvJean-Philippe Andre
Revert "Revert "evas: Fix build for Windows (hopefully)"" This reverts commit c8ec1cb2af4f3771ebdcafff3a1f9c7db5c13dad. The two efl_input_ functions need to be declared as EOAPI inside the file where they are implemented. Otherwise the symbols aren't exposed and weak linking means the function call crashes. Sorry for the first untested patch and subsequent revert. Things should be in order now.
2017-05-22Revert "evas: Fix build for Windows (hopefully)"Jean-Philippe Andre
This reverts commit 1e2d382298b0d4357d35b1f350c04f04820c7218. This segfaults. Ouch... Will need more time to fix this.
2017-05-22evas: Fix build for Windows (hopefully)Jean-Philippe Andre
The declaration of some internal EO APIs was located in the wrong library, which results on Windows to an invalid definition of EAPI (dllexport vs dllimport). Thanks @vtorri for the report!
2017-05-15ecore_evas: Omit redundant return info in doxygenBryce Harrington
Summary: These routines all already have a @return line that states the return values appropriately; it's unnecessary to restate the return values in the documentation text. Signed-off-by: Bryce Harrington <> Subscribers: cedric, jpeg Differential Revision:
2017-05-12ecore-evas: account for framespace when processing mouse movementMike Blumenkrantz
in some cases (e.g., the mouse-out emission from the ee wl engine), this was calculating wrong coordinates, which would lead to a broken chain of events like: object mouse out -> object mouse in -> object mouse out which would severely break some apps @fix
2017-05-12ecore-evas: add function for unsetting a specific seat's cursorMike Blumenkrantz
2017-05-11ecore_evas: Use proper enum values in axis eventsJean-Philippe Andre
Somehow the evas enum values were used instead of the ecore ones. But I believe this is just a cosmetic change as their integral values was the same.
2017-05-10ecore_evas: Improve linespacing consistencyBryce Harrington
Summary: Adds a line between each function so it's more obvious what doc goes with what API routine. Reorganize the doxygen elements so they're consistently ordered and spaced. No code or documentation changes; mostly just whitespace. Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-05-09ecore_evas: fix link issue on macOSJean Guyomarc'h
696ed3e2e8f97de482e98db34997ad1848da985d introduced a build failure on macOS. _ecore_evas_subregister is being used in a foreign code module, but it was not exported. Enforcing EAPI gives this symbol enough visibility to be used outside of ecore_evas.
2017-05-08ecore_evas: doc experimental comp_sync APIBryce Harrington
Summary: (And indicate it's likely to be made private in EFL 2) Reviewers: stefan_schmidt Subscribers: stefan_schmidt, cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-05-08ecore_evas: refactor ews backend to use generic infrastructure for rendering.Cedric BAIL
2017-05-08ecore_evas: first step into refactoring ews backend.Cedric BAIL
2017-05-05ecore_evas: use generic function for rendering ecore_evas buffer backend.Cedric Bail
2017-05-05ecore_evas: add infrastructure to properly track sub ecore_evas.Cedric Bail
2017-05-05ecore_evas: add logic to allow partial refactoring of backends.Cedric Bail
2017-05-05ecore_evas: introduce a generic rendering function.Cedric Bail