Commit Graph

1258 Commits

Author SHA1 Message Date
Alexandre Julliard adb86c5f2a winex11: Try harder to ignore broken raw motions events caused by pointer warping. 2011-06-20 19:32:05 +02:00
Huw Davies 129021a0ab winex11: Move the code that checks for a colortable based dib to a separate function. 2011-06-06 21:49:21 +02:00
Marcus Meissner 5a9b623212 winex11.drv: Mark internal symbols with hidden visibility. 2011-05-25 11:49:52 +02:00
Alexandre Julliard d1f5c13162 winex11: Filter out motion events resulting from setting the clip window. 2011-05-16 16:35:31 +02:00
Alexandre Julliard 0e2b4f99a9 winex11: Warp the pointer when clipping, but ignore the resulting events. 2011-05-16 16:35:31 +02:00
Alexandre Julliard 9556b4f7db winex11: Don't wait for the foreground window to start clipping in ClipCursor. 2011-05-16 16:35:31 +02:00
Alexandre Julliard e52e57d133 winex11: Try a little harder to clip the cursor to avoid some race conditions. 2011-05-13 16:44:09 +02:00
Alexandre Julliard 8e9b4e0a5c winex11: Allow MotionNotify events through occasionally while XInput is active. 2011-05-13 16:19:45 +02:00
Alexandre Julliard fd4ad5a604 winex11: Don't use raw events for button events so that we get the right coordinates. 2011-05-13 12:41:12 +02:00
Alexandre Julliard 2e46c671d6 winex11: Set the desktop window gravity to NorthWest to avoid spurious position changes. 2011-05-12 16:25:50 +02:00
Alexandre Julliard b081ee452d winex11: Only update the fullscreen pointer grab when something has changed. 2011-05-12 16:24:58 +02:00
Alexandre Julliard ae52a8c2cb winex11: Add an option to automatically clip the pointer in desktop and multi-monitor modes. 2011-05-11 14:56:20 +02:00
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 a07b8411fc winex11: Export a couple of helper functions for window rectangles. 2011-05-11 12:09:12 +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
Marcus Meissner ea85bc9509 winex11.drv: Assertion was 1 off (Coverity). 2011-05-02 12:38:13 +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 bab850389a winex11: Merge consecutive RawMotion events. 2011-04-27 16:00:50 +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 d2ff461615 winex11: Clip out the top-level windows when repainting the desktop. 2011-04-22 12:16:33 +02:00
Dmitry Timoshkov f339b6c0f1 winex11.drv: Make sure that all relevant keyboard traces are printed in the same debug channel. 2011-04-20 16:34:25 +02:00
Dmitry Timoshkov fd043c5644 winex11.drv: Use dialog window type again for owned popup windows. 2011-04-20 16:29:33 +02:00
Alexandre Julliard 55bfd2ef0d winex11: Allow installing the event handler multiple times. 2011-04-19 18:29:24 +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
Austin English 846ba03867 winex11.drv: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:54 +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 a8575a8b4d winex11: Add infrastructure for managing the extra data of generic extension events. 2011-04-13 14:13:29 +02:00
Huw Davies b295b53630 winex11: Don't use the bitfields for the BI_RGB case. 2011-04-12 17:42:12 +02:00
Alexandre Julliard f13c65b4f5 winex11: Get rid of the old ddraw HAL support. 2011-04-12 17:42:12 +02:00
Dmitry Timoshkov 6eed4c4241 winex11: Move the SendMessage(WM_SYSCOMMAND, SC_MAXIMIZE/SC_RESTORE) call after the window extents check. 2011-04-08 17:11:21 +02:00
Alexandre Julliard 9c8911e342 winex11: Simplify the event handler lookup, and support names in debug traces for extension events. 2011-04-06 13:26:42 +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
Alexandre Julliard 21e86f60ec server: Post a message to the desktop window when the cursor clip rectangle changes. 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
Matteo Bruni 1e0075cd61 winex11.drv: Take care of the destroyed drawable in wglFlush/wglFinish too. 2011-03-31 12:43:29 +02:00
Matteo Bruni 90608c8ce6 winex11.drv: Don't call glXSwapBuffers if the context or the drawable are invalid. 2011-03-31 12:43:22 +02:00
Matteo Bruni 1902e1cb93 winex11.drv: Fix wglMakeContextCurrent with an invalid drawable. 2011-03-31 12:42:35 +02:00
Matteo Bruni 868974c615 winex11.drv: Don't modify state if glXMakeContextCurrent fails. 2011-03-31 12:42:27 +02:00
Matteo Bruni 716df1c2d2 winex11.drv: Make wglMakeCurrent return the correct error when the drawable is invalid. 2011-03-30 13:28:04 +02:00
Matteo Bruni 77679c4e9c winex11.drv: Don't modify current state if glXMakeCurrent fails. 2011-03-30 13:28:04 +02:00
Joshua Beck ddada67538 winex11: Improved error handling in pglXMakeCurrent() call. 2011-03-29 12:23:16 +02:00
Dmitry Timoshkov 5ef58c11ce winex11.drv: Do not use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
Main window of the Atom Zombie Smasher game has WS_DLGFRAME style set,
but Metacity allows making fullscreen ONLY normal windows, so do not
use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
2011-03-29 12:21:22 +02:00
Alexandre Julliard 3d34f01f3c gdi32: Add null driver entry points for StretchBlt and AlphaBlend. 2011-03-18 16:05:09 +01:00
Alexandre Julliard 8e396a9417 winex11: Implement a separate entry point for PatBlt and simplify the StretchBlt handling. 2011-03-17 14:49:16 +01: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
Alexandre Julliard 6419edfb6d gdi32: Add a mechanism for stacking gdi drivers. 2011-03-10 12:38:31 +01:00
Alexandre Julliard 5f5c7020f3 gdi32: Add a common header to the physdev structure. 2011-03-08 22:34:57 +01:00
Alexandre Julliard 383bda91cf user32: No longer export HOOK_CallHooks. 2011-03-08 14:50:47 +01:00
Henri Verbeet 727ecc1714 winex11.drv: Allow disabling vertical sync using EXT_swap_control.
EXT_swap_control redefines glXSwapIntervalSGI() as glXSwapIntervalEXT() on the
current drawable (if any), and glXSwapIntervalEXT() supports disabling vsync.
2011-03-08 12:28:30 +01:00
Alexandre Julliard 7879b8e349 user32: Get rid of the RegisterClipboardFormat driver entry point. 2011-03-07 17:06:50 +01:00
Alexandre Julliard 59fb0ad174 winex11: Register clipboard formats only once they are actually used. 2011-03-07 17:06:42 +01:00
Alexandre Julliard c7d2a4dddf winex11: Remove the unused clipboard format flags. 2011-03-07 16:59:39 +01:00
Alexandre Julliard b1af55d551 winex11: Don't unmap off-screen windows on PropertyNotify events. 2011-03-07 15:11:10 +01:00
Erich Hoover 2a02649341 winex11: Use GetCursorFrameInfo to obtain animated frame delay. 2011-03-07 15:10:25 +01:00
Alexandre Julliard 383d8ac105 user32: Remove GetClipboardFormatName from the user driver interface. 2011-03-04 16:25:52 +01:00
Alexandre Julliard 57921fec3a winex11: Always reference clipboard formats by atom instead of name. 2011-03-04 10:52:25 +01:00
Alexandre Julliard f15e91a883 winex11: Pre-register atoms for all the built-in clipboard formats. 2011-03-03 21:27:34 +01:00
Alexandre Julliard ade3b4f148 winex11: Add a debug helper for printing clipboard formats. 2011-03-03 21:16:34 +01:00
Alexandre Julliard 7aa4acb80a winex11: Convert the clipboard format list to a standard Wine list. 2011-03-03 20:56:21 +01:00
Alexandre Julliard bfa753ba55 winex11: Convert the clipboard data list to a standard Wine list. 2011-03-03 20:56:05 +01:00
Peter Urbanec 0ea8bf17fa wintab32: Better handling of XInput initialisation errors. 2011-03-03 17:47:14 +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 731f5b0b7b winex11: Fetch the key state from the server when adjusting state on KeymapNotify and key events. 2011-03-02 12:24:32 +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 8f88d4fe78 winex11: Pass a window handle for keyboard hardware messages too. 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
André Hentschel c7089361b2 winex11.drv: Quiet a noisy FIXME. 2011-02-28 15:50:49 +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
Nicholas Niro 7aff865e8e winex11.drv: Add proper initialization for border_pixel. 2011-02-15 17:01:44 +01:00
Henri Verbeet b44bdfd20a winex11.drv: Only query for XShm on first use. 2011-02-02 12:23:59 +01:00
Dmitry Timoshkov 38167e71d1 winex11.drv: Make sure that default clipping region exists before calling ExcludeUpdateRgn(). 2011-02-01 18:14:08 +01:00
Alexander Scott-Johns 356eaa1ee2 winex11.drv: Improve error handling in bitmap synthesizing code. 2011-01-31 17:39:51 +01:00
Alexander Scott-Johns d2d4fe67be winex11.drv: Remove unused constant, and fix a comment. 2011-01-31 17:39:51 +01:00
Alexander Scott-Johns e81e49787c winex11.drv: Remove broken HeapFree call. 2011-01-31 14:05:39 +01:00
Alexander Scott-Johns 42fc3b6430 winex11.drv: Implement synthesizing the CF_ENHMETAFILE clipboard format from CF_METAFILEPICT. 2011-01-28 17:41:51 +01:00
Dmitry Timoshkov 3e850b5b14 winex11.drv: Associate the real DC transformation with cached font data.
This matches what WineEngCreateFontInstance() does, and makes applications
which set custom axes directions using different window/viewport extents
display text correctly.
2011-01-24 14:43:26 +01:00
Austin English 8ec262ef0d winex11.drv: Use consistent formatting in a TRACE(). 2011-01-05 17:54:58 +01:00
Alexandre Julliard 66814d0dd6 winex11: Make the tool window flag take precedence when setting the window type.
This prevents some menus from being marked as dialogs.
2010-12-28 16:35:40 +01:00
Andrew Nguyen a7346e9fc8 winex11.drv: Enhance the wrapper functions for WGL_EXT_swap_control. 2010-12-27 15:39:41 +01:00
Alexandre Julliard 477c085e4d winex11: Potentially update the system tray notification position when any foreign window is moved. 2010-12-15 17:17:39 +01:00
Alexandre Julliard ace20fae86 winex11: Add support for displaying system tray notification balloons. 2010-12-15 17:17:26 +01:00
Alexandre Julliard ab60be7b11 winex11: Store information needed for the info balloon in the tray icon structure. 2010-12-15 16:06:05 +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 026d41c504 winex11: Only map the window the first time that WS_VISIBLE is set through WM_SETREDRAW. 2010-12-09 19:45:34 +01:00
Wolfram Sang 27d2b9b814 winex11.drv: In GetDIBits() with DIB sections, always use dibpitch from the target. 2010-12-02 19:20:45 +01:00
Marcus Meissner a8c50b12f5 winex11.drv: Do not include XFORM.eDx and eDy into font hashing/caching. 2010-11-30 11:00:43 +01:00
Alexandre Julliard 30554d4ef1 user32: Check structure size in GetGUIThreadInfo. 2010-11-16 21:54:03 +01:00
Alexandre Julliard 20bc10c354 winex11: Properly forget about a foreign window when it's destroyed through DestroyWindow(). 2010-11-15 20:41:07 +01:00
Andrew Nguyen 1579ab0e01 winex11.drv: Set last error to ERROR_BUSY when attempting to delete a cross-thread context in wglDeleteContext. 2010-11-08 18:12:58 +01:00
Andrew Nguyen c4a8de92c4 winex11.drv: Ensure that the WGL context is removed from the context list in wglDeleteContext. 2010-11-08 18:12:58 +01:00
Alexandre Julliard 5d570706c6 winex11: Create Win32 windows corresponding to all the ancestors of embedded windows.
This is needed to keep track of the embedded window position by
handling ConfigureNotify received by ancestors.
2010-11-08 15:46:49 +01:00
Alexandre Julliard abb559dd7a winex11: Add support for having a drawable associated to non-toplevel windows. 2010-11-08 15:46:34 +01:00
Alexandre Julliard a8063e8b8b winex11: Handle GravityNotify events for non-toplevel windows. 2010-11-08 15:24:00 +01:00
Alexandre Julliard 9bce7fcb87 winex11: Add support for receiving ConfigureNotify events on non-toplevel windows. 2010-11-08 15:20:51 +01:00
Vladimir Panteleev 208aeedcda winex11: Correctly handle non-RGB COLORREFs in BRUSH_SelectSolidBrush. 2010-11-08 13:30:20 +01:00
Vladimir Panteleev d7d5fb0abf winex11: Add X11DRV_PALETTE_GetColor function to resolve any COLORREF to an RGB. 2010-11-08 13:30:20 +01:00
Alexandre Julliard 8f24cd05b1 winex11: Sync the window attributes when switching a window to embedded. 2010-11-05 17:15:34 +01:00
Alexandre Julliard de983c2268 winex11: Don't try to unmap systray windows, it confuses some systray docks. 2010-11-05 17:15:33 +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 5a4580730d winex11: Re-dock icons when the system tray owner has changed. 2010-11-02 10:32:40 +01:00
Alexandre Julliard 68f497bdcc winex11: Improve management of the lifetime of embedded windows. 2010-11-02 10:32:40 +01:00
Alexandre Julliard 757845c7c6 winex11: Manage the system tray stand-alone window in x11drv for non-desktop mode. 2010-11-01 19:19:58 +01:00
Hans Leidekker 898a4cfaec winex11: Implement EnumICMProfiles. 2010-10-26 15:24:18 +02: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
Andrew Nguyen f340b64fb8 winex11.drv: Avoid relying on PATH_MAX in X11DRV_FONT_InitX11Metrics helper. 2010-10-11 17:11:28 +02:00
Andrew Nguyen 093ae8b691 winex11.drv: Use a separate string buffer for X11R6 font check. 2010-10-11 17:11:28 +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 84102e758f winex11: Mirror the DC exposure region for RTL devices. 2010-10-05 11:01:21 +02:00
Alexandre Julliard 536fc57091 winex11: Force setting the cursor again on the first mouse event in case the initial setting failed. 2010-09-30 17:51:18 +02:00
Alexandre Julliard 6ee4521886 server: Pass the rectangle in client coordinates for update_window_zorder. 2010-09-27 21:12:49 +02:00
Alexandre Julliard 5594c4eba8 winex11: Mirror the window region for RTL windows. 2010-09-27 21:06:38 +02:00
Damjan Jovanovic a4f3cabb5f winex11.drv: Translate the drop point to the virtual screen. 2010-09-22 19:56:10 +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 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Dmitry Timoshkov 7864ade5a8 winex11.drv: Avoid copying invalid window bits. 2010-09-14 09:43:09 -05:00
Dmitry Timoshkov c912af04de winex11.drv: Avoid copying window bits if the window didn't move. 2010-09-14 09:43:03 -05:00
Juan Lang 6d20893b1e winex11.drv: ImeInquire's second parameter is an output parameter. 2010-09-13 14:47:14 -05:00
Alexandre Julliard 7295b6746d user32: Add support for fetching window rectangles relative to various origins. 2010-09-07 14:31:30 +02:00
Gerald Pfeifer 0aa27296d3 winex11.drv: Fix comment for #endif. 2010-09-07 11:23:51 +02:00
Alexandre Julliard ebcd07a98b winex11: Properly support BitBlt and LAYOUT_BITMAPORIENTATIONPRESERVED in mirrored contexts. 2010-09-02 10:51:31 +02:00
Alexandre Julliard 2cca18dd6e winex11: Break positioning of graphics in mirrored contexts to be broken the same way as Windows. 2010-09-02 10:50:55 +02:00
Francois Gouget e7fbc9dece winex11.drv: Fix compilation on systems that don't support nameless unions. 2010-08-30 11:26:46 +02:00
Ken Thomases b952751158 winex11: Pass window property to server in 64KB chunks.
Large clipboard contents, like images, can exceed the maximum X request size
if sent all at once, which can cause the X server to kill the connection.
2010-08-24 15:22:34 +02:00