diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-02-05 18:53:55 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-02-05 18:53:55 +0100 |
| commit | c92bf829b4fb9bd6c70079f6a0c42923d5a5dd1f (patch) | |
| tree | 87cf13ca9613f78f2c42e4e1b48aa7485cb64010 | |
| parent | 904039c4c6cd2d67199709919fa1fc844b0f4af2 (diff) | |
macOS: restore building with SDK versions between 10.7 and 10.11
| -rw-r--r-- | src/Fl_cocoa.mm | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 6ba142253..face4e91b 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -186,6 +186,9 @@ const NSUInteger NSWindowStyleMaskBorderless = NSBorderlessWindowMask; const NSUInteger NSWindowStyleMaskMiniaturizable = NSMiniaturizableWindowMask; const NSUInteger NSWindowStyleMaskClosable = NSClosableWindowMask; const NSUInteger NSWindowStyleMaskTitled = NSTitledWindowMask; +# if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 +const NSUInteger NSWindowStyleMaskFullScreen = NSFullScreenWindowMask; +# endif const NSUInteger NSEventMaskAny = NSAnyEventMask; const NSUInteger NSEventMaskSystemDefined = NSSystemDefinedMask; @@ -3274,8 +3277,9 @@ void Fl_Cocoa_Window_Driver::makeWindow() else [cw orderFront:nil]; if (w->fullscreen_active() && fl_mac_os_version >= 100700) { if (fullscreen_screen_top() >= 0) { -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 - cw.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 + if (fl_mac_os_version >= 101200) + cw.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; #endif *no_fullscreen_x() = pWindow->x(); *no_fullscreen_y() = pWindow->y(); @@ -3336,10 +3340,15 @@ void Fl_Cocoa_Window_Driver::fullscreen_on() { #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 if (fl_mac_os_version >= 100700 && (nswin.styleMask & NSWindowStyleMaskFullScreen)) { // from single-screen fullscreen to "All Screens" fullscreen, with border - bool allscreens_on = (nswin.collectionBehavior & NSWindowCollectionBehaviorFullScreenNone); - if (allscreens_on) nswin.collectionBehavior &= ~NSWindowCollectionBehaviorFullScreenNone; +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 + if (fl_mac_os_version >= 101200) { + bool allscreens_on = (nswin.collectionBehavior & NSWindowCollectionBehaviorFullScreenNone); + if (allscreens_on) nswin.collectionBehavior &= ~NSWindowCollectionBehaviorFullScreenNone; + [nswin toggleFullScreen:nil]; + if (allscreens_on) nswin.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; + } else +#endif [nswin toggleFullScreen:nil]; - if (allscreens_on) nswin.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; if (*no_fullscreen_w() == 0) { *no_fullscreen_x() = x(); *no_fullscreen_y() = y(); @@ -3477,8 +3486,8 @@ void Fl_Cocoa_Window_Driver::fullscreen_off(int X, int Y, int W, int H) { void Fl_Cocoa_Window_Driver::fullscreen_screens(bool on_off) { -#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 - if (fl_mac_os_version >= 100700) { +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12 + if (fl_mac_os_version >= 101200) { FLWindow *xid = fl_mac_xid(pWindow); if (on_off) xid.collectionBehavior |= NSWindowCollectionBehaviorFullScreenNone; else xid.collectionBehavior &= ~NSWindowCollectionBehaviorFullScreenNone; |
