summaryrefslogtreecommitdiff
path: root/src/lib/ecore_evas (follow)
AgeCommit message (Collapse)Author
2017-11-02ecore_evas: always find a source for ticking legacy animator.Cedric Bail
As we do not know when a window won't be able to tick, and we do not know which window a legacy animator is attached to, we require all windows to tick as often as they can and only generate one tick per loop run. This might need more adjustement especially with multi output.
2017-11-01ecore_evas: if an async rendering is still going on, there won't be a new ↵Cedric BAIL
one starting.
2017-11-01ecore_evas: do not propagate drawing change blindly from sub surface to parent.Cedric BAIL
It is not because a round of rendering happen for a child, that it result in actually drawing anything in the parent. The parent will always be aware of the rendering request of the sub surface and we should only track what the parent think. T6049 Tested-by: Derek Foreman <derekf@osg.samsung.com>
2017-10-18ecore: remove doxygen warning messagesTaehyub Kim
Summary: remove doxygen warning messages @fix Reviewers: jpeg, cedric, woohyun Reviewed By: jpeg Differential Revision: https://phab.enlightenment.org/D5339
2017-09-22ecore_evas: skip deleted Ecore_Evas while searching for a general animator ↵Cedric Bail
source.
2017-09-22EFL For WIN32: Replace HAVE_EVIL define with _WIN32Vincent 'vtorri' Torri
2017-09-18efl: Use Eina.Size2D for size hint combined minJean-Philippe Andre
For this patch I decided to add a pseudo legacy wrapper as the function is called in a very large number of places. Fixing all those calls to use the size2d form is a lot of work and a greater risk of b0rking something.
2017-09-18efl: Introduce Eina.Rect and switch EO APIs to itJean-Philippe Andre
It's a complex struct but defined in EO as a simple struct. ABI-wise it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle also work on Eina_Rect out of the box, most of the code dealing with x,y,w,h will require no modifications either. But Eina_Rect provides direct access to a size or position 2d component, as well as the usual x,y,w,h. The field "rect" is provided as a convenience for code dealing with both Eina_Rectangle and Eina_Rect. We may or may not require it. Note: Size2D could use unsigned values but I have spotted a few places in the code that actually use -1 to indicate invalid size (as opposed to 0x0). @feature
2017-08-25efl: remove PS3 backend.Cedric BAIL
This backend has received no patch and maintenance from anyone who could actually test it over the last few years. After talking with KaKaRoTo it is best to remove it. If anyone want to take over its maintenance, you are welcome to revert this patch.
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: https://phab.enlightenment.org/D5014
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: https://phab.enlightenment.org/D4972
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: https://phab.enlightenment.org/D4965
2017-06-14ecore_evas: document client leader routinesBryce Harrington
Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4963 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
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 <cp.michael@samsung.com>
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 <cp.michael@samsung.com>
2017-06-13ecore-evas-wayland: Add aux_hint functions to Wayland InterfaceChris Michael
@feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
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: https://phab.enlightenment.org/D4954
2017-06-09ecore-evas: make focus-setting work with async device initMike Blumenkrantz
@fix
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: https://phab.enlightenment.org/D4951
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: https://phab.enlightenment.org/D4896 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
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
@fix
2017-05-26ecore-evas: only apply cursor object cache for default pointerMike Blumenkrantz
@fix
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 <bryce@osg.samsung.com> Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4878
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
@feature
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.