Alexandre Julliard
04ad06353d
user32: Move the common parts of ScrollDC into user32 and the null driver.
2013-04-19 16:16:16 +02:00
Francois Gouget
2baecad2c5
Assorted spelling fixes.
2013-04-18 19:13:16 +02:00
Ken Thomases
e7d5f329e5
winemac: Refactor WineApplication class to separate most logic into a controller class.
2013-04-16 12:10:36 +02:00
Ken Thomases
2e226b9ad8
winemac: Don't order the window on-screen in -[WineWindow adjustWindowLevel].
2013-04-11 12:06:41 +02:00
Ken Thomases
cba4bcb47f
winemac: Handle failure to get clipboard format name; don't use uninitialized buffer.
2013-04-09 11:25:05 +02:00
Ken Thomases
401b75e3e9
winemac: Scale large system tray icons down to fit status bar.
2013-04-05 11:59:12 +02:00
Ken Thomases
787a937ed8
winemac: Add debug tracing for queried icon size.
2013-04-05 11:59:03 +02:00
Ken Thomases
c2bbdc4b86
winemac: Clip surface drawn region to new visible rect on window resize.
...
This prevents stale drawing from being revealed if the window later grows.
2013-04-05 11:57:32 +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
26a74c664d
winemac: Tell Cocoa to preserve our window content during live resizing.
2013-04-05 11:56:32 +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
5dac8a90cc
winemac: Drain the autorelease pool within loop in OnMainThread().
2013-04-04 12:13:38 +02:00
Ken Thomases
94dc91a45d
winemac: During live resize, force occasional redisplay due to spontaneous redrawing.
2013-04-02 12:47:27 +02:00
C.W. Betts
95daa45dbc
winemac: Implement getting and setting screen saver state on OS X.
2013-03-29 17:52:17 +01: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
0e8b305023
winemac: Draw surface region rects separately instead of clipping one big draw.
2013-03-29 17:17:22 +01:00
Ken Thomases
f7406e74ae
winemac: Invalidate window shadow on every draw for transparent windows.
2013-03-29 17:17:22 +01:00
Ken Thomases
7ab76484c4
winemac: Add proper locking in macdrv_surface_set_region().
2013-03-29 17:17:22 +01:00
Ken Thomases
4fba2995b6
winemac: Don't override -[NSOpenGLContext clearDrawable], just use our own method.
2013-03-28 12:19:01 +01:00
Ken Thomases
5c8d6a0b93
winemac: Synthesize 8- and 16-bpp display modes if the system doesn't provide any.
...
macdrv_ChangeDisplaySettingsEx() ignores the requested bpp, anyway, so we
can report any values we think programs will want.
2013-03-28 12:18:51 +01:00
Ken Thomases
81d1bfd65d
winemac: Set the ordering of color modes explicitly to reduce chance of picking an odd one.
2013-03-27 20:12:28 +01:00
Ken Thomases
484cf761fc
winemac: Use kCGLPFANoRecovery for accelerated pixel formats in create_context().
2013-03-27 20:12:28 +01:00
Ken Thomases
4ec2809e73
winemac: Keep stable surface for layered windows using UpdateLayeredWindow().
2013-03-26 16:40:23 +01:00
Ken Thomases
678f086904
winemac: Support CFSTR_SHELLURLW (UniformResourceLocator) clipboard format, mapped to public.url.
2013-03-26 12:12:28 +01:00
Ken Thomases
36343f520b
winemac: Specify import and export functions explicitly in builtin_format_names[].
2013-03-26 12:12:26 +01:00
Ken Thomases
e633f79f61
winemac: Implement GetDeviceGammaRamp() and SetDeviceGammaRamp().
2013-03-26 12:07:03 +01:00
Ken Thomases
3158fd764d
winemac: Don't read an array at index -1 in debugstr_pf().
2013-03-25 14:09:25 +01:00
Ken Thomases
6ee486644a
winemac: Allow Command-[Shift-]Tab to switch apps even when the displays are captured.
2013-03-25 14:03:02 +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
462721a115
winemac: Move create_cgimage_from_icon_bitmaps() into new module, image.c.
2013-03-25 14:01:01 +01:00
Ken Thomases
322ce433d5
winemac: Rename create_cgimage_from_icon() to create_cgimage_from_icon_bitmaps().
2013-03-25 13:57:20 +01:00
Ken Thomases
7993bd3d90
winemac: Implement support for drag-and-drop.
2013-03-14 12:03:32 +01:00
Ken Thomases
fb5794a764
winemac: Extract new function from macdrv_EnumClipboardFormats() parameterized by the target pasteboard.
2013-03-14 12:02:49 +01:00
Ken Thomases
caf6db7bf9
winemac: Extract new function from macdrv_IsClipboardFormatAvailable() parameterized by the target pasteboard.
2013-03-14 12:02:45 +01:00
Ken Thomases
c8e6bad153
winemac: Extract new function from macdrv_GetClipboardData() parameterized by the target pasteboard.
2013-03-14 12:02:41 +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
761ad810d9
winemac: Allow for processing Cocoa events while waiting for query results.
2013-03-14 12:02:28 +01:00
Ken Thomases
bff19b1739
winemac: Add support for CF_HDROP clipboard format, mapped to/from Cocoa's NSFilenamesPboardType.
2013-03-14 12:02:23 +01:00
Ken Thomases
95d5270a0d
winemac: Synthesize additional bitmap pasteboard types from any that Cocoa can convert.
...
Mac apps generally put TIFF on the pasteboard, but Windows programs are
more likely to handle CF_DIB or CF_BITMAP which map to BMP.
2013-03-14 12:02:17 +01:00
Ken Thomases
6528619494
winemac: Add support for CF_DIB and CF_BITMAP clipboard formats.
2013-03-14 12:02:10 +01:00
Ken Thomases
a8d55288de
winemac: Add clipboard formats which can or must be put on Mac pasteboard without transformation.
2013-03-14 12:02:05 +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
7cf3e0596f
winemac: Implement EnumClipboardFormats() with support for text formats.
2013-03-11 10:53:15 +01:00
Ken Thomases
af10783e18
winemac: Implement IsClipboardFormatAvailable() with support for text formats.
2013-03-11 10:53:05 +01:00
Ken Thomases
6b2b3e69f7
winemac: Implement CountClipboardFormats() with support for text formats.
2013-03-11 10:52:59 +01:00
Ken Thomases
4d51a688e3
winemac: Override -[NSOpenGLContext clearDrawable] to not hide the GL surface.
...
This fixes a problem with flickering when repeatedly attaching and detaching
a GL context from a window, such as for each WM_PAINT.
2013-03-11 10:44:26 +01:00
Ken Thomases
89a4e5a6d1
winemac: Don't defer attaching OpenGL context to view if it is backed by a window device.
...
This fixes a problem with certain OpenGL programs which create a context very
briefly before destroying it, like while handling WM_PAINT.
2013-03-11 10:44:13 +01:00
Ken Thomases
37b33a9de8
winemac: Improve handling of "invert" pixels in monochrome cursors.
2013-03-08 11:01:48 +01:00
C.W. Betts
c333c6ea6c
winemac: Fix compilation on Lion and later.
2013-03-08 11:00:30 +01:00
Ken Thomases
3f807e7a1a
winemac: Implement WGL_EXT_swap_control.
2013-03-06 12:57:26 +01:00
Ken Thomases
9c29be680c
winemac: Implement WGL_NV_render_texture_rectangle.
2013-03-06 12:57:21 +01:00
Ken Thomases
8bbf09b412
winemac: Implement WGL_ARB_render_texture.
2013-03-06 12:57:17 +01:00
Ken Thomases
be7231bea3
winemac: Implement WGL_ARB_pbuffer.
2013-03-06 12:57:11 +01:00
Ken Thomases
0ce3761655
winemac: Implement WGL_ARB_pixel_format and enable dependent extensions.
2013-03-06 12:57:04 +01:00
Ken Thomases
8d0d95c033
winemac: Implement WGL_ARB_make_current_read.
2013-03-06 12:56:43 +01:00
Ken Thomases
3f3ee6393d
winemac: Implement OpenGL support.
2013-03-06 12:56:12 +01:00
Ken Thomases
c76f0beeab
winemac: Fail gracefully and early when run from a non-GUI session.
2013-03-05 09:50:02 +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
de079223bf
winemac: Reset the cursor to the normal Mac arrow when it's outside all Wine windows.
2013-02-25 10:40:39 +01:00
Ken Thomases
5d8e685297
winemac: Request mouse move events when our window is active even when cursor is outside it.
2013-02-25 10:40:38 +01:00
Ken Thomases
0a56ef356a
winemac: Handle mouse moves in -[WineApplication sendEvent:] instead of WineWindow.
2013-02-25 10:40:38 +01:00
Ken Thomases
38f7a4d518
winemac: Implement GetCursorPos().
2013-02-25 10:40:38 +01:00
Ken Thomases
b79d955342
winemac: Use system cursors when possible.
2013-02-25 10:40:37 +01:00
Ken Thomases
a49df4b317
winemac: Implement SetCursor() and DestroyCursorIcon().
2013-02-25 10:40:37 +01:00
Ken Thomases
6cfa0a31d8
winemac: Don't bring a window onto the screen in SetFocus().
2013-02-19 10:40:12 +01:00
Ken Thomases
1561fa4126
winemac: Call sync_window_position() before show_window() since window frame affects whether it shows.
2013-02-19 10:40:08 +01:00
Ken Thomases
abb0161c4c
winemac: Always use proper z-order when putting a window on screen.
2013-02-19 10:40:03 +01:00
Ken Thomases
d26a6bf451
winemac: Implement ChangeDisplaySettingsEx().
2013-02-18 10:35:46 +01:00
Ken Thomases
4f4ac0cafc
winemac: Implement EnumDisplaySettingsEx().
2013-02-18 10:35:35 +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
be6af9a169
winemac: Implement support for full-screen windows.
2013-02-18 10:34:46 +01:00
Ken Thomases
ba86e67792
winemac: Track Cocoa windows in a z-ordered list.
2013-02-18 10:34:40 +01:00
Ken Thomases
3799acb3ac
winemac: Use only on-screen windows for Cocoa parent (Win32 owner) and ordering sibling.
2013-02-18 10:34:33 +01:00
Ken Thomases
d74e90080a
winemac: Don't set Cocoa window frame to be zero-sized.
2013-02-18 10:34:29 +01:00
Ken Thomases
47352930d8
winemac: Discard old frame changed events when setting frame for off-screen windows, too.
2013-02-18 10:34:24 +01:00
Ken Thomases
a472d39b7d
winemac: Prevent Cocoa from consuming certain key-down events.
2013-02-11 11:46:11 +01:00
Ken Thomases
3748c39308
winemac: Implement MOUSE_SCROLL events.
2013-02-11 11:46:10 +01:00
Ken Thomases
033fe9a7c2
winemac: Process clicks in an inactive window in addition to activating it.
2013-02-07 12:04:51 +01:00
Ken Thomases
572324bae3
winemac: Implement MOUSE_MOVED(_ABSOLUTE) events.
2013-02-07 12:04:49 +01:00
Ken Thomases
6289a612ae
winemac: Add WineApplication methods to convert from Cocoa to Win32 coordinate space.
...
Cocoa coordinate space has its origin in the lower left of the primary screen
and y increases up.
2013-02-07 12:04:46 +01:00
Ken Thomases
5f06bf80db
winemac: Implement SysCommand() to prevent Alt keypresses from activating system menu.
2013-02-07 12:04:42 +01:00
Ken Thomases
956ec43201
winemac: Implement fake support for the active Windows keyboard layout.
2013-02-06 20:28:29 +01:00
Ken Thomases
2b4d95cd47
winemac: Implement GetKeyNameText().
2013-02-06 20:28:28 +01:00
Ken Thomases
80baa3a0e9
winemac: Implement VkKeyScanEx().
2013-02-06 20:28:28 +01:00
Ken Thomases
a649d845ed
winemac: Implement MapVirtualKeyEx().
2013-02-06 20:28:28 +01:00
Ken Thomases
3fcb69b7ca
winemac: Implement Beep().
2013-02-06 20:28:28 +01:00
Alexandre Julliard
e1b6dc57ac
winemac: Don't move off-screen windows to a random position.
2013-02-05 20:15:34 +01:00
Ken Thomases
0757a66360
winemac: Ignore Cocoa's window frame adjustments for off-screen windows.
2013-02-05 11:11:45 +01:00
Ken Thomases
3ab66a6916
winemac: Implement ToUnicodeEx().
2013-02-05 11:07:19 +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