Commit graph

58 commits

Author SHA1 Message Date
Ken Thomases
c3d2e43060 winemac: By default, make full-screen windows not float when not the active app.
Added a registry setting to control the behavior: WindowsFloatWhenInactive
with possible values "none", "all, and "nonfullscreen" which is the default.
2013-05-29 19:49:40 +02:00
Ken Thomases
939d9a906f winemac: Improve positioning of input method candidate window. 2013-05-17 12:14:51 +02:00
Ken Thomases
1a697e15b9 winemac: Implement SetCapture(). 2013-05-07 11:20:32 +02:00
Ken Thomases
3eee56668a winemac: Mouse drags don't imply anything about z-order of target window because of implicit capture. 2013-05-07 11:20:11 +02:00
Ken Thomases
1c7a2ba33b winemac: If an app opens a window shortly after its systray icon is clicked, activate it.
The Mac driver doesn't normally steal focus, but a click on the systray icon
counts as the user giving permission.
2013-04-25 11:44:42 +02:00
Ken Thomases
192b8dbf9d winemac: Implement an IME that uses the OS X input methods.
Developed with Aric Stewart.
2013-04-22 12:37:50 +02:00
Ken Thomases
f37153ac7d winemac: Initialize window surface to Mac-standard window background color instead of black. 2013-04-05 11:57:13 +02:00
Ken Thomases
fd1e187ac7 winemac: Handle a Cocoa quit request as a single-process session shutdown.
This lets programs ask the user to save documents, etc., and possibly cancel
the quit.
2013-04-04 12:16:31 +02:00
Ken Thomases
ca2d7140fb winemac: Add a delivery limit to events.
Some events are application-wide, not specific to a thread.  Such an event
needs to be broadcast to all GUI-attached threads because we don't know which
are handling events, but we don't want the event to be processed in each.
Often it should only be processed by the first to pull it from its queue.
2013-04-04 12:14:56 +02:00
Ken Thomases
1ee93853c2 winemac: Make macdrv_event structs heap-allocated and reference-counted. 2013-04-04 12:14:33 +02:00
Ken Thomases
b55d7aae10 winemac: Constify some macdrv_event pointer parameters. 2013-04-04 12:13:45 +02:00
Ken Thomases
a767ee99fa winemac: Track drawn surface region to reduce black flicker for new or resized windows. 2013-03-29 17:17:22 +01:00
Ken Thomases
9714e6ee63 winemac: Implement rudimentary support for system tray icons as Mac status items. 2013-03-25 14:02:56 +01:00
Ken Thomases
b1de532393 winemac: Set application Dock icon from first icon resource in process's .exe file. 2013-03-25 14:01:04 +01:00
Ken Thomases
7993bd3d90 winemac: Implement support for drag-and-drop. 2013-03-14 12:03:32 +01:00
Ken Thomases
4ae5b106f8 winemac: Enable pasteboard functions to operate on arbitrary pasteboards.
... not just the general pasteboard (although the general pasteboard is
still the default).
2013-03-14 12:02:36 +01:00
Ken Thomases
449e2655c2 winemac: Add support for delay-rendered (a.k.a. promised) clipboard data. 2013-03-11 10:53:38 +01:00
Ken Thomases
69e631e04e winemac: Add support for "query" events which wait for synchronous responses. 2013-03-11 10:53:32 +01:00
Ken Thomases
bf824ed38c winemac: Implement setting of clipboard data with support for text formats. 2013-03-11 10:53:26 +01:00
Ken Thomases
764a8edb09 winemac: Implement GetClipboardData() with support for text formats. 2013-03-11 10:53:21 +01:00
Ken Thomases
6b2b3e69f7 winemac: Implement CountClipboardFormats() with support for text formats. 2013-03-11 10:52:59 +01:00
Ken Thomases
3f3ee6393d winemac: Implement OpenGL support. 2013-03-06 12:56:12 +01:00
Ken Thomases
9b0fdc645f winemac: Implement ClipCursor(). 2013-02-25 10:40:39 +01:00
Ken Thomases
5c933c89ad winemac: Implement SetCursorPos(). 2013-02-25 10:40:39 +01:00
Ken Thomases
38f7a4d518 winemac: Implement GetCursorPos(). 2013-02-25 10:40:38 +01:00
Ken Thomases
a49df4b317 winemac: Implement SetCursor() and DestroyCursorIcon(). 2013-02-25 10:40:37 +01:00
Ken Thomases
d26a6bf451 winemac: Implement ChangeDisplaySettingsEx(). 2013-02-18 10:35:46 +01:00
Ken Thomases
bc75a9baff winemac: Implement DISPLAYS_CHANGED event for when display configuration has changed. 2013-02-18 10:34:55 +01:00
Ken Thomases
3748c39308 winemac: Implement MOUSE_SCROLL events. 2013-02-11 11:46:10 +01:00
Ken Thomases
572324bae3 winemac: Implement MOUSE_MOVED(_ABSOLUTE) events. 2013-02-07 12:04:49 +01:00
Ken Thomases
3fcb69b7ca winemac: Implement Beep(). 2013-02-06 20:28:28 +01:00
Ken Thomases
77de57683f winemac: Generate KEY_PRESS/RELEASE events from Cocoa key events. 2013-02-05 11:06:43 +01:00
Ken Thomases
d0e1a02515 winemac: Rebuild key map when Mac keyboard layout changes. 2013-02-05 11:06:27 +01:00
Ken Thomases
b78eee3172 winemac: Build a map from Mac virtual key codes to Win32 vkeys and scan codes based on Mac keyboard layout. 2013-02-05 11:06:02 +01:00
Ken Thomases
8a0c8d9264 winemac: Implement support for minimizing windows. 2013-02-05 11:05:23 +01:00
Ken Thomases
b564d97229 winemac: Implement an APP_DEACTIVATED event. 2013-01-28 14:03:51 +01:00
Ken Thomases
3c5973139f winemac: Implement a WINDOW_LOST_FOCUS event. 2013-01-28 14:03:45 +01:00
Ken Thomases
7863a230ec winemac: Implement a WINDOW_GOT_FOCUS event for when Cocoa tries to focus a window. 2013-01-28 14:03:40 +01:00
Ken Thomases
6cde62ac18 winemac: Take control over when a window can become focused away from Cocoa. 2013-01-28 14:03:18 +01:00
Ken Thomases
bd269786a5 winemac: Implement a MOUSE_BUTTON event for mouse clicks. 2013-01-28 14:02:45 +01:00
Ken Thomases
a22be47fcf winemac: Add infrastructure to convert from Cocoa event time to Wine tick count. 2013-01-28 14:02:08 +01:00
Ken Thomases
6e59740e18 winemac: Implement WINDOW_FRAME_CHANGED event to tell Wine when window is moved or resized. 2013-01-28 14:00:49 +01:00
Ken Thomases
ed367c504d winemac: Implement a WINDOW_CLOSE_REQUESTED event to allow closing windows. 2013-01-21 12:51:19 +01:00
Ken Thomases
177b67e6bd winemac: Make each Mac driver window track the HWND it's associated with. 2013-01-21 12:51:18 +01:00
Ken Thomases
207c4d193f winemac: Associate an event queue with each thread that creates windows and with each window. 2013-01-21 12:51:17 +01:00
Ken Thomases
3c995bb682 winemac: Add WineEventQueue class for conveying events from Cocoa to Wine threads. 2013-01-21 12:51:17 +01:00
Ken Thomases
b6d902ee46 winemac: Add a simple ERR() logging macro that can be used from Cocoa code. 2013-01-21 12:51:16 +01:00
Ken Thomases
c0d43fb51f winemac: Implement layered windows: SetLayeredWindowAttributes() and UpdateLayeredWindow(). 2013-01-15 12:17:02 +01:00
Ken Thomases
2d4bcc47be winemac: Implement SetWindowRgn. 2013-01-15 12:16:52 +01:00
Ken Thomases
7d6ebfa742 winemac: Implement window surface rendering. 2013-01-15 12:16:44 +01:00