Commit Graph

30 Commits

Author SHA1 Message Date
Christopher Michael e7d8ab323c Ecore_Wayland: Add Copy-n-Paste support for Ecore Wayland.
NB: Based on initial work from Alex <zhiwen.wu@intel.com> (thanks for
the patch), but modified to clean up compiler warnings, fixed function 
declarations, fixed function namespacing.



SVN revision: 75809
2012-08-29 06:35:02 +00:00
Christopher Michael cde4673abe Ecore_Wayland: Add alpha field to window structure, add cursor_name to
input structure.

These are required for fixes to _set_alpha/transparent, and upcoming
cursor fixes.



SVN revision: 75311
2012-08-16 09:35:41 +00:00
Christopher Michael a5e2b68c69 Ecore_Wayland: Add keyrepeating support :) Fixes ticket #1292
This commit adds support to efl applications (elm) under wayland so
that they can get key repeats. All of this is internal and does not
require the application to do anything, which means the elm test for
notepad now works with repeating keys.



SVN revision: 75037
2012-08-09 09:57:47 +00:00
Christopher Michael 8123853195 Ecore_wayland: Add myself a FIXME note for after the "freeze".
SVN revision: 74930
2012-08-06 12:31:05 +00:00
Christopher Michael 5ef3b00eaf Ecore_Wayland: Updates to work with latest Wayland:
Add pointer frame callback. Add pointer surface listener.
  Use doubles for input surface position.
  Fix dnd function prototype to use wl_data_offer now.
  Fix dnd_add function to not use proxy_create anymore.
  Fix regression where window resizing down would leave artifacts.
    - Need to update the window allocation size before attaching the
new buffer.
  Fix set_transient & set_popup to use the parent surface, not the
shell surface.



SVN revision: 73254
2012-07-04 07:16:29 +00:00
Christopher Michael 0c4febd6f2 Ecore_Wayland: Patches from Rob Bradford to fix ticket(s): 1030 & 1031
Ecore_Wayland: Drop the unused timestamp from the configure event
Ecore_Wayland: Port to updated Wayland API
The cursor on the pointer is now a Wayland surface rather than a buffer.



SVN revision: 72381
2012-06-18 10:48:29 +00:00
Christopher Michael f636cb730c Ecore_Wayland: Add patch from Rob Bradford <rob@linux.intel.com> to
enhance keyboard input handling.

* Associate the keymap with the input device rather than the display
since you could could have different keymaps associated with different
devices.

* Increase the size of character arrays used for the string
representations of
the keyname, keysym and for the string representing the key.

* Re-enable the code that converts the keysym to a printable
definition - this
is required where the keysym is not the same as the printable definition



SVN revision: 71750
2012-06-06 13:20:02 +00:00
Rob Bradford b170d36865 Ecore_Wayland: Update to latest wayland git and add support for keymap
& modifier change(s). Also, add patches from Rob Bradford
<rob@linux.intel.com> for basic support for setting wayland cursor:

From c5d9094f4792bf7375c216682947de334002cdad Mon Sep 17 00:00:00 2001
From: Rob Bradford <rob@linux.intel.com>
Date: Tue, 29 May 2012 16:35:01 +0100
Subject: [PATCH] Ecore_Wayland: Add basic support for setting the cursor

* Add api to the ecore_wl_input_ namespace to allow setting the buffer
to use
for the pointer and for loading a named cursor from a cursor theme.
Under the
Wayland protocol the cursor is associated with the input device.

* Add helper functions to ecore_wl_window to set the cursor based on the
active pointer input device for the window.

* Load the cursor theme when the SHM interface is ready and provide an
API
call to provide a wl_cursor for a given name.

* Add API to restore to the default cursor and then use that when the
pointer
enters the surface to ensure compliance with the Wayland protocol.

Cheers :)



SVN revision: 71734
2012-06-06 08:18:58 +00:00
Christopher Michael c88aa2ff08 Ecore_Wayland: Add patch from Alex Wu <zhiwen.wu@linux.intel.com> for
changing Ecore_Wayland input to match current Wayland git (wrt wl_set
changes).

Thanks Alex :)



SVN revision: 71306
2012-05-22 08:17:30 +00:00
Christopher Michael 14681a29cf Ecore_Wayland: Update ecore_wayland to work with recent wayland git:
This commit also includes patch(s) from Robert Bradford
<robert.bradford@intel.com> for Supporting vertical/horizontal
scrolling, and updates to wayland fixed point for input events.

Fix ecore_wl_input to use new libxkbcommon api.
Add new surface_enter/leave listener for ecore_wl_window.



SVN revision: 71107
2012-05-15 11:58:21 +00:00
Carsten Haitzler b57b9f5fea make notes about wayland stuff being experimental. we cant really back
it until wayland itself is stable. warnings. lets hope it all works
out fine in the end.



SVN revision: 70486
2012-04-26 03:42:41 +00:00
Christopher Michael 0a889a10c5 Ecore_Wayland: Cleanup header inclusions. Fix issues with efl wayland
clients not moving or resizing properly with most recent git wayland.
Make use of wayland's new 'serial' stuff in place of timestamps (where
appropriate). Add code to handle new wayland 'ping' events.



SVN revision: 70443
2012-04-24 16:59:35 +00:00
Christopher Michael ccb5d642bd Ecore_Wayland: Update to latest wayland from git.
SVN revision: 70280
2012-04-17 19:06:23 +00:00
Christopher Michael 5d4554996f Ecore_Wayland: Rework ecore_wayland to match current wayland git wrt
pointer grabs, shm_pool interface. Rename fields of the
wl_event_mouse_in/out structures to match other ecore event structs.
Add API functions for getting a list of outputs, for getting a windows
shell_surface, and for setting a windows parent.



SVN revision: 69997
2012-04-10 17:00:56 +00:00
Christopher Michael 62694fbf44 Ecore_Wayland: Add an API function which calls wl_display_iterate(readable).
Fix ecore_wl_window surface attach of the buffer for shm and egl types.

NB: This ensures that both efl/elm clients work under the Wayland
Compositor AND the E17 Compositor.

NB: The issue here is that clients (when run under the Wayland
compositor) need to make sure 'iterate' has
been called before creating surfaces so that the wl_compositor is
setup. However, the actual E17 Compositor will hang if 'iterate' is called
to early.



SVN revision: 69707
2012-03-29 01:26:30 +00:00
Christopher Michael 5d861aad45 Ecore_Wayland: Remove dependency on egl (handled in compositors).
Handle 'axis' events from multi-touch devices (also handles mouse
wheel).
Remove wl_buffer_damage calls (obsolete in newest wayland).

NB: This will require the 'latest' wayland code from their git repo as
of 2012-03-27.



SVN revision: 69672
2012-03-27 17:50:40 +00:00
Christopher Michael 4e42d802b8 Ecore_Wayland:
- Comment out display_iterate during intialize (hangs compositor
initialize).
- Simplify ecore_wl_flush routine and avoid possible hangs in
wl_display_roundtrip.
- Add function (for trip ;) ) to be able to return the screen dpi.
- Implement functions for input grab/ungrab.
- Set root.x/y in mouse events.
- Remove freeing of mouse_move event (already handled generically).
- Handle setting output mm width/height (for calc of dpi).
- Implement setting surface input & opaque regions.
- Implement popup windows.
- Implement ecore_wl_window_transparent_set function.
- Implement function to allow setting Ecore_Wl_Window type.
- Implement setting the wayland mouse pointer to an image (via
ecore_wl_window_pointer_set).
- Comment out wl_display_iterate during initialize (can cause hangs in
compositor).
- Simplify ecore_wl_flush (to avoid compositor hangs).



SVN revision: 69644
2012-03-27 02:13:34 +00:00
Christopher Michael 3e9fe228aa Ecore_Wayland: Don't need to init egl here (just yet). Add an event
(interfaces_bound) to be raised when ecore_wayland has everything it
needs to function properly. (Used in the e17 wayland only code).



SVN revision: 69032
2012-03-07 21:46:52 +00:00
Christopher Michael 2ff608c90a Ecore_Wayland: Don't require a current surface to retrieve pointer
position as we may not have an active window when this is requested.



SVN revision: 68731
2012-03-05 16:50:20 +00:00
Christopher Michael 9c97695b5a Ecore_Wayland: Remove image_target_texture_2d (not used and requires
GL header which causes issues for E17 wayland only).



SVN revision: 68582
2012-03-01 17:25:54 +00:00
Christopher Michael 6cbf9fa01a Ecore_Wayland: Add ecore_wl_pointer_xy_get function.
SVN revision: 68576
2012-03-01 13:43:41 +00:00
Christopher Michael c03a4e19b4 Ecore_Wayland: Add some doxy & @since.
SVN revision: 68522
2012-02-28 22:31:27 +00:00
Christopher Michael f3cf8efe47 Ecore_Wayland: Refactor all the ecore_wayland code to improve running
EFL applications as Wayland Clients.

NB: This (along with the ecore_evas changes) fixes most (if not all) 
outstanding issues what I am aware of, including the nasty resize bug 
with wayland_egl.



SVN revision: 68515
2012-02-28 21:55:51 +00:00
Christopher Michael 671cda7b73 Ecore_Wl: Add function in header.
SVN revision: 67782
2012-02-09 08:16:45 +00:00
Christopher Michael 8de10044b4 Ecore_Wayland: When handling wayland interfaces (during startup), we
cannot depend on the order in which the interfaces are given to us, so
we cannot create the data_device until we have both the input device
and the data_device_manager. Fix that.

Add more dnd code (not complete yet because frankly, the way Wayland
handles dnd & selection code is crappy, stupid, and difficult to
implement).



SVN revision: 67247
2012-01-16 19:10:33 +00:00
Christopher Michael 3b13af75a6 Ecore_Wayland: Some more work on getting drag-n-drop flushed out.
SVN revision: 67182
2012-01-13 09:33:33 +00:00
Christopher Michael dbe6f16717 Ecore_Wayland: Unbreak shm engine wrt shm_format.
Add more work on dnd code (incomplete still).

NB: We will need to add a method to request non-argb surfaces. For
now, all surfaces are argb.



SVN revision: 67180
2012-01-13 07:46:22 +00:00
Christopher Michael 8fc45c6673 Ecore (Wayland): Add function to get current mouse position (screen
coords).
Rename some variables for clarity of their purpose.



SVN revision: 66807
2012-01-03 20:37:30 +00:00
Christopher Michael 4bd3586d2b Ecore_Wayland: Remove 'ecore_wl_window' (not used or needed).
SVN revision: 66543
2011-12-26 23:29:49 +00:00
Christopher Michael 627d39bfa2 Ecore: Add Ecore_Wayland (Wayland backend like ecore_x).
Ecore_Evas: Add 'drame_frame' functions.
Add ecore_evas_wayland code (for creating ecore_evas' in wayland).

NB: Merry Christmas EFL !!, Here is you're gift :)



SVN revision: 66542
2011-12-26 23:27:20 +00:00