Commit Graph

177 Commits

Author SHA1 Message Date
Alexandre Julliard d076dfa8e8 server: Update child window positions when resizing a mirrored parent. 2010-10-05 11:01:21 +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 d56ac06260 server: Mirror the window region for RTL windows in get/set_window_region and redraw_window. 2010-09-27 21:07:11 +02:00
Alexandre Julliard bc20ff50b6 server: Mirror the rectangles for RTL windows in set_window_pos. 2010-09-23 17:50:10 +02:00
Alexandre Julliard 3f026cafa5 user32: Add support for RTL window layouts in WIN_GetRectangles. 2010-09-22 20:28:20 +02:00
Alexandre Julliard 5702324b37 user32: Add support for RTL window layouts in MapWindowPoints. 2010-09-22 20:27:52 +02:00
Alexandre Julliard 7295b6746d user32: Add support for fetching window rectangles relative to various origins. 2010-09-07 14:31:30 +02:00
Dmitry Timoshkov dfe6ae58af user32: Protect from setting as a window owner one of its successors. 2010-08-04 17:35:22 +02:00
Dmitry Timoshkov 66e981ec8d server: Make layered windows transparent for mouse messages. 2010-06-11 14:16:03 +02:00
Alexandre Julliard adf9dcd6a7 user32: Fix Z-order handling of windows that have a top-most owner. 2010-02-19 13:05:08 +01:00
Alexandre Julliard 5dcf157b5b server: Hide a window before destroying it if it was still visible. 2009-06-03 11:29:15 +02:00
Alexandre Julliard f2c4e09e80 server: Make module handles always 64-bit. 2008-12-29 16:47:51 +01:00
Alexandre Julliard cb2788efaf server: Add a module_handle_t type to represent client-side module handles. 2008-12-29 16:41:44 +01:00
Alexandre Julliard 517b2f624d server: Windows properties are actually generic params, not handles. 2008-12-10 16:21:32 +01:00
Alexandre Julliard 31282b3f63 server: Define an lparam_t type for message parameters that can hold all sorts of data. 2008-12-10 16:01:50 +01:00
Alexandre Julliard d764107434 server: Make user handles ints instead of pointers. 2008-12-08 16:57:38 +01:00
Alexandre Julliard 05b4181cac server: Implemented the server side of Get/SetLayeredWindowAttributes. 2008-09-12 15:30:47 +02:00
Alexandre Julliard 0f9484a124 server: Set the visible rect in the set_window_pos request again.
This essentially reverts 2f69329a37.
We really need the visible rect to be set atomically with the rest of
the window position info.
2008-07-03 20:33:12 +02:00
Alexandre Julliard 42e2c99ce2 server: Fix a potential desktop reference leak. 2008-06-26 16:49:23 +02:00
Alexandre Julliard 6536868d07 user32: Make sure that IsWindowVisible returns FALSE for HWND_MESSAGE windows. 2008-06-25 15:49:44 +02:00
Alexandre Julliard 612c010431 user32: Add support for finding HWND_MESSAGE windows in FindWindowEx. 2008-06-25 15:30:22 +02:00
Alexandre Julliard 6b36e2131d server: Also return the top-level message window in the get_desktop_window request. 2008-06-25 14:44:06 +02:00
Alexandre Julliard 81e6edbda9 server: Add support for a top-level message parent window in parallel to the desktop window. 2008-06-25 14:43:39 +02:00
Alexandre Julliard 25e070c0ac server: Use a unicode_str to represent atom names. 2008-06-25 14:03:08 +02:00
Marcus Meissner a82455e627 server: Remove superflous empty region allocation. 2008-05-14 16:02:32 +02:00
Alexandre Julliard 30c0639b5a server: Crop the invalidate region against the rectangles of all parents. 2008-05-12 12:44:10 +02:00
Alexandre Julliard bc25119c6e server: Also crop the update region of children when moving a window. 2008-05-12 12:44:10 +02:00
Alexandre Julliard e02969ddf0 server: When moving/resizing a window crop the update region against the new rectangle of the parents. 2008-05-12 12:41:17 +02:00
Alexandre Julliard 34fe91bf2b user32: Implemented EnumDesktopWindows. 2008-03-19 11:13:46 +01:00
Alexandre Julliard b2ea572352 server: Fix desktop window coordinates mapping in expose_window. 2008-03-18 12:22:53 +01:00
Alexandre Julliard e42eaaaf3a server: Invalidate the newly exposed child region on the parent too if it doesn't clip children. 2008-03-03 17:52:18 +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 2921f5c156 server: Invalidate the correct region when custom valid rects are specified. 2008-01-22 20:06:35 +01:00
Alexandre Julliard 2f69329a37 server: Add a separate request to set the window visible rect. 2008-01-22 20:01:21 +01:00
Alexandre Julliard 30d84fcd77 user32,server: Set the initial window rectangles to 0,0-0,0. 2008-01-22 10:15:38 +01:00
Alexandre Julliard a54a990b3b server: Allow to specify the class name instead of the atom to find a window. 2007-11-02 15:26:49 +01:00
Alexandre Julliard 1fc461f98b server: Allow to specify the class name instead of the atom to create a window. 2007-11-02 15:16:25 +01:00
Alexandre Julliard c183a9e6e7 server: Added support for HWND_TOPMOST and HWND_NOTOPMOST. 2007-10-31 18:12:56 +01:00
Alexandre Julliard b843534357 server: Fix get_next/prev_window behavior for unlinked windows. 2007-10-31 18:08:19 +01:00
Alexandre Julliard 917f288f1b server: Also return the new extended style in the set_window_pos request. 2007-10-31 17:51:05 +01:00
Alexandre Julliard a771c53e27 server: Don't expose the parent window in areas that are now part of the child visible region. 2007-10-17 17:43:06 +02:00
Alexandre Julliard 952c82c271 server: Avoid refreshing areas of a window that have already been copied by the X server. 2007-10-17 17:28:04 +02:00
Alexandre Julliard 5874b854ee server: Clip the visible region of a window to the desktop window. 2007-09-20 19:38:50 +02:00
Alexandre Julliard df13cee288 server: Store a separate flag for windows that need to be erased in WM_PAINT.
This avoids the need to invalidate the window after WM_ERASEBKGND.
2007-08-27 16:41:08 +02:00
Alexandre Julliard 5bd497f3ca server: Moving a window should only expose the immediate parent. 2007-08-27 15:21:19 +02:00
Alexandre Julliard 149cbb1b60 server: Validate the parents every time we paint a window instead of only on RDW_UPDATENOW. 2007-08-23 20:22:30 +02:00
Vitaliy Margolen dcdf7c55d6 server: Treat desktop as a top-level window. 2007-07-23 11:53:06 +02:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Alexandre Julliard 1767b4558a server: Expose areas revealed by changes to the window region. 2007-03-05 16:43:27 +01:00
Ulrich Czekalla cae37b18fd wineserver: Validate the children of windows being hidden.
Prevents paint_count values from being skewed when hiding windows.
2007-01-26 12:55:47 +01:00
Ulrich Czekalla 4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +01:00
Alexandre Julliard 844374afaf server: Always ignore the root window position when computing coordinates offsets. 2006-10-26 13:04:52 +02:00
Michael Stefaniuc 5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02:00
Alexandre Julliard 81c1472449 user32: The per-window user data must be a DWORD_PTR. 2006-10-04 21:49:11 +02:00
Alexandre Julliard 0f273c17ff server: Added data_size_t type to represent sizes in the server protocol.
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Dmitry Timoshkov 19e7fab981 user: Improve SetActiveWindow test, add SetForegroundWindow test, make them pass under Wine. 2006-07-10 11:47:44 +02:00
Robert Shearman 38e74b3111 server: Don't attach the thread input when changing parents if the new
parent is the desktop (i.e. it is becoming a top-level window).
2006-06-08 10:26:15 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard 0fab85a5b6 server: Don't attach thread input to the desktop.
Now that the desktop can be owned by a thread we need to explicitly
check for it in the thread attach check.
2006-04-12 11:19:20 +02:00
Alexandre Julliard 2eb46bb464 explorer: Don't use ExitWindows on shutdown.
ExitWindows kills all current processes and that creates a race with
newly started processes. Instead, simply exit and let the new process
create a new explorer.
2006-04-07 20:26:47 +02:00
Alexandre Julliard 90af5a0d17 server: Connect to the window station and desktop specified by startup info.
If window station and desktop aren't inherited from the parent, don't
connect to them from the server, but from the USER init code where we
can get the proper values from the startup info structure.
2006-03-27 12:57:17 +02:00
Alexandre Julliard 641e9e382f server: Store window properties in the global atom table instead of
the per-winstation table.
2006-03-27 12:50:26 +02:00
Alexandre Julliard 1a4f6e579b user: Launch explorer to manage the desktop window. 2006-03-07 11:42:35 +01:00
Alexandre Julliard f978f615d8 server: Support for closing the desktop window.
If a thread is owning the desktop window, when all other users of the
desktop have exited, signal the owner to close the desktop (with a 1
second delay).
2006-03-06 21:02:24 +01:00
Alexandre Julliard 251be542ac server: Infrastructure for having a thread own the desktop window. 2006-03-06 20:37:52 +01:00
Alexandre Julliard 4be3d4c12b server: Return real parent and owner in the create_window request.
Remove computing of parent and owner handles on the client side.
2006-03-06 15:00:37 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard 5ad90c0f37 Tie windows and thread input structures to a specific desktop.
Support multiple desktop windows (one per desktop object).
Use the window desktop to find the window station to use for property
atoms.
2005-07-11 13:30:23 +00:00
Alexandre Julliard c3ac57dd86 Explicitly pass the winstation to the atom functions so that they can
be used even when current is not set.
2005-07-08 14:23:27 +00:00
Alexandre Julliard 8c518808b8 Put in place the basic infrastructure to allow supporting multiple
desktop windows.
2005-07-08 11:37:40 +00:00
Dmitry Timoshkov 86af38c8ca Make IsWindowUnicode work in the case when window belongs to another
process.
2005-07-07 12:02:31 +00:00
Alexandre Julliard 92fec7b67a Keep track of the windows and hooks used by a thread to properly
refuse to change the thread desktop when it's in use.
2005-06-28 19:37:52 +00:00
Alexandre Julliard db412aaf60 Added a from_child parameter to the get_update_region request to allow
restarting the search from a given child, in order to avoid looping
forever on windows that don't repaint correctly.
2005-05-31 13:37:16 +00:00
Alexandre Julliard 50dc5a30e1 Crop the update region to the new window rectangle when resizing a
window.
2005-05-26 12:28:07 +00:00
Rob Shearman b4b7f05dc3 Fix several memory leaks. 2005-05-23 09:53:06 +00:00
Alexandre Julliard 9e73cdde39 Allow passing a string to the window property server requests instead
of an atom to avoid redundant server round-trips.
2005-05-11 19:01:10 +00:00
Alexandre Julliard d70a253f40 Make sure a thread has a queue as soon as it creates a window. 2005-04-26 14:31:33 +00:00
Raphael Junqueira 962a5e7742 Fix potential region leak. 2005-04-11 12:54:53 +00:00
Alexandre Julliard bc75f2f6c9 Return the coordinates information needed to setup the DC parameters
in the get_visible_region request instead of requiring the client to
compute it again.
2005-03-31 15:36:57 +00:00
Alexandre Julliard eea706948a The update region passed in WM_NCPAINT and the clipping region passed
to GetDCEx have to be in screen coordinates.
2005-03-30 17:11:46 +00:00
Alexandre Julliard 4d32a475a8 Replace the link_window request by a set_parent request since that is
all link_window is used for at this point.
Get rid of the WIN_LinkWindow/UnlinkWindow functions.
2005-03-25 10:38:56 +00:00
Alexandre Julliard 5054c79880 Try to always keep the server window Z-order in sync with the X11 one
using a heuristic based on mouse and expose events.
2005-03-21 12:37:00 +00:00
Alexandre Julliard f75609087a Make the server know about the visible area of a window, which is the
window rect minus the caption and borders when they are handled by the
window manager.
2005-03-17 19:10:41 +00:00
Alexandre Julliard 4e47afb36f Compute the top clipping window directly on the server side. 2005-03-17 14:02:06 +00:00
Alexandre Julliard 705909ac09 Converted the window children lists to standard lists. 2005-03-16 19:54:33 +00:00
Alexandre Julliard b9a9de6eb9 Clear the internal paint flag in the server before returning a
WM_PAINT message to avoid an extra server round-trip.
2005-03-10 17:19:33 +00:00
Alexandre Julliard 1bc2caad02 Don't check children of minimized windows in get_update_region. 2005-03-09 11:49:46 +00:00
Alexandre Julliard 548c973457 Allow the client rectangle to be of arbitrary size and dimensions,
regardless of the window rectangle.
2005-02-22 19:41:43 +00:00
Robert Shearman 04995ce90d Don't overwrite last byte of the window structure as we might not have
allocated the memory for it if extrabytes was 0.
2005-02-08 12:07:48 +00:00
Alexandre Julliard ae661da49c Properly compute the client area valid rects and pass them to the
server in set_window_pos to avoid invalidating areas that remain
valid.
2005-02-03 13:40:12 +00:00
Alexandre Julliard 56206376b8 Desktop window is repainted on WM_ERASEBKGND, it must never get a
WM_PAINT.
2005-01-11 15:15:11 +00:00
Alexandre Julliard 5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Alexandre Julliard 085ef06bd5 Added is_window_visible function. 2004-10-27 21:54:41 +00:00
Alexandre Julliard 807fe07417 Don't bother to return partial region data in get_window_region and
get_visible_region, return STATUS_BUFFER_OVERFLOW instead.
2004-09-17 18:20:11 +00:00
Alexandre Julliard 4616dcb9a7 Moved the WindowFromPoint functionality to the server so that we can
properly take into account the window region.
2004-07-20 22:17:38 +00:00
Alexandre Julliard 3365eb7a2d get_visible_region: do not clip out siblings of the top-level window. 2004-07-06 23:54:49 +00:00
Alexandre Julliard 618a7e5813 Added support for window regions in the server. 2004-06-29 03:53:25 +00:00
Alexandre Julliard e8d86b7cd4 Moved visible region calculation to the server. 2004-06-23 20:44:58 +00:00
Alexandre Julliard bd13ab8d78 Store a pointer to the client-side class structure in the server and
return it on create_window and destroy_class.
Only create a single instance of the desktop class for the whole
session.
Added some missing locking in the client-side class management.
2003-12-11 05:34:53 +00:00
Alexandre Julliard bfce151ae5 Added window classes in the server, and support for inter-process
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.
2003-12-10 04:08:06 +00:00