Commit Graph

235 Commits

Author SHA1 Message Date
Mike Blumenkrantz a6924ced9d wayland: add comment for ref T3396 2016-03-30 16:00:10 -04:00
Mike Blumenkrantz f70649a13d wayland: ignore resize from no-op surface configure events, send events always
this fixes the case where a configure event with the current window geometry
would cause (inaccurate) resizes

@fix
2016-03-30 15:42:21 -04:00
Cedric BAIL bb1a1eef65 ecore_evas: introduce support for per window animator trigger.
This code is currently only using the older fallback code and not any
new event source, so all animator on all window are still triggered
whatever the case are.
2016-02-02 10:47:25 -08:00
Chris Michael 99ac0763ab ecore-evas: Rename ecore_evas_wayland_window_get2 function
This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 15:02:13 -05:00
Derek Foreman ddae80af1d wayland: use wl_surface.damage_buffer if available
Summary:
wl_surface.damage_buffer() takes surface damage in buffer co-ordinates.

Right now since we don't use wayland's scaling, transforms, or viewports
it's exactly the same as wl_surface.damage().  In the future if we start
using those features it's much easier to do so with damage_buffer().

Reviewers: zmike, devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3457
2015-12-28 09:09:04 -05:00
Mike Blumenkrantz 54df1d9c6a ecore-evas wayland: move frame sending to pre-flush callback
it was possible to deadlock rendering if a pre-render occurred but
the resulting render had no updated regions

@fix
2015-12-15 17:24:52 -05:00
Chris Michael 0848792204 ecore-evas-wl: Fix copy/paste errors
This fixes fat-finger copy/paste errors when copying functions from
ecore_evas_wayland_shm to ecore_evas_wayland_egl

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:34:42 -05:00
Chris Michael 757f530af9 ecore-evas-wl: Defer creating surfaces for wayland canvas
This code adds support for deferring of surface creation and showing
inside Ecore_Evas Wayland. This is needed for Enlightenment so that it
does not try to create or show surfaces until the compositor has had a
chance to sync globals. This fixes an issue where early surface
creation would cause a crash in the compositor due to globals not
being syncd.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-11 11:26:24 -05:00
Mike Blumenkrantz 3760377e15 ee-wayland: do not send configure ack if no configure serial exists
also unset serial to ensure subsequent renders don't trigger the same ack
2015-12-10 16:00:45 -05:00
Chris Michael b5f8966fbe ecore-evas-wayland: Fix issue of starting resizing causing size jumps
Previously, when we started to resize an efl app, the size would
"jump" due to framespace being adjusted. This patch fixes that issue
and resize now works as expected.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-09 12:08:15 -05:00
Chris Michael abbfde9d68 ecore-evas-wayland: Move configure acknowledge to render_flush_pre
If we acknowledge a configure from xdg during post render, we end up
breaking maximize of EFL clients inside Weston (and perhaps other
compositors). In order to fix that, we will now send the configure ack
post render but pre flush.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-09 12:08:15 -05:00
Chris Michael 32eb2d32c4 ecore-evas-wayland: Don't set window geometry in ecore_evas
As we do not have the proper values for window geometry to be setting
it here, remove calls to set window geometry. We can more accurately
determine the window geometry from inside Elementary as it handles the
theme for the window borders.

@fix

ref T2919

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-07 15:36:42 -05:00
Chris Michael 3a8cfeb6d6 ecore-evas-wayland: Acknowledge configure event post render
This fixes a potential issue where we may have been sending the
configure acknowledgement before applying the actual new configuration
to the surface. Sending the ack_configure during post-render ensures
that we have already rendered according to the new configure
(addresses deferred rendering issue).

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 14:15:19 -05:00
Chris Michael 49e645d695 ecore-evas-wayland: Properly cleanup ecore_wl2 during error
If we fail to connect to an existing wayland display, then we should
properly cleanup (call ecore_wl2_shutdown) before exiting

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 11:40:54 -05:00
Chris Michael 04a4b599ab ecore-evas-wl: Cleanup creating a wayland canvas
Unsure where all these extra display_connect calls came from, but
remove them.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-04 11:36:15 -05:00
Chris Michael 9f1eb3e021 ecore-evas-wayland: Use proper Ecore_Wl2 window functions
To get the proper maximized and fullscreen states, we should be using
the ecore_wl2_window functions, not the ecore_wl_window functions

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2015-12-03 14:55:42 -05:00
Mike Blumenkrantz 9c26f9311c ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:07:45 -05:00
Chris Michael 64a65f42a3 ecore-evas-wl: Fix issue of resize jumping
Summary: When an initial client application was shown and we tried to
resize it, the resize would jump by the amount of framespace. This was
because the xdg_surface@configure event would be sending window
geometry as the width/height params in the event. We need to account
for that in the callback of window configure and adjust size
accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:07:45 -05:00
Chris Michael caa1b4323b ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:07:20 -05:00
Chris Michael 116a0abf93 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Mike Blumenkrantz d4dcd026f4 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:05:49 -05:00
Chris Michael 50411563aa ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window
frame

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:49 -05:00
Chris Michael 5ab650bf27 ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 7ae6c7d11d ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 28a782283a ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:05:01 -05:00
Chris Michael 1b156a4b08 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 5b755a95c5 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:05:01 -05:00
Chris Michael ebc629375d ecore-evas-wl: Fix bad merge
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 123ac16eb7 ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window frame
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael adf555660c ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Chris Michael 9e83ddbc48 ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 787beec627 ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-12-03 12:05:01 -05:00
Mike Blumenkrantz 4aba5758f9 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-12-03 12:03:57 -05:00
Chris Michael 684429099e ecore-wl2: Change name of ecore_wl2_window_class_name_set function
It makes more sense to have this function be called
ecore_wl2_window_class_set.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 0dd9ae831c ecore-evas-wl: Fix issue of resize jumping
Summary: When an initial client application was shown and we tried to
resize it, the resize would jump by the amount of framespace. This was
because the xdg_surface@configure event would be sending window
geometry as the width/height params in the event. We need to account
for that in the callback of window configure and adjust size
accordingly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael ea371c88fc ecore-evas-wl: Update frame callbacks to use Ecore_Wl2
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 7f8b269c3e ecore-evas-wayland: Fix error message for connect failures
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael 232dfd355d ecore-wl2: Fix calling wl_surface_frame with proper Ecore_Wl2 window
frame

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:03:35 -05:00
Chris Michael c092941be8 ecore-evas-wl: Use ecore_wl2_display_window_find function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael f444bf45f5 ecore-evas-wl: Fix ecore-evas wl common code due to botched rebase
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael da2990b414 ecore-evas-wl: Fix calls to ecore_wl2_window_resize (due to botched
rebase)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael def834380b ecore-evas-wayland: Comment out calls to set custom animator
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 2b19919c90 ecore-evas-wayland: Fix issue of using wrong structure for mouse
events, and bring back function to listen for window configure events

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael 0a9861c6aa ecore-evas-wayland: Re-enable interface functions for window get and
type set

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Chris Michael cd1d9ec196 ecore-wl2: Port Ecore_Evas engines to use Ecore_Wl2 code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Mike Blumenkrantz 3b139fe0f1 ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to
performing any resizes in order to ensure that the correct csd sizes are
calculated

@fix

ref T2841
2015-11-17 18:21:11 -05:00
Chris Michael d34ad18f30 ecore-evas-wl: Fix issue of improper window geometry
This fixes an issue where maximizing a window would set improper xdg
surface window geometry. We receive window configure sizes based on
xdg surface window geometry, so we need to subtract framespace there
or else window size grows when maximizing/unmaximizing multiple times.
This also adjusts the call to xdg_surface_set_window_geometry to
account for framespace (Fixes T2842).

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-11-17 13:51:19 -05:00
Mike Blumenkrantz 69a8de59b0 ecore-evas wayland: use correct values when updating wayland window size
by using the geometry from after the request size has been updated,
scenarios such as the following can be avoided:

[4208305.332] xdg_surface@46.set_window_geometry(0, 0, 1778, 1)
[4208305.370] xdg_surface@46.set_window_geometry(0, 0, 1778, 250)

@fix
2015-11-13 15:11:22 -05:00
Chris Michael 60f5b43deb ecore-evas-wl: Ignore step size when maximizing
Summary; This fixes an issue where maximizing efl/elm apps in Weston
and in Enlightenment would cause extra space to be left around the
window.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 15:12:41 -04:00
Chris Michael 329832bb80 ecore-evas-wayland: Fix formatting
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-30 09:28:10 -04:00