From 2583b0648132e6ff3df839e7f2caf4388d31080d Mon Sep 17 00:00:00 2001 From: reuk Date: Mon, 2 Dec 2024 15:20:49 +0000 Subject: [PATCH] NSViewComponentPeer: Guard API availability --- .../native/juce_NSViewComponentPeer_mac.mm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm b/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm index 0f5ff074f3..58c33abafa 100644 --- a/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm +++ b/modules/juce_gui_basics/native/juce_NSViewComponentPeer_mac.mm @@ -129,14 +129,16 @@ static constexpr int translateVirtualToAsciiKeyCode (int keyCode) noexcept constexpr int extendedKeyModifier = 0x30000; //============================================================================== -class JuceCALayerDelegate final : public ObjCClass> +struct JuceCALayerDelegateCallback +{ + virtual ~JuceCALayerDelegateCallback() = default; + virtual void displayLayer (CALayer*) = 0; +}; + +class API_AVAILABLE (macos (10.12)) JuceCALayerDelegate final : public ObjCClass> { public: - struct Callback - { - virtual ~Callback() = default; - virtual void displayLayer (CALayer*) = 0; - }; + using Callback = JuceCALayerDelegateCallback; static NSObject* construct (Callback* owner) { @@ -176,7 +178,7 @@ private: //============================================================================== class NSViewComponentPeer final : public ComponentPeer, - private JuceCALayerDelegate::Callback + private JuceCALayerDelegateCallback { public: NSViewComponentPeer (Component& comp, const int windowStyleFlags, NSView* viewToAttachTo)