Commit Graph

78 Commits

Author SHA1 Message Date
Chris Michael 0655178b3b ecore-wayland: Add support for xdg_surface class name
xdg_shell supports setting a "class name" on a window by using
xdg_surface_set_app_id. This commit implements that.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 3c2f43194f ecore-wayland: Fix formatting and add a FIXME note
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael ea7721026c ecore-wayland: Add missing EINA_UNUSED and fix it's usage in other
places

Some paramaters here were being used, while others were not. This
fixes the various usage of EINA_UNUSED here to be proper.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 16d13b9a74 ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael d8d7a95c94 Added support for xdg-shell protocol in ecore-wayland.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1328
2014-10-01 16:15:37 -04:00
Chris Michael 9787c89935 Added support for xdg-shell protocol in ecore-wayland
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1326
2014-10-01 16:15:37 -04:00
Srivardhan Hebbar 96f53fc69d ecore_wayland: Added cursor_name to Ecore_Wl_Window.
Summary:
Added cursor_name to Ecore_Wl_Window so that we can compare with input cursor name and avoid unnecessary cursor set calls to wayland.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1481
2014-09-26 08:02:25 -04:00
Chris Michael 50287ab731 ecore-wayland: Implement ivi-shell support for Ecore_Wayland
IVI-Shell is a wayland shell implementation for in-vehicle infotainment.

Summary: This is a set of patches proposed to implement IVI-Shell (https://phab.enlightenment.org/T1552).

Reviewers: ntanibata, devilhorns

Subscribers: mbachmann

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1350

@feature
2014-08-25 09:04:38 -04:00
Chris Michael e97af447ef Revert "Added support for xdg-shell protocol in ecore-wayland"
This reverts commit 2f4db577b5.
2014-08-13 10:35:00 -04:00
Chris Michael b0fd93a564 Revert "ecore-wayland: Fix formatting"
This reverts commit e14f40a46d.
2014-08-13 10:34:49 -04:00
Chris Michael 3291d32bf9 Revert "ecore-wayland: Add missing EINA_UNUSED for unused function paramater"
This reverts commit 67766929ca.

Revert all the xdg_shell changes. Should not have been pushed due to
new API function.
2014-08-13 10:34:28 -04:00
Chris Michael 75c166cd1d Revert "Added support for xdg-shell protocol in ecore-wayland."
This reverts commit e591dff56d.

Revert this. Should not have been pushed yet. Sorry Stefan !! :)
2014-08-13 10:29:58 -04:00
Srivardhan Hebbar e591dff56d Added support for xdg-shell protocol in ecore-wayland.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1328
2014-08-13 09:41:27 -04:00
Chris Michael 67766929ca ecore-wayland: Add missing EINA_UNUSED for unused function paramater
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
Chris Michael e14f40a46d ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-13 09:41:27 -04:00
vivek 2f4db577b5 Added support for xdg-shell protocol in ecore-wayland
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1326
2014-08-13 09:41:26 -04:00
Chris Michael f0e90d25e3 ecore-wl: Optimize setting of window input region
@bugfix: Store the input region into the window structure, and don't
re-add a duplicate input region (done by comparison of saved region).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Chris Michael da59ad61f2 ecore-wl: Optimize opaque region setting for surface and reduce
unnecessary calls to surface commit.

@bugfix: We don't need to call surface_commit if we are just setting
the opaque (or input) region(s). This reduces some overhead on the
compositor side (and thus reduces useless redraws). Also, optimize
opaque_region_set to not Reset to the same region; we do this by
storing the opaque region into the window structure, and on calls to
opaque_region_set we can compare those values and not re-apply the
same opaque region.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-04-09 09:56:31 +01:00
Rafael Antognolli a14ee372e0 ecore/wayland: Send a mouse up event when the implicit grab starts.
The previous workaround used to send a mouse up event to the
application, using the pointer enter callback to determine when an
implicit grab has finished. This was "simulating" a mouse up event when
the surface move or resize finished.

However, this doesn't work for touch-based move. The pointer enter isn't
emitted, because the wl_touch interface doesn't have the concept of a
pointer.

Changing this code to make it more similar to what Weston's toytoolkit
does, the mouse up event is sent as soon as the move or resize grab
starts. After that, the compositor takes care of the move/resize almost
entirely.

Should fix T468.
2013-11-29 18:05:19 -02:00
Chris Michael e8aa7087eb Check for valid shell_surface, title, and class before trying to set
them else wayland segfaults (internal wayland code does no safety
checks). Also, Fix some formatting while I am here...

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-11-14 12:44:10 +00:00
Rafael Antognolli b5e6855266 ecore/wayland: Use eina_inlist instead of wl_list for inputs too. 2013-11-04 14:24:59 -02:00
Carsten Haitzler 298f4af7fa ecore-wl - add ecore_wl_window_surface_id_get so we can unbreak elm 2013-11-02 11:44:15 +09:00
Rafael Antognolli b77ac9b57e ecore/wayland: Add ecore_wl_window_keyboard_get().
Instead of use direct access to the Ecore_Wl_Window structure, just use
the getter, so we can hide the internals.
2013-11-01 15:51:38 -02:00
Rafael Antognolli 8b852ad21e ecore/wayland: Set win->resizing flag inside ecore_wl_resize(). 2013-11-01 15:51:14 -02:00
Rafael Antognolli 6aa11cf89d ecore/wayland: Set win->moving from inside ecore_wayland.
We can set it from the ecore_wl_window_move() function, instead of
directly changing the attribute.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 839a737a62 ecore(_evas)/wayland: Move frame callback to engine data.
It's something specific to the ecore_evas engine/module, so there's no
need to keep this info in the Ecore_Wl_Window.
2013-11-01 15:07:53 -02:00
Rafael Antognolli 1c33a1a57b ecore/wayland: Add title_set and class_name_set APIs.
These two APIs will save the title and class_name inside
Ecore_Wl_Window, so if they are called before the shell surface is
created, the stored names will be used later when the window is finally
shown (shell surface is created).

This way we are also hiding the shell surface from ecore_evas modules.
2013-11-01 15:07:48 -02:00
Rafael Antognolli 277a5915c1 ecore/wayland: Remove attributes that are not used anymore.
Some attributes might have been useful in the past, but not anymore.
Just remove since they are not been used anywhere.
2013-11-01 10:30:29 -02:00
Rafael Antognolli 1deb107d56 ecore/wayland: Do not store "edges" in Ecore_Wl_Window.
This is a configure event info, so put it in the right place. Some
places adding edges info were also removed, which means that they were
redundant.

Tested with <Meta> + middle click resize, and with window border resize,
on all the edges. Apparently, nothing breaks.
2013-10-31 21:35:13 -02:00
Rafael Antognolli dd18206d86 ecore/wayland: Do not use win->id directly.
Use a getter for it instead, so we don't need to expose the
Ecore_Wl_Window struct just because of it.
2013-10-31 21:35:13 -02:00
Rafael Antognolli 047e3bf113 ecore/wayland: Using underscore on private functions. 2013-10-29 19:32:00 -02:00
Rafael Antognolli 06d6bf0dba ecore/wayland: Add some getters.
This centralizes the place where we have to wait for the init to have
finished before first using the compositor. It's also part of the later
step of hiding Ecore_Wl_* private structs.
2013-10-29 19:14:22 -02:00
Stefan Schmidt ab0f7ca625 Revert "Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool."""
Is there a title for the commiter with the longest revert of a revert list?

I screwed this one up. Had other local changes that sneaked in.
Resetting and doing it right now.

This reverts commit ee155b771d.
2013-10-11 09:41:22 +01:00
Stefan Schmidt ee155b771d Revert "Revert "eina: use Eina_Spinlock for Eina_Chained_Mempool.""
You can bet on reverting makes people speed up the process in fixing it.
Revert the revert here now that Cedric fixed it in eina.

This reverts commit 875e7cf74d.
2013-10-11 09:36:35 +01:00
Rafael Antognolli f2d1a21147 ecore/wayland: Add subsurface handling APIs. 2013-10-10 13:24:22 -03:00
discomfitor 8f493ab6c5 Revert "ecore/wayland: Add subsurface handling APIs."
This reverts commit 65b960f4a6.

Conflicts:
	src/lib/ecore_wayland/ecore_wl.c
2013-10-05 16:26:24 +01:00
Rafael Antognolli 65b960f4a6 ecore/wayland: Add subsurface handling APIs. 2013-10-04 18:23:58 -03:00
Chris Michael eeb6f1e59f Do not call actual wl_surface_commit unless we have a buffer attached.
NB: Fixes zmike multi-client problem

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 11:34:10 +01:00
Chris Michael 43fda7c835 Add API functions for window_rotation set/get and Fix Protruding surfaces on rotated, opaque windows
Phab Ticket T359
https://phab.enlightenment.org/T359

NB: When setting the window opaque region, take into account any
existing window rotation, and set opaque region accordingly.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:08 +01:00
Chris Michael bd4d6cb6cc Also reset opaque region is transparent is toggled.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:13:53 +01:00
Chris Michael dc01222858 Add back saving of opaque region into window structure.
NB: Needed so that we can reset the opaque region if alpha_set is
being toggled on/off all the time.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-11 14:10:27 +01:00
Chris Michael 369f414726 Remove calls to update_size function in alpha_set and transparent_set.
In alpha_set & transparent_set, add call to set opaque region to NULL
if alpha or transparent.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 14:37:17 +01:00
Chris Michael 6ab1bd2f71 Set surface opaque region to NULL if window is transparent/alpha.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-04 14:24:04 +01:00
Chris Michael cf7c9b9d6b Added functions for setting input and opaque regions on a window.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:25:58 +01:00
Chris Michael f8d6a9561d Don't use Eina_Rectangles for server and saved allocation, can just
use ints for width & height.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 9bdda19eaf Remove calls to saved input & opaque region of window.
We don't record these regions anymore. They were removed from the
window structure.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 6337b63977 When updating window size, if the stored allocation size is the same
as being set, then get out.

This reduces unnecessary calls to resetting the input & opaque regions
if nothing has changed in terms of size.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-21 08:27:45 +01:00
Mike Blumenkrantz 86b61b41d1 ecore_wl sets input regions more accurately when resizing 2013-08-20 14:49:21 +01:00
Chris Michael 8e92e10088 When we create a wl_surface for the window, set the surface_id field
of the window structure.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00
Chris Michael 0de4add074 Remove dead code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00