Sweden-Number/dlls/winemac.drv
Ken Thomases 47708c2635 winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window.
The default behavior is that GL surfaces are on top of all non-GL content in
the window.  This maximizes the performance for the common case of games, but
clipping by parents, siblings, and child windows isn't respected.

Setting OpenGLSurfaceMode to "behind" pushes the GL surface to be behind the
Mac window.  The window has transparent holes punched through it so that the GL
surface shows through.  USER32 and the wineserver take care of making sure the
holes are only where the GL windows would be unclipped and unoccluded.  Because
the OS X window server has to composite the GL surface with the window, this
limits the framerate.

Since the Mac driver has no server-side rendering path, GDI rendering to a
window which has a GL surface doesn't work.  As a partial workaround, mostly
for cases where a GL surface is created but never used, setting
OpenGLSurfaceMode to "transparent" allows the GDI rendering to show through the
transparent parts of the GL surface.  The GDI rendering is drawn to the
top-level window's surface as normal.  (The behavior of user32 to exclude the
portion covered by a GL window from GDI rendering is disabled.)  The GL surface
is in front of the window but potentially wholly or partially transparent.  It
is composited with the window behind it.

The GL surface is initially cleared to be completely transparent.  So, if
no GL rendering is done, the window will appear as though the GL surface didn't
exist.
2015-09-15 16:59:03 +09:00
..
.gitattributes
Makefile.in
clipboard.c user32: Merge the AcquireClipboard and EmptyClipboard driver entry points. 2015-06-03 18:46:53 +09:00
cocoa_app.h winemac: Restore a maximized window if a user tries to move it by dragging its title bar. 2015-03-24 13:55:34 +09:00
cocoa_app.m winemac: Tell Wine when Cocoa brought a clicked window forward even if it sent the click event. 2015-08-13 15:04:35 +09:00
cocoa_clipboard.m
cocoa_display.m
cocoa_event.h
cocoa_event.m
cocoa_main.m
cocoa_opengl.h
cocoa_opengl.m winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
cocoa_status_item.m
cocoa_window.h winemac: Restore a maximized window if a user tries to move it by dragging its title bar. 2015-03-24 13:55:34 +09:00
cocoa_window.m winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
display.c
dragdrop.c
event.c winemac: Allow the user to attempt to resize a maximized window and try to restore it if they do. 2015-03-24 13:55:18 +09:00
gdi.c gdi32: Added GetFontRealizationInfo() export. 2015-09-01 19:28:16 +09:00
image.c
ime.c
keyboard.c
macdrv.h winemac: Remove extraneous CDECL attribute. 2015-06-05 14:10:12 +09:00
macdrv_cocoa.h winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
macdrv_main.c winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
mouse.c
opengl.c winemac: Add a new registry setting, OpenGLSurfaceMode, to control how GL surfaces relate to the window. 2015-09-15 16:59:03 +09:00
surface.c
systray.c winemac: Cleanup system tray icons when their owner is destroyed instead of polling. 2015-03-31 14:46:52 +09:00
window.c winemac.drv: Release mouse capture when destroying window specified in SetCapture call. 2015-07-17 20:19:51 +09:00
winemac.drv.spec user32: Merge the AcquireClipboard and EmptyClipboard driver entry points. 2015-06-03 18:46:53 +09:00