diff --git a/src/joystick/apple/SDL_mfijoystick.m b/src/joystick/apple/SDL_mfijoystick.m index 23d6b23f80..811a9f1ae7 100644 --- a/src/joystick/apple/SDL_mfijoystick.m +++ b/src/joystick/apple/SDL_mfijoystick.m @@ -50,9 +50,7 @@ static id disconnectObserver = nil; #include -/* remove compilation warnings for strict builds by defining these selectors, even though - * they are only ever used indirectly through objc_msgSend - */ +// Fix build errors when using an older SDK by defining these selectors @interface GCController (SDL) #if !((__IPHONE_OS_VERSION_MAX_ALLOWED >= 140500) || (__APPLETV_OS_VERSION_MAX_ALLOWED >= 140500) || (__MAC_OS_X_VERSION_MAX_ALLOWED >= 110300)) @property(class, nonatomic, readwrite) BOOL shouldMonitorBackgroundEvents; diff --git a/src/video/uikit/SDL_uikitpen.m b/src/video/uikit/SDL_uikitpen.m index 622513c24d..520968163d 100644 --- a/src/video/uikit/SDL_uikitpen.m +++ b/src/video/uikit/SDL_uikitpen.m @@ -28,6 +28,31 @@ #include "../../events/SDL_pen_c.h" +// Fix build errors when using an older SDK by defining these selectors +#if !defined(SDL_PLATFORM_TVOS) + +@interface UITouch (SDL) +#if !(__IPHONE_OS_VERSION_MAX_ALLOWED >= 170500) +@property (nonatomic, readonly) CGFloat rollAngle; +#endif +@end + +@interface UIHoverGestureRecognizer (SDL) +#if !(__IPHONE_OS_VERSION_MAX_ALLOWED >= 160100) +@property (nonatomic, readonly) CGFloat zOffset; +#endif +#if !(__IPHONE_OS_VERSION_MAX_ALLOWED >= 160400) +- (CGFloat) azimuthAngleInView:(UIView *) view; + +@property (nonatomic, readonly) CGFloat altitudeAngle; +#endif +#if !(__IPHONE_OS_VERSION_MAX_ALLOWED >= 170500) +@property (nonatomic, readonly) CGFloat rollAngle; +#endif +@end + +#endif // !SDL_PLATFORM_TVOS + static SDL_PenID apple_pencil_id = 0; bool UIKit_InitPen(SDL_VideoDevice *_this) @@ -142,11 +167,11 @@ extern void UIKit_HandlePenHover(SDL_uikitview *view, UIHoverGestureRecognizer * static void UIKit_HandlePenAxesFromUITouch(SDL_uikitview *view, UITouch *pencil) { float rollAngle = 0.0f; - #if !defined(SDL_PLATFORM_TVOS) +#if !defined(SDL_PLATFORM_TVOS) if (@available(iOS 17.5, *)) { rollAngle = (float) [pencil rollAngle]; } - #endif +#endif SDL_Window *window = [view getSDLWindow]; const CGPoint point = [pencil locationInView:view];