Commit Graph

212 Commits

Author SHA1 Message Date
Ken Thomases d14f787192 winemac: Don't reorder clicked window relative to sibling owned windows if it's in the right place.
The right place may not be the end of the list of Cocoa child windows if some
of the siblings are at a higher window level (i.e. floating if the clicked
window is not).
2013-08-30 11:17:56 +02:00
Ken Thomases 1b9fac3b3d winemac: Don't generate scroll wheel events for axes with 0 delta. 2013-08-27 11:50:52 +02:00
Ken Thomases b755674df3 winemac: Don't unminimize a window for SetFocus(). 2013-08-27 11:50:52 +02:00
Charles Davis a157c7bd81 winemac.drv: Support the public UTF-16 type for Unicode text. 2013-08-22 22:06:43 +02:00
Ken Thomases 251160fef9 winemac: Always trace arguments in macdrv_ShowWindow(). 2013-08-21 12:13:56 +02:00
Ken Thomases 121eb08bae winemac: Improve tracing in sync_window_position() to include adjusted frame. 2013-08-21 12:13:56 +02:00
Ken Thomases d6624ee9f6 winemac: Remove a redundant memset of a struct. 2013-08-21 12:13:56 +02:00
Ken Thomases 20c3c80257 winemac: Create 1x1 Cocoa window with empty shape for zero-sized Win32 window. 2013-08-21 12:13:55 +02:00
Ken Thomases 87dd13150a winemac: Make cgrect_from_rect() preserve origin of empty rectangles. 2013-08-21 12:13:55 +02:00
Charles Davis 8a041504c8 winemac.drv: Advertise some legacy WGL extensions in the GL_EXTENSIONS string. 2013-08-16 11:55:23 +02:00
Ken Thomases 4b24fce4e2 winemac: Avoid using display palette API, which was deprecated with the 10.7 SDK. 2013-08-15 16:17:49 +02:00
Ken Thomases 47337ed14c winemac: Make a file-scope variable static. 2013-08-01 11:42:32 +02:00
Charles Davis 05a68dbc55 winemac.drv: Also return the number of pixel formats if the caller didn't supply a PIXELFORMATDESCRIPTOR. 2013-07-27 12:14:46 -05:00
Ken Thomases a39b02c3e7 winemac: Dispatch key-up events directly to window to be sure to get them.
For keys pressed in combination with Command, -[NSApplication sendEvent:]
simply doesn't pass the key-up event through to the window.  We have to
track which keys we've told Wine are pressed because Cocoa may consume
key-downs that trigger menus or system behaviors.
2013-07-09 10:30:45 +02:00
Ken Thomases a723af61ac Revert "winemac: Dispatch key events directly to window to be sure to get key-up events.".
This reverts commit 0d20ac02f7.
2013-07-09 10:30:43 +02:00
Ken Thomases 4f23821f08 winemac: Add registry setting to control setting display gamma ramp. 2013-07-09 10:28:43 +02:00
Ken Thomases 9e878cb92c winemac: Add registry setting to disable vertical sync. 2013-07-02 10:07:57 +02:00
Ken Thomases b7c7d09470 winemac: Add registry setting to control glFlush() skipping for single-buffer contexts and disable it by default. 2013-07-02 10:05:35 +02:00
Ken Thomases 967a49fcb2 winemac: Force swap interval to 0 for single-buffered contexts to avoid vsync'ed flushes. 2013-07-02 10:05:07 +02:00
Ken Thomases d30705bdfe winemac: Use screen color space for windows covered by OpenGL views. 2013-07-02 10:04:59 +02:00
Ken Thomases 941ce31adb winemac: Fix ordering of windows owned by same owner when on inactive desktop space. 2013-06-28 11:40:55 +02:00
Ken Thomases 0d20ac02f7 winemac: Dispatch key events directly to window to be sure to get key-up events.
For keys pressed in combination with Command, -[NSApplication sendEvent:]
simply doesn't pass the key-up event through to the window.
2013-06-28 11:40:41 +02:00
Ken Thomases 3c7bc8202c winemac: Avoid overdriving single-buffered GL if possible; the system throttles us.
Use glFlushRenderAPPLE(), if available, instead of glFlush() calls less
than 1/60th of a second since the last.
2013-06-21 11:57:42 +02:00
Ken Thomases a8efa5271b winemac: Fix off-by-one errors when indexing into pixel_formats array with 1-based pixel format number. 2013-06-21 11:56:37 +02:00
Alexandre Julliard 410b728c7b winemac.drv: Don't register IME classes before the dll is initialized. 2013-06-20 22:14:35 +02:00
Ken Thomases 153f3e27c4 winemac: Forcibly release mouse capture for clicks in Mac menu bar or app deactivation. 2013-06-20 11:31:25 +02:00
Ken Thomases 1d10457aee winemac: Also activate if a window is ordered front shortly after tray icon clicked.
... in addition to if one is focused.
2013-06-20 11:30:16 +02:00
Ken Thomases 92a67d4259 winemac: Don't complain that WM_MACDRV_ACTIVATE_ON_FOLLOWING_FOCUS is unrecognized. 2013-06-20 11:29:58 +02:00
Ken Thomases 300b231107 winemac: Cope with apps which return multiple DROPEFFECTs from IDropTarget::DragEnter() and DragOver(). 2013-06-18 13:16:23 +02:00
Ken Thomases f035cc73d0 winemac: Don't give windows focus on click if the click was sent to Wine.
Only clicks on the title bar (outside the close or minimize buttons) or the
grow box give windows focus.
2013-06-18 12:57:44 +02:00
Ken Thomases 3faf1a92b0 winemac: Don't bring disabled or no-activate windows forward when clicked. 2013-06-18 12:57:43 +02:00
Ken Thomases d22ac28f5e winemac: Allow clicks on owned windows to reorder them relative to other owned windows of the same owner. 2013-06-07 11:59:02 +02:00
Ken Thomases f6924b9603 winemac: Honor requests to order owned windows relative to other owned windows of the same owner. 2013-06-07 11:58:59 +02:00
Ken Thomases b96b565514 winemac: Command-clicks shouldn't give windows focus. 2013-06-07 11:58:52 +02:00
Ken Thomases e635952459 winemac: Actually switch Win32 focus away from a window that has lost Cocoa focus. 2013-06-07 11:57:50 +02:00
Ken Thomases 220b8b7946 winemac: Add an option to capture the displays for full-screen windows in addition to display mode changes.
Under HKCU\Software\Wine\Mac Driver, set string value
CaptureDisplaysForFullscreen to "y" to enable the new behavior.
2013-06-07 11:57:06 +02:00
Ken Thomases a6dc4906de winemac: Ignore window frame changes while minimized but check again when unminimized. 2013-06-04 15:01:15 +02:00
Ken Thomases 62a1907c9e winemac: Make windows key after unminimizing, if allowed.
We generally prevent Cocoa from making our windows key (focused) so that
Wine can be in control.  However, after unminimizing, Wine believes the
window is already focused but Cocoa doesn't, so key presses just cause beeps.
2013-06-04 15:01:12 +02:00
Ken Thomases b15f412e14 winemac: Allow Cocoa to make minimized windows key; it will unminimize them as necessary. 2013-06-04 15:01:08 +02:00
Ken Thomases f010a930df winemac: Improve the debug tracing in macdrv_SetWindowStyle(). 2013-06-04 15:01:03 +02:00
Ken Thomases f57db8a3de winemac: Keep old window surface for minimized windows to allow redrawing.
This improves the animation of the window unminimizing from the Dock in some
cases.  The window would often be blank or, for shaped windows, invisible
during that animation.
2013-06-04 15:00:59 +02:00
Ken Thomases b285c5706e winemac: Defer minimizing hidden windows until they are shown.
Minimizing invisible windows causes weird phantoms to appear in
Exposé, the Window menu, and the Dock.
2013-06-04 15:00:54 +02:00
Ken Thomases 841f158d81 winemac: Don't accidentally unminimize a window when trying to change z-order. 2013-06-04 15:00:31 +02:00
Ken Thomases 4c651e39e4 winemac: Don't unminimize a window on first activation during start-up. 2013-06-04 15:00:28 +02:00
Aric Stewart c6d307533b macdrv: Rework the way we handle cursor position and composition text. 2013-05-30 20:19:34 +02:00
Ken Thomases d8269a0586 winemac: Add Hide, Hide Others, and Show All items to the application menu. 2013-05-29 19:49:42 +02:00
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 c8d4b1cc5e winemac: Order front in -makeKeyAndOrderFront:; we only override to control key status.
When we have windows on two different spaces and the user switches between them by
clicking our Dock icon, Cocoa inexplicably sends the switched-to window to the
back of the z-order.  It's only -makeKeyAndOrderFront: that brings it forward
again, but our override broke that.
2013-05-17 16:36:40 +02:00
Ken Thomases ef874a8eaa winemac: Don't reorder windows if they're already ordered as requested.
This avoids adjusting window levels.  It also avoid unnecessarily deinterleaving
the windows of this and other processes.
2013-05-17 16:36:35 +02:00
Ken Thomases 7a047af640 winemac: In -setFrameIfOnScreen:, don't adjust window levels if fullscreen-ness didn't change. 2013-05-17 16:36:31 +02:00