Commit Graph

150 Commits

Author SHA1 Message Date
Alexandre Julliard a59c7cc859 winex11: Automatically clip the pointer when the foreground window is full-screen. 2011-05-11 14:55:57 +02:00
Alexandre Julliard a28722f531 winex11: Reset the clipping when the desktop window loses focus. 2011-05-11 12:07:37 +02:00
Alexandre Julliard 57fc5e7fcc winex11: Fix check for desktop process in non-desktop mode. 2011-05-05 16:31:58 +02:00
Alexandre Julliard 84f085fb91 winex11: Grab the mouse in the thread that owns the foreground window if possible. 2011-04-28 16:47:14 +02:00
Alexandre Julliard da9922b40d winex11: Ignore MotionNotify events if we have pending RawMotion events. 2011-04-27 16:00:02 +02:00
Alexandre Julliard 897fdfd423 winex11: Refuse to clip cursor to a 1x1 window if we don't have XInput2 support. 2011-04-26 15:31:30 +02:00
Alexandre Julliard f1f223d001 winex11: Release the clip cursor grab when the clipping window loses focus. 2011-04-25 10:49:59 +02:00
Alexandre Julliard 33c491eb84 winex11: Allow changing the clipping rectangle while the mouse is grabbed. 2011-04-22 17:51:29 +02:00
Alexandre Julliard a292220e1d winex11: Add separate helper functions for pointer grabbing and ungrabbing. 2011-04-22 17:51:28 +02:00
Alexandre Julliard 0eb19126e5 winex11: Store a message window with the desktop when the cursor is clipped.
This ensures that the thread can be notified when the clip rectangle is reset.
2011-04-22 17:51:28 +02:00
Alexandre Julliard 2ed57f9b96 winex11: Make sure the clipping window is initialized in every thread. 2011-04-14 17:13:41 +02:00
Alexandre Julliard bd3ec1a973 winex11: Retrieve raw mouse events through XInput2 while the cursor is clipped. 2011-04-14 12:08:37 +02:00
Alexandre Julliard 338fe8b9ac winex11: Add handlers for the XInput2 raw mouse events. 2011-04-13 18:56:37 +02:00
Alexandre Julliard b1be3ddbc6 winex11: Build the mouse input structure directly in the mouse event handlers. 2011-04-13 14:13:51 +02:00
Alexandre Julliard 06948ebccf winex11: Update the cursor on the clip window when the pointer grab starts. 2011-04-06 13:10:44 +02:00
Alexandre Julliard ecf217bbe4 winex11: Update the cursor on the clipping window while it's mapped. 2011-04-05 13:36:57 +02:00
Alexandre Julliard 886ae4c348 winex11: Always forward SetCursor to the driver, and limit the frequency of updates on the driver side. 2011-04-05 13:36:57 +02:00
Alexandre Julliard 4d358bfee3 winex11: Add an option to disable pointer grabs. 2011-04-05 13:36:57 +02:00
Alexandre Julliard ae2b356361 winex11: Implement cursor clipping using a pointer grab. 2011-04-05 13:36:57 +02:00
Gerald Pfeifer 4d93675332 winex11.drv: Initialize a variable in create_xcursor_frame to silence a warning. 2011-04-04 14:50:28 +02:00
Erich Hoover eddffff780 winex11: Add support for retrieving multi-rate animated cursor data. 2011-03-10 15:36:55 +01:00
Henri Verbeet 7b0a3128fb winex11: Remove a redundant forward declaration. 2011-03-10 12:53:24 +01:00
Erich Hoover 2a02649341 winex11: Use GetCursorFrameInfo to obtain animated frame delay. 2011-03-07 15:10:25 +01:00
Alexandre Julliard e047a20627 winex11: Merge updating the mouse state and sending the input into a single helper function. 2011-03-03 17:47:08 +01:00
Alexandre Julliard f46bd50a80 winex11: Get rid of the ClipCursor and SendInput entry points. 2011-03-03 17:34:53 +01:00
Alexandre Julliard f1a3480068 user32: Handle input injected through SendInput entirely in user32. 2011-03-02 21:48:39 +01:00
Alexandre Julliard c7efa293f0 server: Invoke low-level hardware hooks directly from the server side. 2011-03-02 21:26:13 +01:00
Alexandre Julliard ae895a1f10 user32: Export a Wine-specific function to send hardware input from the graphics driver. 2011-03-02 21:25:43 +01:00
Alexandre Julliard 0f18d2bb09 server: Set the message code for mouse input on the server side. 2011-03-02 11:59:38 +01:00
Alexandre Julliard 02e30f5f77 server: Pass the original hardware input data to the server and set the message parameters on the server side. 2011-03-02 11:34:15 +01:00
Alexandre Julliard bc4afb0786 server: Don't pass a thread id to send_hardware_message, determine it from the window. 2011-03-01 13:21:58 +01:00
Alexandre Julliard 39c4e6d1d9 user32: Retrieve the current cursor position from the server. 2011-03-01 13:21:42 +01:00
Alexandre Julliard a7da164949 user32: Retrieve the key state for GetAsyncKeyState from the server. 2011-02-28 22:28:42 +01:00
Alexandre Julliard b9e4b5a28c server: Fill the key state in mouse events from the server-side state. 2011-02-28 21:37:09 +01:00
Alexandre Julliard 02e8174067 server: Store the cursor clip rectangle in the server. 2011-02-25 13:50:19 +01:00
Alexandre Julliard b7987db36f winex11: Update the window cursor at most once every 100ms if nothing changed. 2011-02-24 12:17:10 +01:00
Alexandre Julliard 94fb0f5935 winex11: Synchronize the mouse cursor in update_mouse_state. 2011-02-24 12:16:54 +01:00
Alexandre Julliard 10aa13a98e winex11: Fix event coordinates mapping for the root window in the explorer process. 2010-12-13 12:43:34 +01:00
Alexandre Julliard cdaff0a918 winex11: Add support for receiving mouse events on non-toplevel windows. 2010-11-05 17:15:12 +01:00
Alexandre Julliard c876f25054 winex11: Allow specifying system cursor replacements through the registry. 2010-10-18 19:08:37 +02:00
Alexandre Julliard 45b87f1f94 winex11: Add support for remapping standard Win32 cursors to the X11 system cursors. 2010-10-18 19:08:37 +02:00
Alexandre Julliard 94e65bae54 winex11: Avoid creating a DC when not necessary. 2010-10-18 19:08:37 +02:00
Alexandre Julliard 85a69604de winex11: Use GetIconInfoEx when creating cursors. 2010-10-18 19:08:37 +02:00
Erich Hoover e84eb16c05 winex11: Add support for animated cursors in X11 driver. 2010-10-07 16:21:18 +02:00
Alexandre Julliard d39d2da065 winex11: Mirror the client rectangle if necessary for update_window_zorder. 2010-10-07 15:58:10 +02:00
Alexandre Julliard 6ee4521886 server: Pass the rectangle in client coordinates for update_window_zorder. 2010-09-27 21:12:49 +02:00
Dmitry Timoshkov 88900f429a user32: Make sure that SendInput always initializes the time field. 2010-09-22 12:44:22 +02:00
Alexandre Julliard f2f508856b winex11: Set the user time property on top-level windows.
Helps convince some broken window managers to put new windows on top
of the z-order.
2010-06-29 13:28:39 +02:00
Alexandre Julliard e25049e879 winex11: Create X11 cursors on demand when the cursor is set to a window. 2010-05-21 13:29:47 +02:00
Alexandre Julliard 875ca461ae winex11: Reimplement creation of Xlib cursors to use the bitmaps returned by GetIconInfo. 2010-05-21 13:27:14 +02:00
Alexandre Julliard 6264bc20bc winex11: Retrieve the cursor info with GetIconInfo to create a color cursor. 2010-05-21 12:55:15 +02:00
Alexandre Julliard 45b7eb6858 winex11: Move X11 locking inside the cursor creation functions. 2010-05-21 12:53:14 +02:00
Alexandre Julliard 5ee89aad68 winex11: Update the cursor also for events ignored by a hook. 2010-05-12 14:13:15 +02:00
Alexandre Julliard 6551553fe6 winex11: Make the cursor window global instead of per-thread, and send it a message when the cursor changes. 2010-04-29 10:19:29 -05:00
Alexandre Julliard 860329d61d winex11: Add missing X11 locking when setting the cursor. 2010-04-22 18:11:41 +02:00
Alexandre Julliard 8ec6359bbb user32: Remove the CURSORICON parameter in the SetCursor entry point. 2010-04-21 11:07:45 +02:00
Alexandre Julliard eed9c63ac7 winex11: Update the cursor from the thread input status instead of caching it per-thread in x11drv. 2010-04-21 11:07:45 +02:00
Alexandre Julliard 776527f38f winex11: Move creation of an empty cursor to a separate helper function. 2010-04-20 21:23:28 +02:00
Alexandre Julliard 9485f0b756 winex11: Implement the entry points for creating and destroying cursors. 2010-04-20 21:20:10 +02:00
Alexandre Julliard d676bf246d user32: Add driver entry points for cursor creation and destruction, and pass the cursor handle to SetCursor. 2010-04-20 19:22:38 +02:00
Alexandre Julliard 6ef5ccb90e winex11: Fix 16-bpp cursor conversions. 2010-04-16 16:24:24 +02:00
Dmitry Timoshkov 32e3539413 winex11.drv: Handle failure of XcursorImageCreate. 2009-08-12 12:53:32 +02:00
Andrew Riedi 73393fab16 winex11: Factor out the 'alpha_zero' test and use it for legacy cursor support. 2009-01-02 12:46:47 +01:00
Andrew Riedi cdf88e9c29 winex11.drv: Calculate the cursor bitmap offsets in a way consistent with user32. 2008-12-31 12:28:23 +01:00
Maarten Lankhorst 0a6459598a user32/winex11.drv: Change all user32 operations to use CDECL. 2008-12-23 13:06:04 +01:00
Henri Verbeet 6de9cfaf7f winex11.drv: Fix color conversion for 16 bpp cursors. 2008-12-17 14:04:58 +01:00
Alexandre Julliard 7fdadbb377 server: Add functions for conversions between server user handles and pointer-style handles. 2008-12-08 16:58:20 +01:00
Stefan Dösinger 08f4b87f96 winex11: Do not cap the cursor size. 2008-08-21 13:28:57 +02:00
Alexandre Julliard e7044cb8f8 winex11: Explicitly request creation of the thread display where necessary. 2008-06-26 16:47:42 +02:00
Alexandre Julliard 06a1407c13 winex11: Explicitly request creation of the per-thread data where necessary. 2008-06-26 15:08:08 +02:00
Alexandre Julliard 62b0e91c38 winex11: Add support for X11 mouse buttons 8 and 9. 2008-05-22 20:45:30 +02:00
Andrew Talbot 5156219a1c winex11.drv: Remove unused variables. 2008-05-02 16:08:15 +02:00
Alexandre Julliard 35bec2ed19 winex11: Ignore EnterNotify resulting from a pointer grab. 2008-03-31 12:12:12 +02:00
Alexandre Julliard d9f8f704ab winex11: Fix mouse coordinates mapping on desktop window. 2008-03-18 12:20:16 +01:00
Alexandre Julliard 7af2a9a902 winex11: Avoid depending on win.h. 2008-02-29 13:44:55 +01:00
Alexandre Julliard 8ee07d49ae winex11: Re-introduce a separate X11 window for the client area of top-level windows. 2008-02-21 12:53:00 +01:00
Gerald Pfeifer fcdca0e809 winex11.drv: Simplify condition in create_xcursor_cursor() based on the unsignedness of types. 2007-12-31 19:23:28 +01:00
Stefan Dösinger 7f97af2e2e winex11: Ignore the alpha if all pixels are 0. 2007-12-14 14:06:45 +01:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Vitaliy Margolen 82b1ba1f95 winex11drv: Ignore mouse move events when position did not change only when other events are present. 2007-10-05 10:24:35 +02:00
Vitaliy Margolen 6444f574c7 winex11drv: Don't ignore mouse move events even when position did not change. 2007-09-11 11:47:49 +02:00
Lionel Debroux d99882a384 winex11.drv: Fix memory leak in create_cursor (found by Smatch). 2007-08-31 13:21:07 +02:00
Alexandre Julliard f3ae5f5215 winex11: Don't set the cursor on the desktop window since it's managed by another process. 2007-08-20 14:04:53 +02:00
Alexandre Julliard 19a988a25c configure: Make the libXcursor soname check depend on the header check. 2007-07-09 22:42:28 +02:00
Alexandre Julliard 5a95cfbd9c configure: Export the shared library extension instead of hardcoding .so. 2007-07-02 14:35:05 +02:00
Andrew Riedi 2c709c59b8 winex11.drv: Add legacy 32-bit cursor support. 2007-04-27 11:43:04 +02:00
Andrew Riedi 23e2cb1f59 winex11.drv: Add Xcursor support for 32 bit cursors.
Based on patch by Henri Verbeet.
2007-03-28 11:17:13 +02:00
Dmitry Timoshkov e35db3408b user32: Add traces to the cursor APIs. 2007-02-21 10:55:01 +01:00
Vitaliy Margolen c3dc692b20 winex11drv/user32: Add ClipCursor to x11drv to pass clip rectangle to x11drv. 2007-01-06 11:40:46 +01:00
Vitaliy Margolen 7de64a3ab8 winex11drv: Return cached cursor_pos in GetCursorPos(). 2006-12-19 12:39:08 +01:00
Vitaliy Margolen ff721806ca winex11.drv: Update cached cursor position after calling hook. 2006-12-13 16:17:04 +01:00
Vitaliy Margolen b13681797a winex11.drv: Only events with MOUSEEVENTF_MOVE flag should change mouse position. 2006-12-13 16:16:12 +01:00
Tomas Carnecky 9d1686c8c5 winex11.drv: Don't update the key state table in mouse related functions. 2006-12-01 13:16:15 +01:00
Vitaliy Margolen b417435744 winex11drv: State of side mouse buttons (X-buttons) is not returned from XQueryPointer. 2006-11-27 17:03:51 +01:00
Alexandre Julliard a06aeaba39 winex11.drv: Offset X11 coordinates with the primary monitor position.
No longer force the primary monitor to contain the X11 (0,0) coordinate.
2006-10-26 13:04:52 +02:00
Vitaliy Margolen 6069d0d596 winex11drv: Win64 printf format warning fixes. 2006-10-09 15:23:33 +02:00
Alexandre Julliard d3b3096756 server: Split the queuing of hardware messages into a separate send_hardware_message request. 2006-08-09 16:45:26 +02:00
Roderick Colenbrander 98179f0656 winex11.drv: Kill DGA support. 2006-07-29 11:46:58 +02:00
Thomas Kho 4598c973b2 winex11: Use correct multiplier for negative relative mouse movements. 2006-07-10 11:50:21 +02:00
Alexandre Julliard bdb4fab7a7 x11drv: Renamed the x11drv directory to winex11.drv. 2006-06-16 09:57:50 +02:00