Browse Source

Fixed MacOS 10.12 deprecations

tags/2021-05-28
tpoole 8 years ago
parent
commit
8e7ed3ae7d
7 changed files with 93 additions and 52 deletions
  1. +2
    -1
      modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp
  2. +40
    -0
      modules/juce_core/native/juce_BasicNativeHeaders.h
  3. +1
    -1
      modules/juce_events/native/juce_mac_MessageManager.mm
  4. +9
    -9
      modules/juce_gui_basics/native/juce_mac_MainMenu.mm
  5. +33
    -33
      modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm
  6. +3
    -3
      modules/juce_gui_basics/native/juce_mac_Windowing.mm
  7. +5
    -5
      modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp

+ 2
- 1
modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp View File

@@ -34,7 +34,8 @@
// The AudioHardwareService stuff was deprecated in 10.11 but there's no replacement yet, // The AudioHardwareService stuff was deprecated in 10.11 but there's no replacement yet,
// so we'll have to silence the warnings here and revisit it in a future OS version.. // so we'll have to silence the warnings here and revisit it in a future OS version..
#if defined (MAC_OS_X_VERSION_10_11) && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_11
#if ((defined (MAC_OS_X_VERSION_10_12) && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_12) \
|| (defined (MAC_OS_X_VERSION_10_11) && MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_11))
#pragma clang diagnostic ignored "-Wdeprecated-declarations" #pragma clang diagnostic ignored "-Wdeprecated-declarations"
#endif #endif
#endif #endif


+ 40
- 0
modules/juce_core/native/juce_BasicNativeHeaders.h View File

@@ -42,6 +42,46 @@
#include <sys/fcntl.h> #include <sys/fcntl.h>
#else #else
#import <Cocoa/Cocoa.h> #import <Cocoa/Cocoa.h>
#if (! defined MAC_OS_X_VERSION_10_12) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
#define NSEventModifierFlagCommand NSCommandKeyMask
#define NSEventModifierFlagControl NSControlKeyMask
#define NSEventModifierFlagHelp NSHelpKeyMask
#define NSEventModifierFlagNumericPad NSNumericPadKeyMask
#define NSEventModifierFlagOption NSAlternateKeyMask
#define NSEventModifierFlagShift NSShiftKeyMask
#define NSCompositingOperationSourceOver NSCompositeSourceOver
#define NSEventMaskApplicationDefined NSApplicationDefinedMask
#define NSEventTypeApplicationDefined NSApplicationDefined
#define NSEventTypeCursorUpdate NSCursorUpdate
#define NSEventTypeMouseMoved NSMouseMoved
#define NSEventTypeLeftMouseDown NSLeftMouseDown
#define NSEventTypeRightMouseDown NSRightMouseDown
#define NSEventTypeOtherMouseDown NSOtherMouseDown
#define NSEventTypeLeftMouseUp NSLeftMouseUp
#define NSEventTypeRightMouseUp NSRightMouseUp
#define NSEventTypeOtherMouseUp NSOtherMouseUp
#define NSEventTypeLeftMouseDragged NSLeftMouseDragged
#define NSEventTypeRightMouseDragged NSRightMouseDragged
#define NSEventTypeOtherMouseDragged NSOtherMouseDragged
#define NSEventTypeScrollWheel NSScrollWheel
#define NSEventTypeKeyDown NSKeyDown
#define NSEventTypeKeyUp NSKeyUp
#define NSEventTypeFlagsChanged NSFlagsChanged
#define NSEventMaskAny NSAnyEventMask
#define NSWindowStyleMaskBorderless NSBorderlessWindowMask
#define NSWindowStyleMaskClosable NSClosableWindowMask
#define NSWindowStyleMaskFullScreen NSFullScreenWindowMask
#define NSWindowStyleMaskMiniaturizable NSMiniaturizableWindowMask
#define NSWindowStyleMaskResizable NSResizableWindowMask
#define NSWindowStyleMaskTitled NSTitledWindowMask
#define NSAlertStyleCritical NSCriticalAlertStyle
#define NSControlSizeRegular NSRegularControlSize
#define NSEventTypeMouseEntered NSMouseEntered
#define NSEventTypeMouseExited NSMouseExited
#define NSAlertStyleInformational NSInformationalAlertStyle
#define NSEventTypeTabletPoint NSTabletPoint
#define NSEventTypeTabletProximity NSTabletProximity
#endif
#import <CoreAudio/HostTime.h> #import <CoreAudio/HostTime.h>
#include <sys/dir.h> #include <sys/dir.h>
#endif #endif


+ 1
- 1
modules/juce_events/native/juce_mac_MessageManager.mm View File

@@ -297,7 +297,7 @@ bool MessageManager::runDispatchLoopUntil (int millisecondsToRunFor)
{ {
CFRunLoopRunInMode (kCFRunLoopDefaultMode, 0.001, true); CFRunLoopRunInMode (kCFRunLoopDefaultMode, 0.001, true);
NSEvent* e = [NSApp nextEventMatchingMask: NSAnyEventMask
NSEvent* e = [NSApp nextEventMatchingMask: NSEventMaskAny
untilDate: [NSDate dateWithTimeIntervalSinceNow: 0.001] untilDate: [NSDate dateWithTimeIntervalSinceNow: 0.001]
inMode: NSDefaultRunLoopMode inMode: NSDefaultRunLoopMode
dequeue: YES]; dequeue: YES];


+ 9
- 9
modules/juce_gui_basics/native/juce_mac_MainMenu.mm View File

@@ -389,9 +389,9 @@ private:
if ([menu indexOfItem: item] >= 0) if ([menu indexOfItem: item] >= 0)
{ {
NSEvent* f35Event = [NSEvent keyEventWithType: NSKeyDown
NSEvent* f35Event = [NSEvent keyEventWithType: NSEventTypeKeyDown
location: NSZeroPoint location: NSZeroPoint
modifierFlags: NSCommandKeyMask
modifierFlags: NSEventModifierFlagCommand
timestamp: 0 timestamp: 0
windowNumber: 0 windowNumber: 0
context: [NSGraphicsContext currentContext] context: [NSGraphicsContext currentContext]
@@ -412,10 +412,10 @@ private:
static unsigned int juceModsToNSMods (const ModifierKeys mods) static unsigned int juceModsToNSMods (const ModifierKeys mods)
{ {
unsigned int m = 0; unsigned int m = 0;
if (mods.isShiftDown()) m |= NSShiftKeyMask;
if (mods.isCtrlDown()) m |= NSControlKeyMask;
if (mods.isAltDown()) m |= NSAlternateKeyMask;
if (mods.isCommandDown()) m |= NSCommandKeyMask;
if (mods.isShiftDown()) m |= NSEventModifierFlagShift;
if (mods.isCtrlDown()) m |= NSEventModifierFlagControl;
if (mods.isAltDown()) m |= NSEventModifierFlagOption;
if (mods.isCommandDown()) m |= NSEventModifierFlagCommand;
return m; return m;
} }
@@ -481,13 +481,13 @@ private:
// our own components, which may have wanted to intercept it. So, rather than dispatching directly, we'll feed it back // our own components, which may have wanted to intercept it. So, rather than dispatching directly, we'll feed it back
// into the focused component and let it trigger the menu item indirectly. // into the focused component and let it trigger the menu item indirectly.
NSEvent* e = [NSApp currentEvent]; NSEvent* e = [NSApp currentEvent];
if ([e type] == NSKeyDown || [e type] == NSKeyUp)
if ([e type] == NSEventTypeKeyDown || [e type] == NSEventTypeKeyUp)
{ {
if (juce::Component* focused = juce::Component::getCurrentlyFocusedComponent()) if (juce::Component* focused = juce::Component::getCurrentlyFocusedComponent())
{ {
if (juce::NSViewComponentPeer* peer = dynamic_cast<juce::NSViewComponentPeer*> (focused->getPeer())) if (juce::NSViewComponentPeer* peer = dynamic_cast<juce::NSViewComponentPeer*> (focused->getPeer()))
{ {
if ([e type] == NSKeyDown)
if ([e type] == NSEventTypeKeyDown)
peer->redirectKeyDown (e); peer->redirectKeyDown (e);
else else
peer->redirectKeyUp (e); peer->redirectKeyUp (e);
@@ -624,7 +624,7 @@ namespace MainMenuHelpers
createMenuItem (menu, "Hide " + appName, @selector (hide:), nsStringLiteral ("h")); createMenuItem (menu, "Hide " + appName, @selector (hide:), nsStringLiteral ("h"));
[createMenuItem (menu, "Hide Others", @selector (hideOtherApplications:), nsStringLiteral ("h")) [createMenuItem (menu, "Hide Others", @selector (hideOtherApplications:), nsStringLiteral ("h"))
setKeyEquivalentModifierMask: NSCommandKeyMask | NSAlternateKeyMask];
setKeyEquivalentModifierMask: NSEventModifierFlagCommand | NSEventModifierFlagOption];
createMenuItem (menu, "Show All", @selector (unhideAllApplications:), nsEmptyString()); createMenuItem (menu, "Show All", @selector (unhideAllApplications:), nsEmptyString());


+ 33
- 33
modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm View File

@@ -375,7 +375,7 @@ public:
bool isKioskMode() const override bool isKioskMode() const override
{ {
#if defined (MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 #if defined (MAC_OS_X_VERSION_10_7) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
if (hasNativeTitleBar() && ([window styleMask] & NSFullScreenWindowMask) != 0)
if (hasNativeTitleBar() && ([window styleMask] & NSWindowStyleMaskFullScreen) != 0)
return true; return true;
#endif #endif
@@ -729,7 +729,7 @@ public:
break; // (these all seem to generate unwanted garbage unicode strings) break; // (these all seem to generate unwanted garbage unicode strings)
default: default:
if (([ev modifierFlags] & NSCommandKeyMask) != 0
if (([ev modifierFlags] & NSEventModifierFlagCommand) != 0
|| (keyCode >= NSF1FunctionKey && keyCode <= NSF35FunctionKey)) || (keyCode >= NSF1FunctionKey && keyCode <= NSF35FunctionKey))
textCharacter = 0; textCharacter = 0;
break; break;
@@ -758,7 +758,7 @@ public:
updateKeysDown (ev, true); updateKeysDown (ev, true);
bool used = handleKeyEvent (ev, true); bool used = handleKeyEvent (ev, true);
if (([ev modifierFlags] & NSCommandKeyMask) != 0)
if (([ev modifierFlags] & NSEventModifierFlagCommand) != 0)
{ {
// for command keys, the key-up event is thrown away, so simulate one.. // for command keys, the key-up event is thrown away, so simulate one..
updateKeysDown (ev, false); updateKeysDown (ev, false);
@@ -1098,10 +1098,10 @@ public:
{ {
int m = 0; int m = 0;
if ((flags & NSShiftKeyMask) != 0) m |= ModifierKeys::shiftModifier;
if ((flags & NSControlKeyMask) != 0) m |= ModifierKeys::ctrlModifier;
if ((flags & NSAlternateKeyMask) != 0) m |= ModifierKeys::altModifier;
if ((flags & NSCommandKeyMask) != 0) m |= ModifierKeys::commandModifier;
if ((flags & NSEventModifierFlagShift) != 0) m |= ModifierKeys::shiftModifier;
if ((flags & NSEventModifierFlagControl) != 0) m |= ModifierKeys::ctrlModifier;
if ((flags & NSEventModifierFlagOption) != 0) m |= ModifierKeys::altModifier;
if ((flags & NSEventModifierFlagCommand) != 0) m |= ModifierKeys::commandModifier;
currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (m); currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (m);
} }
@@ -1174,7 +1174,7 @@ public:
else else
keyCode = (int) CharacterFunctions::toUpperCase ((juce_wchar) keyCode); keyCode = (int) CharacterFunctions::toUpperCase ((juce_wchar) keyCode);
if (([ev modifierFlags] & NSNumericPadKeyMask) != 0)
if (([ev modifierFlags] & NSEventModifierFlagNumericPad) != 0)
{ {
const int numPadConversions[] = { '0', KeyPress::numberPad0, '1', KeyPress::numberPad1, const int numPadConversions[] = { '0', KeyPress::numberPad0, '1', KeyPress::numberPad1,
'2', KeyPress::numberPad2, '3', KeyPress::numberPad3, '2', KeyPress::numberPad2, '3', KeyPress::numberPad3,
@@ -1205,7 +1205,7 @@ public:
{ {
@try @try
{ {
if (e.type != NSMouseEntered && e.type != NSMouseExited)
if (e.type != NSEventTypeMouseEntered && e.type != NSEventTypeMouseExited)
return (float) e.pressure; return (float) e.pressure;
} }
@catch (NSException* e) {} @catch (NSException* e) {}
@@ -1229,12 +1229,12 @@ public:
static unsigned int getNSWindowStyleMask (const int flags) noexcept static unsigned int getNSWindowStyleMask (const int flags) noexcept
{ {
unsigned int style = (flags & windowHasTitleBar) != 0 ? NSTitledWindowMask
: NSBorderlessWindowMask;
unsigned int style = (flags & windowHasTitleBar) != 0 ? NSWindowStyleMaskTitled
: NSWindowStyleMaskBorderless;
if ((flags & windowHasMinimiseButton) != 0) style |= NSMiniaturizableWindowMask;
if ((flags & windowHasCloseButton) != 0) style |= NSClosableWindowMask;
if ((flags & windowIsResizable) != 0) style |= NSResizableWindowMask;
if ((flags & windowHasMinimiseButton) != 0) style |= NSWindowStyleMaskMiniaturizable;
if ((flags & windowHasCloseButton) != 0) style |= NSWindowStyleMaskClosable;
if ((flags & windowIsResizable) != 0) style |= NSWindowStyleMaskResizable;
return style; return style;
} }
@@ -1433,34 +1433,34 @@ private:
switch ([e type]) switch ([e type])
{ {
case NSKeyDown:
case NSKeyUp:
case NSEventTypeKeyDown:
case NSEventTypeKeyUp:
isKey = isInputAttempt = true; isKey = isInputAttempt = true;
break; break;
case NSLeftMouseDown:
case NSRightMouseDown:
case NSOtherMouseDown:
case NSEventTypeLeftMouseDown:
case NSEventTypeRightMouseDown:
case NSEventTypeOtherMouseDown:
isInputAttempt = true; isInputAttempt = true;
break; break;
case NSLeftMouseDragged:
case NSRightMouseDragged:
case NSLeftMouseUp:
case NSRightMouseUp:
case NSOtherMouseUp:
case NSOtherMouseDragged:
case NSEventTypeLeftMouseDragged:
case NSEventTypeRightMouseDragged:
case NSEventTypeLeftMouseUp:
case NSEventTypeRightMouseUp:
case NSEventTypeOtherMouseUp:
case NSEventTypeOtherMouseDragged:
if (Desktop::getInstance().getDraggingMouseSource(0) != nullptr) if (Desktop::getInstance().getDraggingMouseSource(0) != nullptr)
return false; return false;
break; break;
case NSMouseMoved:
case NSMouseEntered:
case NSMouseExited:
case NSCursorUpdate:
case NSScrollWheel:
case NSTabletPoint:
case NSTabletProximity:
case NSEventTypeMouseMoved:
case NSEventTypeMouseEntered:
case NSEventTypeMouseExited:
case NSEventTypeCursorUpdate:
case NSEventTypeScrollWheel:
case NSEventTypeTabletPoint:
case NSEventTypeTabletProximity:
break; break;
default: default:
@@ -2079,7 +2079,7 @@ void Desktop::setKioskComponent (Component* kioskComp, bool shouldBeEnabled, boo
if (shouldBeEnabled) if (shouldBeEnabled)
{ {
if (peer->hasNativeTitleBar()) if (peer->hasNativeTitleBar())
[peer->window setStyleMask: NSBorderlessWindowMask];
[peer->window setStyleMask: NSWindowStyleMaskBorderless];
[NSApp setPresentationOptions: (allowMenusAndBars ? (NSApplicationPresentationAutoHideDock | NSApplicationPresentationAutoHideMenuBar) [NSApp setPresentationOptions: (allowMenusAndBars ? (NSApplicationPresentationAutoHideDock | NSApplicationPresentationAutoHideMenuBar)
: (NSApplicationPresentationHideDock | NSApplicationPresentationHideMenuBar))]; : (NSApplicationPresentationHideDock | NSApplicationPresentationHideMenuBar))];


+ 3
- 3
modules/juce_gui_basics/native/juce_mac_Windowing.mm View File

@@ -89,8 +89,8 @@ private:
[alert setMessageText: juceStringToNS (title)]; [alert setMessageText: juceStringToNS (title)];
[alert setInformativeText: juceStringToNS (message)]; [alert setInformativeText: juceStringToNS (message)];
[alert setAlertStyle: iconType == AlertWindow::WarningIcon ? NSCriticalAlertStyle
: NSInformationalAlertStyle];
[alert setAlertStyle: iconType == AlertWindow::WarningIcon ? NSAlertStyleCritical
: NSAlertStyleInformational];
addButton (alert, button1); addButton (alert, button1);
addButton (alert, button2); addButton (alert, button2);
addButton (alert, button3); addButton (alert, button3);
@@ -419,7 +419,7 @@ Image juce_createIconForFile (const File& file)
selectImageForDrawing (result); selectImageForDrawing (result);
[image drawAtPoint: NSMakePoint (0, 0) [image drawAtPoint: NSMakePoint (0, 0)
fromRect: NSMakeRect (0, 0, [image size].width, [image size].height) fromRect: NSMakeRect (0, 0, [image size].width, [image size].height)
operation: NSCompositeSourceOver fraction: 1.0f];
operation: NSCompositingOperationSourceOver fraction: 1.0f];
releaseImageAfterDrawing(); releaseImageAfterDrawing();
return result; return result;


+ 5
- 5
modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp View File

@@ -85,8 +85,8 @@ public:
{ {
NSEventType type = [e type]; NSEventType type = [e type];
const bool isLeft = (type == NSLeftMouseDown || type == NSLeftMouseUp);
const bool isRight = (type == NSRightMouseDown || type == NSRightMouseUp);
const bool isLeft = (type == NSEventTypeLeftMouseDown || type == NSEventTypeLeftMouseUp);
const bool isRight = (type == NSEventTypeRightMouseDown || type == NSEventTypeRightMouseUp);
if (owner.isCurrentlyBlockedByAnotherModalComponent()) if (owner.isCurrentlyBlockedByAnotherModalComponent())
{ {
@@ -98,7 +98,7 @@ public:
{ {
ModifierKeys eventMods (ModifierKeys::getCurrentModifiersRealtime()); ModifierKeys eventMods (ModifierKeys::getCurrentModifiersRealtime());
if (([e modifierFlags] & NSCommandKeyMask) != 0)
if (([e modifierFlags] & NSEventModifierFlagCommand) != 0)
eventMods = eventMods.withFlags (ModifierKeys::commandModifier); eventMods = eventMods.withFlags (ModifierKeys::commandModifier);
const Time now (Time::getCurrentTime()); const Time now (Time::getCurrentTime());
@@ -121,7 +121,7 @@ public:
pressure, &owner, &owner, now, pressure, &owner, &owner, now,
Point<float>(), now, 1, false)); Point<float>(), now, 1, false));
} }
else if (type == NSMouseMoved)
else if (type == NSEventTypeMouseMoved)
{ {
owner.mouseMove (MouseEvent (mouseSource, Point<float>(), eventMods, owner.mouseMove (MouseEvent (mouseSource, Point<float>(), eventMods,
pressure, &owner, &owner, now, pressure, &owner, &owner, now,
@@ -214,7 +214,7 @@ private:
bounds.origin.y + ((bounds.size.height - imageSize.height) / 2.0f), bounds.origin.y + ((bounds.size.height - imageSize.height) / 2.0f),
imageSize.width, imageSize.height) imageSize.width, imageSize.height)
fromRect: NSZeroRect fromRect: NSZeroRect
operation: NSCompositeSourceOver
operation: NSCompositingOperationSourceOver
fraction: 1.0f]; fraction: 1.0f];
} }
} }


Loading…
Cancel
Save