As these events will be raised to ecore_evas_wl and the handlers there
do not pass along the Ecore_Evas as 'data', we need to change the type
of variable passed along in the event struture so that
ecore_event_window_match can be called to find the Ecore_Evas.
This patch also fixes some typos discovered during compile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds an API function which can be called to determine if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set a buffer
transformation on a given window.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch which adds an API function that can be used to find the
output where a given window resides.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
this function does not make sense within the context of wayland and seats,
since a surface does not own and is not owned by a seat, nor is there a 1:1
association between surfaces and seats
windows do not have pointers or cursors under wayland, seats do. due to
lack of multiseat support, most components simply use the "default" seat
with these functions, but this should make the corresponding code more
easily adaptable
the current (v6) xdg-shell spec reads as follows:
Client window decorations should be painted as if the window is
active. Do not assume this means that the window actually has
keyboard or pointer focus.
so this is not equivalent to receiving/losing input focus and should not
be propagated as such
@fix
We've been immediately acking configure with the correct serial number, then
later at commit time sending an incorrect serial (generating a new one).
Remove the extra ack, and save that serial for later, and don't overwrite
it with a current serial when we get a toplevel configure.
Oddly, compositors were letting us get away with this behaviour, so this
probably looks functionally the same as before.
Reverting this as apparently one source says to send a commit after
ack_configure, and another source says its wrong...
This reverts commit 1187035fe6.
Small patch to ensure we send a surface commit after sending the
ack_configure. This fixes an issue where E-WL internal windows would
not maximize.
Fixes T5192
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previous commit f8f71d05cd to avoid resetting
opaque & input regions was not totally complete as it did not update
the actual values...small patch to fix that.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to avoid setting the same opaque/input regions if they
already match what is being requested.
ref T5226
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previous code here would store incorrect values into the
window->input rectangle. These values should be what is actually
getting set in the wl_region. This code also fixes an issue when
setting input region for transparent/alpha windows by clearing out
any pending input region (wl_surface_set_input_region(surface, null)).
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previous code here would store incorrect values into the
window->opaque rectangle. These values should be what is actually
getting set in the wl_region. This code also fixes an issue when
setting opaque region for transparent/alpha windows by clearing out
any pending opaque region (wl_surface_set_opaque_region(surface, null)).
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We should not be sending focus events based on keyboard behaviour, but
rather send them according to xdg shell activate status. This makes
our focus behaviour more "standards" compliant.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If the window opaque/input regions already match what is being
requested (to be set), then no need for the compositor to create
regions and set them.
@optimize
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
xdg v6 will barf if we attach a buffer to the surface before
we receive a configure - even if we attach before trying to
make a shell surface.
So we need to prevent any drawing into surfaces until we've
decided what kind of surface they'll ultimately be.
Fix T5090
This is a partial revert of 2bd880c6c7 which changed to use
wl_display_get_serial function. When can do that for most things,
however things like window move/resize need to use the input serial
which started the move/resize.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to create and raise a new event letting ecore_evas know
when the window has been configured. With the addition of xdg_shell v6
support, we cannot commit a surface with an existing buffer until the
surface has been configured. This patch allows us to raise an event to
ecore_evas when the surface has been configured, so we can then attach
a buffer to it.
ref T5090
Signed-off-by: Chris Michael <cp.michael@samsung.com>