Commit Graph

168 Commits

Author SHA1 Message Date
Alexandre Julliard dc6f39ac29 server: Use screen coordinates in the update_window_zorder request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-27 15:16:45 +02:00
Alexandre Julliard c102efbc35 winex11: Avoid left_side/top_side cursor names.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-27 11:22:00 +02:00
Alexandre Julliard 508ad84bbe winex11: Support multiple fallbacks for cursor names.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-23 12:01:40 +02:00
Alexandre Julliard 9b2b9d9cb3 winex11: Use more common names for resizing cursors.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 20:11:07 +02:00
Alexandre Julliard 2e0a1cfd83 winex11: Load a monochrome cursor instead of converting a color one when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 20:51:09 +02:00
Chris Morgan 9c83e5ccf2 winex11: Wrap XInput2 dependent functions with appropriate #ifdef.
Signed-off-by: Chris Morgan <chmorgan@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-27 14:32:17 +01:00
Carlos Garnacho 448433ae03 winex11: Use XIAllDevices to select for XI_RawMotion.
Instead of selecting for XI2 events for every slave device individually,
do it for XIAllDevices, and store the current device's relative X/Y
valuators so they can be quickly looked up in the XI_RawMotion events
received.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:16:29 +01:00
Nikolay Sivov 703e82094b winex11: Pass correct buffer length to RegQueryValueExW().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 16:00:31 +01:00
Carlos Garnacho 64c27d62b5 winex11: Always use the client pointer for raw events.
Use XI2's client pointer, it will be the master pointer affected by X
core calls, and even if it doesn't currently have relative X/Y
capabilities, it will gain those as soon as a slave device with such
capabilities is used.

Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-21 20:57:06 +01:00
Akihiro Sagawa ce7a98e95c winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
After processing several X events, X11DRV_MsgWaitForMultipleObjects always
tells us that a new message is available. This is not true for some cases.

For instance, when we call DestroyWindow, the X queues DestroyEvent. Then,
X11DRV_MsgWaitForMultipleObjects handles the event only; none is posted or
sent as hwnd for destroyed window is unavailable. However, the function
states "new message is available" by returning count - 1 value.

This is an issue for CoWaitForMultipleHandles because it expects a new
message in the queue and consumes the message.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:27:40 +09:00
Hadrien Boizard 81538ebb6d winex11.drv: Use wine_dbgstr_point in TRACES.
Signed-off-by: Hadrien Boizard <h.boizard@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 22:19:37 +09:00
Jacek Caban ecf9e9135d winex11.drv: Use grabbed window display in SetCapture.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 13:54:50 +09:00
Alexandre Julliard 49e1ba7d4b winex11: Ignore EnterNotify events that are older than the last mouse wrap.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 17:42:38 +09:00
Alexandre Julliard 9d237f97fc winex11: Add a helper function to check a motion event against the serial number.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-01 17:42:01 +09:00
Sebastian Lackner 0f3fa3965b winex11: Initialize thread data in clip_cursor_notify. 2015-08-05 23:42:42 +09:00
Francois Gouget 3adc91f3fc winex11.drv: Remove unneeded NONAMELESSXXX directives. 2015-04-01 14:13:09 +09:00
Jinhui Chen 366ed5495c winex11.drv: Fix row-resize/col-resize mapping to X cursor. 2015-03-25 19:44:33 +09:00
Sebastian Lackner 7714efe213 winex11: Only enable XInput2 cursor warp workaround if necessary.
Based on a patch by Patrick Rudolph.
2015-02-27 15:06:24 +09:00
Frédéric Delanoy 323bec99b3 winex11.drv: Use BOOL type where appropriate. 2013-11-29 13:32:46 +01:00
Alexandre Julliard 0f03f264b7 winex11: Add a helper function to return the primary monitor rectangle. 2013-10-14 17:26:14 +02:00
Alexandre Julliard 9f1f29cc91 winex11: Add a helper function to return the virtual screen rectangle. 2013-10-14 17:26:14 +02:00
Alexandre Julliard 0b71e0bf12 winex11: Add helper functions for converting between root and virtual screen coords. 2013-10-14 17:26:13 +02:00
Frédéric Delanoy ff7fc1fd45 winex11.drv: Use BOOL type where appropriate. 2013-10-02 11:06:39 +02:00
Henri Verbeet 76bbf106a2 winex11: Move the desktop process check from X11DRV_ClipCursor() to grab_clipping_window().
We don't want to clip in the desktop process, but we still need it to call
ungrab_clipping_window() if the process that was previously clipping didn't.
This can happen for example when fullscreen clipping is enabled, but the
corresponding window isn't explicitly destroyed before process exit.
2013-04-25 11:47:39 +02:00
Andrew Talbot 0ff8c9da52 winex11.drv: Avoid signed-unsigned integer comparisons. 2013-03-06 11:43:06 +01:00
Alexandre Julliard 77af9035d8 winex11: Fallback to the standard cursor font when XCursor is missing. 2013-01-17 15:33:09 +01:00
Alexandre Julliard 91ebca2bf1 winex11: Send WM_ENTERSIZEMOVE when starting to poll for a window move/resize. 2012-12-11 15:49:04 +01:00
Alexandre Julliard ed47a507d0 winex11: Send WM_EXITSIZEMOVE when the mouse has been released. 2012-12-10 20:30:29 +01:00
Henri Verbeet 73d68c5a31 winex11: Handle a NULL cursor clipping rect the same as a fullscreen rect.
We want to avoid ungrabbing the clipping window if "fullscreen clipping" is
enabled.
2012-09-28 11:26:33 +02:00
Alexandre Julliard 988f2fde86 winex11: Store the full visual info for the default visual. 2012-09-26 14:40:39 +02:00
Alexandre Julliard 0a9398421c winex11: Add a workaround for XInput support with mouse drivers that don't provide labels. 2012-09-26 14:40:38 +02:00
Alexandre Julliard 1cfed8922e winex11: Add window data locking to the mouse functions. 2012-09-18 14:47:01 +02:00
Alexandre Julliard c8ea1e50dc winex11: Avoid passing a window data structure to functions that can send messages. 2012-09-17 12:42:21 +02:00
Alexandre Julliard 2967599286 winex11: Don't select for mouse events on the client window. 2012-08-30 12:57:45 +02:00
Alexandre Julliard cf1be58706 winex11: Remove the remaining X11 locking calls. 2012-08-16 16:48:00 +02:00
Alexandre Julliard c970621d90 winex11: Create contexts at initialization time to avoid the need for locks. 2012-08-16 14:34:00 +02:00
Alexandre Julliard ff60249cab winex11: Use the labels to find the mouse motion valuators for XInput2. 2012-08-16 10:27:19 +02:00
Alexandre Julliard f579091380 winex11: Store XInput2 device info in the thread data. 2012-08-16 10:25:49 +02:00
Alexandre Julliard 6f6217e9a4 winex11: Remove remaining X11 locking around graphics calls. 2012-08-14 15:13:21 +02:00
Alexandre Julliard 6bfcb347bf winex11: Remove X11 locking around simple X calls. 2012-08-14 15:13:08 +02:00
Alexandre Julliard 8ee12778f9 winex11: Use the create_pixmap_from_image helper to create monochrome cursors. 2012-05-15 17:02:09 +02:00
Alexandre Julliard 70a9bb9518 winex11: Use the create_pixmap_from_image helper to create color cursors. 2012-05-15 17:02:08 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Alexandre Julliard 7c7a509e22 winex11: Never try to clip the cursor if we don't have XInput2. 2012-03-12 10:44:02 +01:00
Alexandre Julliard 852687f1d1 winex11: Poll the mouse button to detect the end of a window manager move/resize. 2012-02-01 16:42:49 +01:00
Alexandre Julliard abfed909b2 winex11: Move the window resizing support to mouse.c. 2012-02-01 16:42:48 +01:00
Alexandre Julliard 1592b9c9de winex11: Disallow clipping to fullscreen rectangle if XInput2 is not available. 2012-01-30 20:44:49 +01:00
Alexandre Julliard b90be52cdd winex11: Scale raw motion events according to their valuator range. 2011-12-21 10:58:25 +01:00
Alexandre Julliard 126bb92717 winex11: Keep the device info around as long as XInput2 is active. 2011-12-21 10:57:57 +01:00
Alexandre Julliard bd44f10496 winex11: Make sure we create valid bitmaps even for a 1x1 mask. 2011-11-16 18:21:21 +01:00