The backend should allocate its own private data and return it instead
of a bool.
This assumes all back-ends will need some manner of private data, which
is certanly true for the one back-end we provide.
The specific surface code only needs these generic surface bits to pass
to buffer_create, so make a helper function for that instead of queries
for w, h, and alpha.
This tries to resize the buffer's useable area to fit the specified size -
this is possible if the stride of the buffer is larger than the current
width.
This allows something that only has the Ecore_Wl2_Window (ie: something
that isn't engine code) to force dropping of all the buffers.
This should be safe to call at any time as the buffer handling logic
will properly cleanup the buffers when async render is done with them
or the compositor releases them.
This will eventually be used when a wayland client receives a
wl_output.leave events to indicate it isn't displayed on any outputs.
We no longer allocate 3 buffers at startup, we now allocate only as needed.
Trimming the queue will come later, as there are some situations where we
might need 3 buffers and later drop down to 2 (when on a hardware plane)
Most clients will only ever need 2 buffers, so this is a reasonable RAM
savings.
It does us no good to be able to allocate dmabuf capable memory if the
compositor can't handle it. This should fix failures on systems where
allocation is possible but the compositor doesn't advertise dmabuf.
This moves all the platform specific buffer allocation into ecore_wl2
instead of the engine.
Note that this makes an internal struct available in the header. This
will be removed shortly.
This adds the concept of a "false commit" that just sends a surface
commit without changing any other state.
This is intended to be used by ecore_evas to request a frame callback
from the compositor
Seems my brain missed the efl release and started tagging new API
incorrectly in the doxy.
This is all beta API that should probably only be used by other EFL
internals anyway, but I suppose it's a good idea to try to be somewhat
correct.
So because we include wayland-server.h we're told that wl_buffer is
deprecated - however clients are still expected to use it, it's only
deprecated for usage in a compositor.
Making these into void pointers shuts up the warning.
We need to include wayland-server.h since some of the code provided by
ecore_wl2 is for compositors, but some of it is also for clients...
Abstract frame callbacks through ecore_wl2_window so we can add them in
multiple places without having the wayland compositor generate more than
one.
Also allows us to keep a callback registered over hide/unhide of a window
easily.
This patch adds support for the Window Iconify State Change event
structure and the ecore event type to support it.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch which adds more window types to the Window Type enum.
These window types may be used by various compositors in different
ways. This patch does not add or change any functionality, it just
extends the window type enum to include the ability to specify other
types of windows.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds and sends a client-side event for when a window gets
deactivated.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds and sends a client-side event when a window gets
activated.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add and send a client-side event for when a window gets
hidden.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add and send a client-side event for when a window gets
shown.
'#divergence'
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit reverts support for added API functions inside Ecore_Wl2
to support setting window stacking mode as per IRC discussion with
Cedric
This reverts commit 1359fc9e5f.
Small patch to add API functions which allow getting/setting if a
window is in floating mode
"#divergence"
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be used to find out if a
given window is set to skip focus events.
"#divergence"
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set if a
window should skip focus.
"#divergence"
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch just moves window related functions together in the
Ecore_Wl2_Window_Group
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>