Commit Graph

402 Commits

Author SHA1 Message Date
Zhiyi Zhang 31445c3264 winex11.drv: Initialize monitor registry data.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:21:00 +02:00
Zhiyi Zhang eada617881 winex11.drv: Initialize adapter registry data.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:20:01 +02:00
Zhiyi Zhang bada31698f winex11.drv: Initialize GPU registry data.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:16:33 +02:00
Zhiyi Zhang 52a3d5db48 winex11.drv: Add Xinerama display device handler.
Display device handlers are used to initialize the display device
registry data. Different handlers can be implemented according to
the defined interface, for example, via Xinerama or XRandR.
With those registry data, EnumDisplayDevices, EnumDisplayMonitors
and GetMonitorInfo can be built on top of it.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 08:09:55 +02:00
Micah N Gorrell 0cb79db12a winex11.drv: Recreate gl_drawable for top-level windows as non-top level when clipping for child windows is required.
Prevent creating a gl_drawable for a window as type DC_GL_WINDOW if
there are known children of the window, since DC_GL_WINDOW does not
support clipping.

Recreate a gl_drawable that was previously create as type DC_GL_WINDOW
when a child is encountered.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15232
Signed-off-by: Micah N Gorrell <mgorrell@codeweavers.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:44:26 +02:00
Alexandre Julliard d7cd441373 winex11: Use the stored coordinates to convert back from X11 to window rectangle.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 10:54:00 +02:00
Andrew Eikum f74e8a2967 winex11.drv: Refcount the vulkan surface window.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-14 09:31:06 +02:00
Józef Kucia 913160d2a4 winex11: Introduce GAMMA_RAMP_SIZE.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-28 11:01:24 +02:00
Henri Verbeet 14ec499d5b winex11: Restore the X11DRV_FLUSH_GL_DRAWABLE XFlush() for setups without OML_sync_control.
This was removed in e75bc6228e, but appears to
mitigate lack of OML_sync_control in at least some setups.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-16 16:40:32 +01:00
Roderick Colenbrander 6a5c85564c winex11: Add Vulkan stubs.
Signed-off-by: Roderick Colenbrander <thunderbird2k@gmail.com>
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 12:47:17 +01:00
Alexandre Julliard 1ce36987eb winex11: Use the client window support also for XComposite child windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 15:49:23 +01:00
Alexandre Julliard 99041a6fd3 winex11: Store only the pixmap size instead of the window rectangle in the GL drawable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-09 13:10:25 +01:00
Alexandre Julliard e40ff92e7c winex11: Support using an ARGB visual as default visual.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-26 13:39:03 +01:00
Rafał Harabień 5c2526a086 winex11.drv: Preserve last error in x11drv_thread_data().
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-17 17:44:05 +01:00
Alexandre Julliard fc21a83a91 winex11: Store the process name at startup to avoid grabbing the loader lock again.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:12:08 +02: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
Alexandre Julliard 89f2dafe50 winex11: Export the TIMESTAMP clipboard property.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-28 23:17:16 +09:00
Alexandre Julliard 0aa7d402d2 winex11: Remove support for exporting the CF_OEMTEXT and CF_LOCALE formats.
They can be synthesized from CF_UNICODETEXT.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard c837adf38e winex11: Remove support for exporting the CF_BITMAP, CF_PALETTE and CF_DIBV5 formats.
They can be synthesized from CF_DIB.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 29fc759d52 winex11: Remove support for exporting the CF_METAFILEPICT format.
It can be synthesized from CF_ENHMETAFILE.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 82dfbba5c6 winex11: Remove support for owner-displayed clipboard formats.
It cannot work across prefixes, and it didn't work previously either.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-27 21:43:25 +09:00
Alexandre Julliard 4bbe8f90d4 winex11: Ignore X11 errors happening on the clipboard display connection.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 21:54:31 +09:00
Alexandre Julliard a52d09198d winex11: Run a single clipboard manager thread per window station, inside the explorer process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 21:53:52 +09:00
Alexandre Julliard 80d02bc849 winex11: Support import multiple drag&drop properties in a single call.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-22 22:15:10 +09:00
Alexandre Julliard 2215d770c5 winex11: Merge converting the selection and importing it.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-21 21:17:19 +09: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
Alexandre Julliard 10b526733f winex11: Implement FillPath, StrokeAndFillPath and StrokePath.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +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
Jactry Zeng c2dc6f3ef2 winex11: Implement FlashWindowEx.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 23:35:27 +09:00
Vincent Povirk 3d8353fe18 winex11.drv: Track external changes to _NET_WM_STATE in net_wm_state.
In some cases, WM's will modify the _NET_WM_STATE of our own windows.
Most notably, this can happen when the WM maximizes our window, but
mutter has been known to alter the fullscreen state as well. If we
want to reconfigure our window later, we'll probably have to remove
these states, which means we need to remember that they were set.
2015-07-02 20:38:54 +09:00
Alexandre Julliard 070a82e743 user32: Merge the AcquireClipboard and EmptyClipboard driver entry points. 2015-06-03 18:46:53 +09:00
Francois Gouget c223994b7a winex11.drv: Make X11DRV_XROPfunction static. 2015-03-16 15:03:39 +09:00
Damjan Jovanovic 1a20050826 winex11.drv: Support XDnD version 5. 2015-03-03 18:12:46 +09:00
Francois Gouget b1ac59b9e9 winex11.drv: Make X11DRV_PALETTE_ComputeColorShifts() static. 2015-01-05 20:17:08 +01:00
Damjan Jovanovic e339e0d476 winex11.drv: Use the clipboard functions and formats to import selections that XDND doesn't support. 2014-06-12 18:09:34 +02:00
Ken Thomases 809166def7 winex11: Remove set-but-never-read hwnd and fbconfig_id fields of struct x11drv_escape_set_drawable. 2014-04-01 10:44:57 +02:00
Frédéric Delanoy 323bec99b3 winex11.drv: Use BOOL type where appropriate. 2013-11-29 13:32:46 +01:00
Alexandre Julliard 13149b67d3 explorer: Create the driver desktop window after the window handle is created. 2013-10-16 12:13:50 +02: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
Alexandre Julliard 951415b602 winex11: Store the client window in the window data again, now that it can be accessed from all threads. 2013-01-23 19:06:32 +01:00
Alexandre Julliard defcfde17c winex11: Add an option to disable shaping of layered window to work around compositor bugs. 2013-01-02 18:09:34 +01:00
Alexandre Julliard 8e65485732 winex11: Fall back to normal expose processing for areas outside of the surface region. 2012-12-03 18:24:44 +01:00
Alexandre Julliard 11875bf40a winex11: Use the default anti-aliasing parameters from gdi32. 2012-11-05 16:25:48 +01:00
Alexandre Julliard 3ad40bf647 winex11: Delay mapping a layered window until its attributes are set. 2012-10-29 14:39:55 +01:00
Henri Verbeet f08854ac3d winex11: Avoid depending on ddraw.h. 2012-10-25 22:29:04 +02:00
Alexandre Julliard c6e0daa200 winex11: Recreate the GL drawable when changing the window parent. 2012-10-10 20:33:54 +02:00
Alexandre Julliard 47983d819f winex11: Create a surface even for OpenGL windows, to allow painting the non-client area. 2012-10-10 18:56:53 +02:00
Alexandre Julliard 4ac1a5ac60 winex11: Allow changing the pixel format of a window from a different thread. 2012-10-03 11:19:35 +02:00
Alexandre Julliard 28721d69f4 winex11: Get rid of the OpenGL GDI driver. 2012-10-02 22:06:06 +02:00
Alexandre Julliard d8de77f01e winex11: Pass the source drawable to the FLUSH_GL_DRAWABLE escape. 2012-10-02 21:50:54 +02:00
Alexandre Julliard e03b8e1a1d winex11: Use ARGB layered windows for system tray icons when supported. 2012-10-02 14:08:37 +02:00
Alexandre Julliard d8247efd5e winex11: Take the alpha channel into account to compute the region of layered windows. 2012-10-02 14:08:37 +02:00
Alexandre Julliard f12c1c6630 winex11: Switch to an ARGB visual for layered windows with per-pixel alpha. 2012-10-02 14:08:37 +02:00
Alexandre Julliard 8dcbeff760 winex11: Add support for per-window visuals. 2012-10-02 14:08:37 +02:00
Alexandre Julliard 014ec638d6 winex11: Remove some unused palette code. 2012-09-26 14:40:42 +02:00
Alexandre Julliard 3c57f11374 winex11: Create a default colormap along with the default visual info. 2012-09-26 14:40:40 +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 313157a036 winex11: Add window data structure locking to the remaining entry points. 2012-09-24 22:27:27 +02:00
Alexandre Julliard ba926faf91 winex11: Store the window display connection in the window structure. 2012-09-21 16:29:24 +02:00
Alexandre Julliard 16410ead78 winex11: Separate fetching the window icon bits and setting the WM hints. 2012-09-21 14:01:40 +02:00
Alexandre Julliard 4289c74f50 winex11: Allow retrieving the window data structure from another thread, with appropriate locking. 2012-09-17 14:13:24 +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 edea44f0ff winex11: Add support for the LWA_COLORKEY layered window attribute. 2012-09-12 16:00:18 +02:00
Alexandre Julliard 64dc6561cd winex11: Remove support for icon windows, use a default icon instead. 2012-09-10 16:22:08 +02:00
Alexandre Julliard a39659fcc9 winex11: Disable client-side rendering for OpenGL windows. 2012-09-10 16:16:05 +02:00
Alexandre Julliard 33ac850c80 winex11: Use window surfaces for rendering top-level windows.
It can be disabled by setting "ClientSideGraphics"="n".
2012-09-06 12:44:54 +02:00
Alexandre Julliard 514eb69584 winex11: Store the rectangle of the GL drawable and use it when updating the window size. 2012-09-04 15:03:04 +02:00
Alexandre Julliard ea07c310ec winex11: Create the whole window at window creation time. 2012-09-04 14:11:16 +02:00
Alexandre Julliard 9f042298f7 winex11: Move the GL drawable management to opengl.c. 2012-09-03 16:45:51 +02:00
Alexandre Julliard ef034e71e2 winex11: Treat the client window as an OpenGL drawable. 2012-09-03 16:45:51 +02:00
Alexandre Julliard fbac3194a5 winex11: Store the OpenGL drawable in a separate structure with its own context. 2012-09-03 16:45:51 +02:00
Alexandre Julliard 9980868b81 winex11: Get rid of the X11 locking functions. 2012-08-16 16:52:31 +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 f9a383323f winex11: Remove unnecessary cleanups on process exit. 2012-08-15 14:24:20 +02:00
Henri Verbeet 13820b6f94 winex11: Don't set MWM decorations either for fullscreen virtual desktops. 2012-08-13 16:28:50 +02:00
Alexandre Julliard 917fe72bb0 winex11: Get rid of the OpenGL bitmap support. 2012-07-27 17:05:29 +02:00
Alexandre Julliard 4b0f27f664 winex11: Get rid of the no longer needed drawable rect in the X11 device. 2012-07-12 16:05:37 -05:00
Henri Verbeet 6c4465f4ac winex11: Get rid of xrandr.h. 2012-07-09 15:05:02 -04:00
Henri Verbeet eafc8d0b34 winex11: Get rid of xvidmode.h. 2012-07-09 15:04:48 -04:00
Henri Verbeet 3ea8de2637 winex11: Use our own structure for mode information. 2012-07-03 14:57:07 +02:00
Henri Verbeet 0fda9d95a5 winex11: Get rid of some unused prototypes. 2012-07-02 19:18:01 +02:00
Alexandre Julliard 3e8b3d0f66 winex11: Add a GET_DRAWABLE escape to mirror the SET_DRAWABLE one. 2012-06-28 01:44:02 +02:00
Alexandre Julliard 191cd77320 winex11: Remove the support for device-dependent bitmaps. 2012-05-29 21:22:23 +02:00
Alexandre Julliard 73919154bf winex11: Always allocate a new GC for bitmap operations. 2012-05-29 21:12:39 +02:00
Alexandre Julliard 93758c43fd gdi32: Remove the CreateBitmap and DeleteBitmap driver entry points. 2012-05-29 21:06:41 +02:00
Alexandre Julliard 1416d0e6f1 gdi32: Remove the bitmap parameter from the Get/PutImage entry points. 2012-05-29 21:05:52 +02:00
Alexandre Julliard fdc4682e31 gdi32: Remove the CopyBitmap driver entry point. 2012-05-24 22:09:19 +02:00
Alexandre Julliard 995e2104df winex11: Always create the brush pixmap from the pattern bits. 2012-05-24 19:53:24 +02:00
Alexandre Julliard c2073b7ba2 winex11: Use the create_pixmap_from_image helper to create window icons. 2012-05-15 20:58:39 +02:00
Alexandre Julliard 3e8ad9a064 winex11: Add a helper to create a pixmap from an image. 2012-05-15 17:02:07 +02:00
Alexandre Julliard f99af0bb8f winex11: Add a helper to retrieve an image from a pixmap. 2012-05-14 14:17:25 +02:00
Alexandre Julliard b082b3acba winex11: Use an intermediate pixmap also for DDBs to handle format mismatches. 2012-05-09 17:37:36 +02:00
Alexandre Julliard 791a46658a winex11: Store the GL-specific information in the GL driver physdev. 2012-05-08 14:35:44 +02:00
Alexandre Julliard 5f99b59e77 winex11: Add an OpenGL GDI driver. 2012-05-08 14:35:42 +02:00
Alexandre Julliard a708448725 winex11: Define an enum to manage the various types of GL device contexts. 2012-05-07 13:10:18 +02:00
Alexandre Julliard 416240b781 winex11: Remove obsolete escapes. 2012-05-03 12:50:52 +02:00