Commit Graph

64 Commits

Author SHA1 Message Date
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 7a90ffb3b6 Ecore_Wayland: Fix ticket 1252 and stop segfaulting when we don't have
a keyboard or pointer interface available for drag-n-drop.



SVN revision: 75295
2012-08-15 14:01:20 +00:00
Christopher Michael 5e84f194e6 Ecore_Wayland: Only set the window allocated size if it is not a
fullscreen window. On a configure event, do not reset the allocated
size (this will be calculated and set later).



SVN revision: 75292
2012-08-15 10:02:22 +00:00
Christopher Michael 1b96e67e75 Ecore_Wayland (egl): Update server allocation when window allocation
changes.



SVN revision: 75213
2012-08-13 14:30:58 +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 33d4af1e18 Ecore_Wayland: When we unmaximize windows, used the saved allocation
sizes. When setting a window to be not transparent, recreate the
opaque region if needed.



SVN revision: 75004
2012-08-08 10:06:12 +00:00
Christopher Michael 1699490f15 Ecore_Wayland: Add missing __UNUSED__ to function paramateres ... Oh,
and also Fix Ticket #1242 where windows would resize in an incorrect
direction.

When resized an elm client application in Weston, and you grabbed the
top of the window to resize it, all resizing action was occuring from
the bottom of the window. Let's fix that ;) Now when you grab the top
of the window and resize it, it actually does resize from the top :)



SVN revision: 74933
2012-08-06 13:13:42 +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 ac4eb64015 Ecore (Wayland): Patch from Robert Bradford to check for valid
surfaces for events received from Wayland where the surface has
already been destroyed.



SVN revision: 74847
2012-08-03 13:27:05 +00:00
Christopher Michael cc6d6f0091 Ecore_Wayland: Use libxkbcommon function to map keysym to unicode
charachters.

Patch from Robert Bradford. Fixes ticket #1105



SVN revision: 74780
2012-08-02 06:43:20 +00:00
Christopher Michael 3e61fd8917 Ecore_Wayland: Test for a valid surface before we try to process the
pointer_enter event.



SVN revision: 74419
2012-07-26 07:23:32 +00:00
Christopher Michael a32308d4e8 Ecore_wayland: Fix calls to update_modifier state and pass the proper
paramaters. Only set input & opaque regions during resize.



SVN revision: 74325
2012-07-23 14:04:17 +00:00
Christopher Michael de6cfa77b3 Ecore_Wayland: Update geometry callback function to match new changes
in wayland. Now passes in a 'transform' also.



SVN revision: 74319
2012-07-23 09:31:49 +00:00
Christopher Michael 1625fc9b91 Ecore_Wayland: Fix some typos in the doxygen with regard to dpi get.
Add a comment pending future investigation with regard to how dpi is
calculated here.



SVN revision: 73351
2012-07-05 14:06:20 +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 19e75367b0 Ecore_Wayland: Patch from Rob Bradford to add missing NULL checks for
ecore_wl_input.



SVN revision: 71957
2012-06-11 17:11:38 +00:00
Christopher Michael a4114e2aa8 Ecore_Wayland: Patch from Rob Bradford <rob@linux.intel.com> for
updating axis events to be fixed point numbers.



SVN revision: 71756
2012-06-06 14:10:43 +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
Christopher Michael 0f378c9331 Ecore_Wayland: Use the input's pointer_enter_serial instead of
timestamp for setting pointer image.



SVN revision: 71748
2012-06-06 12:55:53 +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 7d9ec3120f Ecore_Wayland: Fix global interface name, thanks Alex ;)
SVN revision: 71350
2012-05-23 08:01:15 +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 6c4fd25e58 Ecore_Wayland: Quiet down output for robster ;)
SVN revision: 71201
2012-05-17 13:55:14 +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
Christopher Michael 86cc4ef357 Ecore_Wayland: Patch from Robert Bradford (rob@linux.intel.com) for
Complete support for keyboard events. Thank You :)

NB: This is a modified patch from what Rob originally sent. This fixes
formatting, uint32_t types, function name, and other such things ;)



SVN revision: 70672
2012-05-02 18:04:40 +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
Jonas M. Gastal a1e12eddbb Cleanup Doxygen Warnings - ecore 4
Files modified:
ecore/src/lib/ecore_wayland/ecore_wl_window.c
ecore/src/lib/ecore_x/xcb/ecore_xcb.c
ecore/src/lib/ecore_x/xcb/ecore_xcb_randr.c
ecore/src/lib/ecore_x/xcb/ecore_xcb_window.c
ecore/src/lib/ecore_x/xcb/ecore_xcb_window_shadow.c
ecore/src/lib/ecore_x/xlib/ecore_x.c
ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c
ecore/src/lib/ecore_x/xlib/ecore_x_window.c
ecore/src/lib/ecore_x/xlib/ecore_x_window_prop.c

SVN revision: 70424
2012-04-23 20:09:55 +00:00
Christopher Michael fc0ec643ca Ecore_Wayland: Update ecore_wayland client code to handle using
'serial' rather than timestamp. Trap in ecore_wl_screen_size_get for
the case where display->output is NULL.



SVN revision: 70282
2012-04-17 21:55:25 +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 7fd2403a1d Ecore_Wayland: Add doxy & since for dpi function.
SVN revision: 69670
2012-03-27 15:15:21 +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 fe3006163c Ecore_Wayland: Update ecore_wayland to match new events in todays
Wayland code.

NB: This will probably need updating again tomorrow, and again the day
after, etc, etc.



SVN revision: 69073
2012-03-09 02:36:00 +00:00
Christopher Michael 201bce2bb2 Ecore_Wayland: Remove free of the interfaces_bound event. Thanks Seb :)
SVN revision: 69063
2012-03-08 15:54:21 +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 5a989f5d82 Ecore_Wayland: Fix resize animation (little arrow @ bottom) not
showing up.



SVN revision: 68523
2012-02-28 22:51:01 +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 274f4be555 Ecore (Wayland): Update include for xkbcommon (changed in git). Update
function calls for changes made to wayland.

NB: This makes ecore_wayland build again.



SVN revision: 68283
2012-02-22 18:38:04 +00:00
Christopher Michael 671cda7b73 Ecore_Wl: Add function in header.
SVN revision: 67782
2012-02-09 08:16:45 +00:00
Christopher Michael c510ba8471 Ecore_Wl: Also send mouse move before sending mouse down/up. Add some
missing Logfn's. Add handler to free the mouse_move event when we're
done with it. Add a function to retrieve the 'last mouse button down
time' (needed for fixing surface move).



SVN revision: 67781
2012-02-09 08:15:10 +00:00
Carsten Haitzler 53c539ae55 ok 1 segv less. this code looks most suspicious...
SVN revision: 67671
2012-02-01 09:48:46 +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