Commit Graph

207 Commits

Author SHA1 Message Date
rdb b32459ffa1 Merge branch 'release/1.10.x' 2024-09-19 15:51:25 +02:00
rdb d7ede81aa3 cocoa: Fix compile error with MacOSX 10.6 SDK 2024-09-19 11:15:44 +02:00
rdb a4faa802af cocoa: Remove autorelease pool in process_events()
We now have one around the entire frame, in graphicsEngine.cxx
2024-09-19 00:25:51 +02:00
rdb 442558bb2d Merge branch 'release/1.10.x' 2024-09-19 00:25:16 +02:00
rdb 756fe2e72b cocoa: Fix a very minor memory leak in DisplayInformation 2024-09-18 23:51:09 +02:00
rdb f5401b19fa Merge branch 'release/1.10.x' 2024-09-16 13:54:22 +02:00
rdb e2fb2d1241 cocoa: Prevent eating keyUp when switching to FS from macOS' FS 2024-09-16 13:39:16 +02:00
rdb c7bcec1ff5 cocoa: Exit macOS' fullscreen mode when switching fullscreen
Prevents black screen when switching to fullscreen
2024-09-16 13:39:16 +02:00
rdb 82b9a1266c cocoa: Fix error when switching to FS while macOS' FS is active 2024-09-16 13:39:16 +02:00
rdb 20a2b26090 cocoa: Support EDR windows with float framebuffer
Requires macOS 10.11
2023-10-23 12:17:28 +02:00
rdb 3833a35fa9 Merge branch 'release/1.10.x' 2023-10-22 12:06:18 +02:00
rdb a52744a973 cocoa: Improvements to VSync implementation:
- Use futex instead of condition var
- Prepare for adaptive sync support (#1553)
- Support in tinydisplay
2023-10-21 15:05:44 +02:00
rdb eec66c585e display: Add method for querying current display mode index
Note that it doesn't work on macOS with high-DPI displays, this requires #1308 (which is on master), otherwise it will just report -1 for now

Fixes #1550
2023-10-21 14:03:51 +02:00
LD ae3cbe4b12
cocoadisplay: Add support for high-dpi screens (#1308) 2023-10-10 16:56:04 +02:00
rdb c99fe581d3 Merge branch 'release/1.10.x' 2023-09-16 09:57:09 +02:00
rdb 144479d8e4 cocoa: squelch secure restorable state warning on macOS 14 2023-09-16 09:50:17 +02:00
rdb b22b970d10 makepanda: Require macOS SDK 10.12 or higher
This does not remove support for older macOS versions, they can still be targeted by newer SDKs (10.9 can still be targeted by the macOS 12 SDK)

I would like to require macOS 11 SDK, but we still need 10.13 for FMOD
2023-08-29 22:51:17 +02:00
Max Rodriguez b6c427f2b4 putil: Deprecated MouseData alias for PointerData
Co-authored-by: rdb <git@rdb.name>

Closes #1513
2023-08-02 08:13:02 +02:00
LD 53f32e440e cocoadisplay: Fix compilation errors due to missing includes 2023-03-24 17:24:05 +01:00
rdb 52dc6dbd28 cocoadisplay: Remove accidentally checked-in file
[skip ci]
2023-03-23 08:57:02 +01:00
rdb 545ede9d94 cocoa: Split out GL-specific code into new cocoagldisplay module
This makes it possible to create subclasses for tinydisplay and vulkandisplay without having to duplicate code
2023-03-21 23:16:36 +01:00
rdb 8bc1743d75 Merge branch 'release/1.10.x' 2023-01-27 16:17:41 +01:00
LD 518ee0fb8e cocoadisplay: Capture display before switching to fullscreen mode 2023-01-20 18:16:43 +01:00
rdb b282e8920d Merge branch 'release/1.10.x' 2023-01-13 22:32:35 +01:00
rdb e696ac4046 cocoa: Fix black bar when switching to fullscreen while z-order is top 2023-01-13 22:05:06 +01:00
rdb 76386bc4c0 cocoa: Fix window sizing bug when simultaneously changing undecorated 2023-01-13 22:04:42 +01:00
rdb 8c5e2e74f5 cocoa: Fix undecorated setting ignored when switching off fullscreen 2023-01-13 22:03:33 +01:00
rdb 92185bcb28 Merge branch 'release/1.10.x' 2022-12-19 16:42:29 +01:00
rdb e5a8eb5b1d cocoadisplay: Fix Command+Q in green-button-style fullscreen mode
It seems macOS has an extra NSWindow without a delegate in this mode
2022-12-19 12:55:57 +01:00
rdb 8354e175cf Merge branch 'release/1.10.x' 2022-12-16 17:36:04 +01:00
rdb 9cb60ccd93 cocoadisplay: Fix oversized window getting an awkward offset
We currently do the centering based on the total screen size, not the screen size that macOS actually lets us use.

See #1312
2022-12-16 16:07:58 +01:00
rdb e1b4083d6d Merge branch 'release/1.10.x' 2022-12-12 17:19:10 +01:00
rdb dae26c2e4b cocoadisplay: Fix fullscreen regression on Intel macs
Partially backs out 619050bb32

Fixes #1316 (for good this time hopefully)
2022-12-08 15:20:14 +01:00
rdb 4040e7b390 Merge branch 'release/1.10.x' 2022-12-07 19:04:12 +01:00
rdb bdb55c480b cocoadisplay: Fix missing includes 2022-12-07 18:58:54 +01:00
rdb 5751fc6478 cocoadisplay: Fix a whitespace error 2022-12-07 18:58:38 +01:00
rdb 72376e95f1 cocoadisplay: Even better applicationShouldTerminate handling
It seems that performClose doesn't actually work properly for fullscreen windows
2022-12-07 18:34:36 +01:00
rdb fe8ed9dec7 Merge branch 'release/1.10.x' 2022-12-07 17:58:28 +01:00
rdb 4979a8ba3f cocoadisplay: More graceful application termination behavior
See #1321
2022-12-07 17:52:11 +01:00
LD 5fa3f3eb68 cocoadisplay: Call remove_all_windows() when the application is about to close
Part of #1321
2022-12-07 17:22:23 +01:00
rdb c85cc8f2e8 cocoadisplay: fix unprotected debug/spam prints 2022-12-07 17:20:41 +01:00
rdb 2a65f583d0 cocoadisplay: Small tweak to fullscreen fix 2022-12-07 17:16:18 +01:00
rdb c82f95ad6b Merge branch 'release/1.10.x' 2022-12-06 20:02:35 +01:00
rdb 619050bb32 cocoadisplay: Fix fullscreen issues on M1 macs
The OpenGL-on-Metal drivers used on these machines don't support CGLSetFullScreenOnDisplay, so we need to disable it on those machines.  This also applies when running a x86_64 app through Rosetta 2, hence the sysctlbyname check.

Furthermore, we need to set the appropriate shielding level, which need not be `NSMainMenuWindowLevel+1`.

Fixes #1316

Co-authored-by: LD <laurent.deru@gmail.com>
2022-12-06 16:59:55 +01:00
rdb 316b0009ae Merge branch 'release/1.10.x' 2022-10-31 23:10:39 +01:00
rdb 4cf8187df7 cocoadisplay: Fix crash with threading-model on newer macOS versions
Updates the context on the main thread instead of the draw thread now. If render_frame happens to run while the context needs updating, it will skip the frame.

Fixes #1286
2022-10-29 20:51:05 +02:00
rdb 79bd743957 Merge branch 'release/1.10.x' 2022-09-02 23:14:15 +02:00
LD 12ae2973ae cocoadisplay: Disable the event suppression interval when moving the position of the mouse pointer 2022-09-01 09:07:16 +02:00
LD 102da5bc35 cocoadisplay: Don't use position delta for confined mouse mode as it lead to invalid estimation of the pointer position 2022-09-01 09:07:16 +02:00
LD 69bf5fa626 cocoadisplay: Remove overzealous coordinates transform performed on mouse position 2022-09-01 09:07:16 +02:00