Commit Graph

64 Commits

Author SHA1 Message Date
Rafael Antognolli d1a9314cdd ecore/wayland: Use eina_inlist instead of wl_list for outputs too. 2013-11-04 14:18:39 -02:00
Rafael Antognolli 18ef47c173 ecore/wayland: Use eina_inlist instead of wl_list for globals.
Since we are allocating this list and returning it, let's make it more
EFL-like.
2013-11-04 13:50:04 -02:00
Rafael Antognolli fdf6828b7e ecore/wayland: Move Ecore_Wl_Output to a private header.
This is just not being used outside of ecore_wayland library, so just
move it and nothing breaks.
2013-11-04 11:06:49 -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 fe8058cf77 ecore/wayland: Finally move Ecore_Wayland internals to private header. 2013-11-01 15:55:39 -02: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 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 e56428f4ad ecore/wayland: Make Ecore_Wl_Input private.
It's mostly only used inside ecore_wayland library anyway.

The only bit needed outside of the library is the "seat" pointer, but a
new function was added to retrieve such pointer from Ecore_Wl_Input.
2013-10-31 21:35:13 -02:00
Rafael Antognolli 35d2f195de ecore/wayland: Hide Ecore_Wl_Display.
This struct is only used inside ecore_wayland itself, so there's no real
reason to expose it. Apparently, hiding it doesn't break anything,
except for the ecore_imf wayland module, which was easily fixed.

If anyone notices a breakage, please let me know.
2013-10-31 21:35:13 -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
Rafael Antognolli ccdeae7ce4 ecore/wayland: Use sync callback to report end of ecore_wl_init().
At the end of the ecore_wl_init() function, send a sync request to the
server, and add a callback listener to the "done" event. When this event
is received, we are sure that all the registry bind requests done so
far were processed already, and that the registry and globals are
available and can be used.

Now, on the functions that request interfaces or registry, we call
_ecore_wl_init_wait(), which will check if the callback was received
already (that means that all requests inside the init were processed).
If it was not yet, then we wait until receiving that callback, before
returning the requested data.
2013-10-28 14:47:33 -02:00
Rafael Antognolli 3aca95bb22 ecore/wayland: Add info about other bound interfaces.
Add output, seat, data_device_manager and subcompositor as possible
bound interfaces, on the ECORE_WL_EVENT_INTERFACES_BOUND event info.
2013-10-28 14:47:32 -02:00
Rafael Antognolli ad731e8b21 Revert "change init done bindings."
This reverts commit b87afd1b94.

Wrong branch, wrong commit.
2013-10-28 14:46:40 -02:00
Rafael Antognolli b87afd1b94 change init done bindings. 2013-10-28 14:07:25 -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
Rafael Antognolli 1cef77bfd7 ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland. 2013-10-10 13:24:22 -03:00
discomfitor 80bcfac650 also unbreak ecore-wl header with previous reverts... 2013-10-05 16:38:55 +01: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
discomfitor f66eceed10 Revert "ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland."
This reverts commit 7994b62c6b.
2013-10-05 16:23:38 +01:00
Rafael Antognolli 65b960f4a6 ecore/wayland: Add subsurface handling APIs. 2013-10-04 18:23:58 -03:00
Rafael Antognolli 7994b62c6b ecore/wayland: Add and initialize subcompositor inside Ecore_Wayland. 2013-10-04 18:23:58 -03:00
Chris Michael deedad61b9 Add structure member to mark if window has an actual buffer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-24 11:34:10 +01:00
Chris Michael 677fdbf81c Update doxy for opaque_region_set function.
Add 'rotation' field to Ecore_Wl_Window structure.
Add API functions to get/set window rotation.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-17 07:41:08 +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 164299e689 Rework keyboard repeat to use an ecore_timer (not a timerfd).
NB: This fixes keyboard repeat in terminology (under wayland) to be
sane again :)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-09-10 15:59:40 +01:00
Chris Michael 6a228b5b7f Add API functions for setting window input & opaque regions.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:25:34 +01:00
Chris Michael 8d3caa1dba Remove 2 unused integer members from window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:54 +01:00
Chris Michael d1b4362b52 Reduce size of Ecore_Wl_Window structure.
Removed 2 Eina_Rectangles from window structure as we only use width &
height anyway, so we can store those as ints.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael 2811dad225 Remove pending_allocation member of window structure (not used
anywhere).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael bf410c957b Remove region members from Ecore_Wl_Window structure. No need to keep
these around.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-29 09:06:53 +01:00
Chris Michael b4af063308 Add surface_id to wayland window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-20 14:45:49 +01:00
Chris Michael 8f8d79cb91 Add a pointer structure to the window struct.
NB: This is used in a case where someone calls
ecore_evas_object_cursor_set on a specific window. The generic
pointer_enter code for a window initially sets the cursor to
left_arrow by default. When the above function is used, and a pointer
enter event occurs, the cursor assigned from the above function was
not being respected.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:20 +01:00
Chris Michael 93398d66ed Add API function for setting "server_mode"
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-23 07:15:19 +01:00
Chris Michael 3304eeb59e Modify ecore_wl_animator_source_set function to not need a window.
Add ecore_wl_window_commit.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:53 +01:00
Chris Michael 36e43b271a Add anim_pending and anim_callback to window structure.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-07 15:42:52 +01:00
Chris Michael 7983c69255 Deprecate some old dnd functions that were named poorly or just did
not function.
Add Dnd Offer and Dnd End events.
Add a new window type (dnd).
Add new functions for dnd

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael aef87fc411 Move window function(s) declaration(s) to be with the rest of the
window functions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 09a3290c54 Define Ecore_Wl_Input_Group and Ecore_Wl_Dnd_Group for doxy
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael 4c88eb0325 Add missing 'void' for function declaration.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:51 +01:00
Chris Michael a85a196e4a deprecate badly named ecore_wl_dnd_drag_start function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-28 11:48:50 +01:00
Chris Michael d7cbc84aa8 Add function to get a Ecore_Wl_Window from a wl_surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-21 10:46:04 +01:00
Rafael Antognolli 7a7a0b8297 ecore/wayland: Add ecore_wl_window_alpha_set().
Just sets the "alpha" flag on the window and use it when calculating
opaque regions.
2013-05-06 16:40:50 -03:00
Rafael Antognolli 1f58a59a61 ecore_evas/wayland: Remove hack for changed state.
Since we don't have a changed state callback on Wayland, just call the
changed_state callback of Ecore_Evas from the configure callback.
There's no need to add the Ecore_Job that will send the event later.

This makes the code cleaner, simpler, and will call the callback when
the configure event is received, which is a good place to check for the
changes.
2013-04-30 16:31:43 -03:00
Rafael Antognolli a9b500370a ecore/wayalnd: Add some getters to ecore_wl_window. 2013-04-30 16:31:35 -03:00