Alexandre Julliard
c2a9b4a8dc
winex11: Add support for byte swapping in GetImage.
2011-07-14 12:56:26 +02:00
Alexandre Julliard
e6fcbc543e
winex11: Add an implementation for the GetImage entry point.
2011-07-14 12:53:51 +02:00
Alexandre Julliard
cf05fca878
gdi32: Add driver entry points for GetImage and PutImage.
2011-07-14 11:30:58 +02:00
Ken Thomases
ebebee5b9e
winex11.drv: Map Meta keys to VK_{L, R}MENU, not just VK_MENU.
...
This fixes a problem with X11DRV_KeymapNotify sending incorrect key-up events.
2011-07-13 15:00:10 +02:00
Ken Thomases
c4daf28186
winex11.drv: Fix X11DRV_KeymapNotify when multiple keycodes map to same vkey.
2011-07-13 15:00:00 +02:00
Alexandre Julliard
c7a8ff26d3
gdi32: Graphics driver functions no longer need to be CDECL.
2011-07-13 14:56:12 +02:00
Alexandre Julliard
715d810073
gdi32: Sort the OpenGL driver functions alphabetically.
2011-07-13 14:23:22 +02:00
Alexandre Julliard
605b2e6d52
winex11: Add a DC function structure and export it.
2011-07-13 14:05:07 +02:00
Alexandre Julliard
bfc12c0c94
gdi32: Pass the source/dest visible rectangles to the AlphaBlend driver entry point.
2011-07-11 17:12:49 +02:00
Alexandre Julliard
1ac1d7c69b
gdi32: Pass the dest visible rectangle to the PatBlt driver entry point.
2011-07-11 17:12:49 +02:00
Alexandre Julliard
8bd130b923
gdi32: Pass the source/dest visible rectangles to the StretchBlt driver entry point.
2011-07-11 17:12:49 +02:00
Alexandre Julliard
1805f123b0
gdi32: Compute StretchBlt rectangles in gdi32.
2011-07-11 17:12:33 +02:00
William Pettersson
266cd6c46a
winex11: Add grab for XInput2 ButtonPress event.
2011-07-11 11:53:52 +02:00
Alexandre Julliard
00647af50b
winex11: Use the HDC from the gdi_physdev structure.
2011-07-08 16:03:59 +02:00
Alexandre Julliard
6c951b7d0d
winex11: Pass a generic PHYSDEV to all graphics entry points.
2011-07-08 15:55:11 +02:00
Alexandre Julliard
4e2a28bd03
gdi32: Export the gdi_physdev structure for the external drivers.
2011-07-07 14:46:14 +02:00
Vincent Povirk
7a21d06295
winex11.drv: Process keyboard events when QS_HOTKEY is specified.
2011-07-06 19:43:52 +02:00
Alexandre Julliard
2e4b0b1ef4
winex11: Set the reported screen bpp based on the available pixmap formats.
2011-07-06 12:38:31 +02:00
Frédéric Delanoy
8c8df2c220
winex11.drv: Remove dead assignment (Clang).
2011-07-06 11:27:02 +02:00
Alexandre Julliard
6b0d9ff1cd
server: Allow setting a zero-size clip rectangle.
2011-06-21 15:04:24 +02:00
Alexandre Julliard
b3946a0a59
winex11: Don't enable XInput for devices reporting absolute coordinates.
2011-06-21 14:51:15 +02:00
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