Commit Graph

251 Commits

Author SHA1 Message Date
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
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 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
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 84102e758f winex11: Mirror the DC exposure region for RTL devices. 2010-10-05 11:01:21 +02:00
Alexandre Julliard ebcd07a98b winex11: Properly support BitBlt and LAYOUT_BITMAPORIENTATIONPRESERVED in mirrored contexts. 2010-09-02 10:51:31 +02:00
Dmitry Timoshkov a56df96a0e winex11: Remember last window that had the XIC focus and use it in ToUnicode() to make dead keys work more reliably. 2010-07-26 18:38:31 +02:00
Alexandre Julliard f57c1b77dd gdi32: Get rid of the GetDCOrgEx driver entry point, GDI can implement this itself now. 2010-07-26 18:38:31 +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 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 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 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 ea1d71c7a4 winex11: Set the NET_WM_ICON hint for 32-bpp icons. 2010-04-16 16:23:33 +02:00
Alexandre Julliard 246e3732c0 winex11: Use the BITBLT_GetVisRectangles helper function for AlphaBlend too. 2010-04-15 14:39:37 +02:00
Alexandre Julliard 39493b0660 winex11: Define a structure to hold coordinates information for BitBlt operations. 2010-04-15 14:39:33 +02:00
Roderick Colenbrander c29cf05919 winex11: Add support for 32-bit DDBs. 2010-04-13 13:06:32 +02:00
Henri Verbeet f331fe4c27 winex11.drv: Store if a bitmap is top-down in X_PHYSBITMAP.
GetObject() is supposed to return the absolute height, and there's no other
way to retrieve this information after the bitmap is created.
2010-03-01 14:03:33 +01:00
Kusanagi Kouichi 10789142fc winex11.drv: Check XDND version. 2010-02-22 11:55:42 +01:00
Kusanagi Kouichi f7b18148d4 winex11.drv: Keep the state of XIM and IME consistent. 2010-02-22 11:55:25 +01:00
Kusanagi Kouichi 4ccbcb02b2 winex11.drv: Handle result string directly. 2010-02-16 12:28:41 +01:00
Roderick Colenbrander 3afa657636 winex11: Fix palette conversion bug.
The LookupPixel code assumed we want to convert pixels to the format
corresponding the default color shifts.
2010-02-16 11:32:44 +01:00
Alexandre Julliard 00b06dac85 winex11: Don't process ConfigureNotify events that have been superseded by a later configure request. 2010-01-04 17:56:32 +01:00
Rob Shearman e4888b0e3c winex11.drv: Empty clipboard cache on process unload to avoid false positives being reported for memory leaks. 2009-12-30 13:39:55 +01:00
Vincent Povirk 1bd13dec61 winex11.drv: Generate text/html clipboard data from HTML Format. 2009-11-23 13:34:15 +01:00
Roderick Colenbrander 14e21d955a winex11: Add X11DRV_XRender_SetDeviceClipping for syncing the clipping region with XRender pictures. 2009-10-14 14:01:34 +02:00
Alexandre Julliard 344cf57f1b winex11: Rename the XRENDERINFO type to make it clear it's a pointer. 2009-10-08 12:10:59 +02:00
Alexandre Julliard fa6ffb4d5d Fix empty function prototypes. 2009-10-07 12:24:53 +02:00
Roderick Colenbrander 6b8753185f winex11: Add support for 16-bit/32-bit DIB sections. 2009-10-01 13:47:53 +02:00
Alexandre Julliard 89c91ac0b1 winex11: Remove BITBLT_InternalStretchBlt now that it's identical to X11DRV_StretchBlt. 2009-09-30 20:56:56 +02:00
Roderick Colenbrander 9465700083 winex11: Don't use ColorShifts for non-TrueColor bitmaps. 2009-09-25 13:16:56 +02:00
Roderick Colenbrander efa37f56ec winex11: Add helper function for copying brushes. 2009-09-10 12:13:45 +02:00
Roderick Colenbrander 4ef7bd6943 winex11: Add helper function for calculating ColorShifts. 2009-09-09 16:25:24 +02:00
Dmitry Timoshkov 9dbdd708e3 winex11.drv: Handle WM_DELETE_WINDOW by simulating clicking the caption Close button. 2009-09-09 12:18:28 +02:00
Roderick Colenbrander 5db05dfea9 winex11: Use ColorShifts data in X11DRV_PALETTE_ToLogical. 2009-09-02 16:09:07 +02:00
Roderick Colenbrander 5fc017c497 winex11: Use ColorShifts from physDev in X11DRV_PALETTE_ToPhysical. 2009-09-02 16:08:36 +02:00
Roderick Colenbrander 3ad349f316 winex11: Prepare X11DRV_PALETTE_ToPhysical/_ToLogical for a new ColorShift structure. 2009-09-02 16:07:41 +02:00
Roderick Colenbrander 3878b4810e winex11: Introduce a new function for looking up the physical color of a pixel for use with colormap generation-like functions.
This prepares to a rewrite of X11DRV_PALETTE_ToPhysical which requires
the physDev for retrieving the color shifts.
2009-09-02 16:07:11 +02:00
Henri Verbeet 9fd29492c1 winex11.drv: Add support for XShm pixmaps.
Most of this is "Copyright 2004 Huw Davies for CodeWeavers", I just did a
little bit of integration.
2009-08-06 17:26:31 +02:00
Roderick Colenbrander 6a1aa9b166 winex11: XRenderComposite can be inaccurate when scaled x / y source coordinates are passed to it.
Moving this translation to the transformation matrix fixes the problem.
2009-07-24 13:10:12 +02:00
Roderick Colenbrander 618b410aa8 winex11: Add a function for retrieving the bitmap GC. 2009-07-16 11:19:34 +02:00
Roderick Colenbrander 004eabfbd3 winex11: Add an XRender based GetSrcAreaStretch. 2009-07-13 11:58:26 +02:00
Vincent Povirk 6259aeaacb winex11.drv: Link the windows JFIF format to the X image/jpeg format. 2009-06-22 11:22:23 +02:00
Vincent Povirk e4663206be winex11.drv: Link the windows PNG format to the X image/png format. 2009-06-22 11:22:19 +02:00
Francois Gouget c642481305 winex11.drv: Replace an strdup() with HeapAlloc() in the OpenGL code.
Free the corresponding memory when the library is unloaded.
2009-05-26 14:25:12 +02:00
Andrew Talbot f63ceec432 winex11.drv: Declare some functions static. 2009-01-30 11:43:41 +01:00
Damjan Jovanovic 3613b15785 winex11: Support the startup notification fd.o spec. 2009-01-07 14:17:46 +01:00
Maarten Lankhorst 0a6459598a user32/winex11.drv: Change all user32 operations to use CDECL. 2008-12-23 13:06:04 +01:00
Maarten Lankhorst 131d0a79a1 gdi32/winex11.drv: Change all gdi/opengl operations to use CDECL calling convention. 2008-12-23 13:02:33 +01:00
Aric Stewart b3d308b96f x11drv: Allow ActivateKeyboardLayout to set the keyboard for the thread and GetKeyboardLayout to return the stored keyboard. 2008-12-18 14:19:13 +01:00
Maarten Lankhorst 602b9b0833 winex11.drv: Make XIM functions hidden. 2008-12-17 15:02:25 +01:00
Alexandre Julliard e48283bedd winex11: Remove some unused functions. 2008-12-03 12:10:21 +01:00
Kusanagi Kouichi fcaeffb7b4 winex11: Implement large data transfers. 2008-11-05 16:43:10 +01:00
Muneyuki Noguchi edd24b613f winex11: Prevent XCreateIC from returning NULL when input style isn't "root". 2008-10-20 13:58:20 +02:00
Dmitry Timoshkov 9aaa24091f winex11.drv: Add support for _NET_WORKAREA. 2008-10-02 10:40:13 -05:00
Alexandre Julliard be3c3a5214 winex11: Driver-side implementation of SetLayeredWindowAttributes.
Based on a patch by Rob Shearman.
2008-09-12 15:54:02 +02:00
Alexandre Julliard 9d45cfde33 winex11: Support setting the window region on windows belonging to other threads. 2008-09-08 15:51:08 +02:00
Alexandre Julliard 370368aace winex11: Moved the X11DRV_WindowMessage function to window.c. 2008-09-08 15:42:24 +02:00
Alexandre Julliard 90ef43ab26 winex11: Allocate image data from the process heap where possible. 2008-08-29 13:34:11 +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 2d9b38133b winex11: Add support for performing GL calls on a top-level window DC. 2008-05-28 17:52:06 +02:00
Alexandre Julliard 30a133fe00 winex11: When re-creating a client window check the new visual against the current one instead of the default one. 2008-05-13 10:43:48 +02:00
Huw Davies 80157c2fa6 winex11.drv: Rename X11DRV_DIB_BitmapInfoSize to bitmap_info_size and fix to take into account bit field masks. 2008-05-02 16:07:50 +02:00
Alexandre Julliard 4a37308389 winex11: Register IME classes only when needed. 2008-05-01 10:57:34 +02:00
Kusanagi Kouichi bf05ded740 winex11: Allow XIM server to be started after Wine. 2008-04-29 13:49:16 +02:00
Alexandre Julliard 2bbf00ed08 winex11: Don't put window manager decorations on shaped windows. 2008-04-29 12:46:16 +02:00
Alexandre Julliard 855308fd95 winex11: Merged the contents of winpos.c into window.c. 2008-04-23 15:32:58 +02:00
Alexandre Julliard 39f2a08277 winex11: Moved the X11DRV_resize_desktop function to desktop.c. 2008-04-23 15:22:17 +02:00
Alexandre Julliard 31ed6473be winex11: Moved the ConfigureNotify handler to event.c. 2008-04-22 16:56:31 +02:00
Alexandre Julliard 9727aa8123 winex11: Use SetWindowPos to invalidate DCEs when changing the pixel format. 2008-04-21 20:32:22 +02:00
Kusanagi Kouichi bb8d1ca672 winex11: Update caret position. 2008-04-18 13:57:15 +02:00
Alexandre Julliard 64e8128409 winex11: Moved the MapNotify handler to event.c. 2008-04-17 16:13:12 +02:00
Alexandre Julliard 585da9296d winex11: Moved the ExposeEvent handler to event.c.
Use consistent naming for all event handlers.
2008-04-17 16:09:26 +02:00
Matthew D'Asaro 4217fcb187 winex11: Add registry option to let wine decorate windows. 2008-04-11 13:11:17 +02:00
Kusanagi Kouichi 185157cb6e winex11: Connect to XIM server dynamically. 2008-04-10 12:45:56 +02:00
Alexandre Julliard 5c30e9ae00 winex11: Separate the XIM process-wide setup from the IME creation. 2008-04-10 12:29:01 +02:00
Alexandre Julliard a0ac99c536 winex11: Add some generic support for XEMBED client windows. 2008-04-09 15:46:33 +02:00
Alexandre Julliard 52246fb921 winex11: Move all the embedded systray window support to winex11.drv. 2008-04-08 15:47:36 +02:00
Aric Stewart 6dca48feaf winex11: Add IME functionality to winex11drv.
All XIM interaction will soon pass through this functionality instead
of directly to imm32.
2008-04-07 20:44:43 +02:00
Alexandre Julliard 3bfa90eeda winex11: Fix handling of property sizes for 64-bit platforms. 2008-04-07 11:41:54 +02:00
Alexandre Julliard 86675edfee winex11: Replace the lock_changes flag by a check on the event currently being processed. 2008-04-02 16:43:49 +02:00
Alexandre Julliard a442d3b46d winex11: Rely on PropertyNotify events instead of Map/UnmapNotify to detect iconification. 2008-04-02 15:59:12 +02:00
Alexandre Julliard 5977c72325 winex11: Store a pointer to the X11 event currently being handled instead of a simple count. 2008-03-13 13:35:02 +01:00
Alexandre Julliard cf76c7d65c winex11: Check if _NET_WM_MOVERESIZE is supported before using it. 2008-03-12 17:31:04 +01:00
Alexandre Julliard dc26f27835 winex11: Moved support for window moving/resizing back to user32. 2008-03-12 15:01:24 +01:00
Hans Leidekker 22f146f011 winex11.drv: Retrieve X color profile in GetICMProfile. 2008-03-05 19:46:59 +01:00
Alexandre Julliard d0e14bf709 winex11: Wait for a window to move out of withdrawn state before withdrawing it again. 2008-03-05 16:52:22 +01:00
Alexandre Julliard 3b6f95c663 winex11: Add a DestroyNotify handler to catch a situation that is not supposed to happen. 2008-03-05 16:51:09 +01:00
Alexandre Julliard 9238ccca48 winex11: Set the appropriate _NET_WM_STATE properties for maximized windows. 2008-03-01 13:30:58 +01:00
Alexandre Julliard 7af2a9a902 winex11: Avoid depending on win.h. 2008-02-29 13:44:55 +01:00
Alexandre Julliard 63dd1a02ca winex11: Merge the iconification support into the SetWindowPos driver backend. 2008-02-28 17:01:10 +01:00
Alexandre Julliard b76db19e88 winex11: Use XWithdrawWindow to unmap managed windows, and wait until they are withdrawn before mapping them again. 2008-02-27 19:13:09 +01:00
Alexandre Julliard 5a5344b4ad winex11: Added tracking of the WM_STATE window property. 2008-02-27 19:11:43 +01:00
Alexandre Julliard 9939b7b430 winex11: Clear the NET_WM_STATE status when a window is withdrawn.
Change WM_STATE to NET_WM_STATE in variable and function names to
avoid confusion with the ICCCM WM_STATE property.
2008-02-27 18:01:31 +01:00
Alexandre Julliard 1642fbcbc2 user32: Moved the DCE support from winex11 back to user32.
Window and class DCEs are now allocated lazily.
2008-02-25 15:59:19 +01:00
Alexandre Julliard 30f068a0b3 winex11: Correctly initialize the cursor in a newly-created thread. 2008-02-25 13:32:45 +01:00
Roderick Colenbrander 220163ee9d wgl: Remove unneeded opengl initialisation code at wine startup. 2008-02-25 12:17:10 +01:00
Alexandre Julliard e9307d09a6 winex11: Keep track of the window colormap and free it on destroy. 2008-02-21 20:23:32 +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
Alexandre Julliard 3bd142e907 winex11: Use GetDCHook to retrieve the dce pointer instead of storing it in the physdev structure. 2008-02-18 12:08:55 +01:00
Alexandre Julliard e14261dbb7 winex11: Use the gdi display when initializing the keyboard to avoid creating a second display connection. 2008-02-06 20:37:41 +01:00
Alexandre Julliard 0d30daa8e4 winex11: Abstract the depth->bpp conversion and use it in X11DRV_DIB_CreateDIBFromPixmap. 2008-02-04 14:36:18 +01:00
Alexandre Julliard d6f6745c9c user32: Moved the bulk of CreateWindow and SetWindowPos from the driver back into user32. 2008-01-24 11:23:09 +01:00
Alexandre Julliard 026974f5be winex11: Create the window data structure lazily, once the window is made visible. 2008-01-24 10:20:51 +01:00
Alexandre Julliard 9fc4e5f740 winex11: Add a mapped flag to the window data instead of relying on WS_VISIBLE. 2008-01-23 12:28:32 +01:00
Alexandre Julliard bbfbe24681 winex11: Update the win data rectangles before doing anything else in SetWindowPos. 2008-01-23 12:28:01 +01:00
Alexandre Julliard f1a0348b4e winex11: Make the client rect relative to the parent window for consistency with the server side. 2008-01-22 20:08:56 +01:00
Alexandre Julliard c5a95025cf winex11.drv: Moved initialization of screen_width/height to xinerama_init to do it inside the x11 lock. 2008-01-17 19:59:22 +01:00
Alexandre Julliard c19af910eb winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.
Handle desktop size changes by sending a message to the desktop owner.
2008-01-17 19:53:59 +01:00
Stefan Dösinger ccab10bd46 winex11: Distinguish between bpp and depth. 2007-12-17 12:24:51 +01:00
Dmitry Timoshkov a7dba33cf3 winex11.drv: Use registry settings as a default display mode. 2007-12-05 12:21:32 +01:00
Alexandre Julliard 83fd17f216 winex11.drv: Set the WM_STATE_ABOVE hint on topmost windows. 2007-10-31 18:13:20 +01:00
Francois Gouget 860cf251f6 winex11.drv: The 'lossy' parameter is always false so remove it. 2007-10-15 12:04:54 +02:00
Alexandre Julliard a0019801eb winex11: Set the SKIP_PAGER and SKIP_TASKBAR styles on tool windows. 2007-10-11 16:24:28 +02:00
Alexandre Julliard 8a87429d12 winex11: Add generic mechanism for managing WM_STATE properties. 2007-10-11 16:24:28 +02:00
Alexandre Julliard 771d61a886 winex11: Use ExtEscape to flush the GL drawable to the physdev.
Based on a patch by Chris Robinson.
2007-10-10 17:33:35 +02:00
Chris Robinson 37d835bf9a winex11: Use a GLXPixmap for offscreen OpenGL rendering when XComposite isn't available. 2007-10-03 11:56:55 +02:00
Chris Robinson 3629ea4cfd winex11: Track async GL drawable changes. 2007-10-03 11:47:14 +02:00
Chris Robinson 86a9b76076 winex11: Pass a display parameter when destroying glxpixmaps. 2007-10-03 11:47:02 +02:00
Chris Robinson 00633e37bc winex11: Use an offscreen redirected window for child OpenGL rendering. 2007-10-03 11:46:52 +02:00
Chris Robinson a8124f97e6 winex11: Store a GL-specific drawable with the window. 2007-10-03 11:39:07 +02:00
Chris Robinson d9571c9e6f wgl: Store the fbconfig id with the window when a pixel format is set. 2007-09-18 09:28:06 +02:00
Alexandre Julliard effdfa7da4 winex11: Child windows don't get activated even when requested, so don't make them managed either. 2007-08-27 12:37:14 +02:00
Alexandre Julliard ac98e0c075 winex11: Switch windows to managed mode in SetWindowPos instead of at creation time. 2007-08-20 22:06:33 +02:00
Alexandre Julliard bde89576b3 winex11: Store wm hints in the window data instead of fetching them when needed. 2007-08-16 23:27:37 +02:00
Evan Stade 9b9e08c210 winex11.drv: Draw dashed lines for extended pens. 2007-07-19 12:04:00 +02:00
Damjan Jovanovic b6030cb26d winex11.drv: Added better support for the X file drag protocol. 2007-06-27 14:32:27 +02:00
Alexandre Julliard 072698c953 winex11.drv: Store the display file descriptor directly in the server message queue.
Get rid of a few WaitForMultipleObjectsEx hacks.
2007-04-04 18:02:53 +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
Andrew Talbot a33f71a32d winex11.drv: Replace inline static with static inline. 2007-03-17 20:04:54 +01:00
Aric Stewart 4f944f7f01 winex11.drv: Make sure keyboard state is up to date before processing GetAsyncKeyState. 2007-03-01 20:42:48 +01:00
Francois Gouget 3e6aa43229 winex11.drv: Catch and report screen resolution change errors. 2007-02-23 11:24:16 +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 291d7e05ce winex11drv: Make dxgrab global. 2006-12-29 20:54:46 +01:00
Ulrich Czekalla 4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +01:00
Pierre d'Herbemont e5e58a6b13 user32: Factorize driver's SetWindowPos in user32. 2006-11-29 14:05:33 +01:00
Alexandre Julliard 3cb51cd3c4 winex11.drv: Get rid of the DIB color table now that it's stored in gdi32. 2006-11-08 19:57:37 +01:00
Alexandre Julliard 3c305f9db9 winex11.drv: Preliminary support for Xinerama. 2006-10-23 14:37:17 +02:00
Pierre d'Herbemont 7d2917ced5 x11drv: Fix a typo in x11drv.h about X11DRV_GetTextExtentExPoint. 2006-10-18 12:35:35 +02:00
Nickolay V. Shmyrev 1a1b902e7f winex11.drv: Always set window type. 2006-10-12 11:37:52 +02:00
James Liggett 60a97505a6 winex11.drv: Add XEmbed system tray support.
Portions of this patch based on the work of Mike Hearn and Rob
Shearman.
2006-08-23 12:09:09 +02:00
Alexandre Julliard 241abf4e1b winex11.drv: Make some functions and variables static, and get rid of x11ddraw.h. 2006-08-02 13:21:58 +02:00
Roderick Colenbrander 98179f0656 winex11.drv: Kill DGA support. 2006-07-29 11:46:58 +02:00
Huw Davies f4e8169e9a winex11: Introduce a function to retrieve the glx drawable and have
both the GET_GLX_DRAWABLE Escape and SwapBuffers call it.
2006-06-26 12:36:02 +02:00
Dmitry Timoshkov ef72c1d100 winex11.drv: Add support for full screen window state using the NETWM protocol. 2006-06-21 11:15:19 +02:00