diff --git a/sdl2.0.18-macos-ios.diff b/sdl2.0.18-macos-ios.diff

new file mode 100644

index 00000000..8c143226

--- /dev/null

+++ b/sdl2.0.18-macos-ios.diff

@@ -0,0 +1,129 @@

+diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c

+index 539f17138..a5a5b00fd 100644

+--- a/src/events/SDL_mouse.c

++++ b/src/events/SDL_mouse.c

+@@ -709,8 +709,8 @@ SDL_SendMouseWheel(SDL_Window * window, SDL_MouseID mouseID, float x, float y, S

+ event.type = SDL_MOUSEWHEEL;

+ event.wheel.windowID = mouse->focus ? mouse->focus->id : 0;

+ event.wheel.which = mouseID;

+- event.wheel.x = integral_x;

+- event.wheel.y = integral_y;

++ event.wheel.x = x; //integral_x;

++ event.wheel.y = y; //integral_y;

+ event.wheel.preciseX = x;

+ event.wheel.preciseY = y;

+ event.wheel.direction = (Uint32)direction;

+diff --git a/src/video/cocoa/SDL_cocoamouse.m b/src/video/cocoa/SDL_cocoamouse.m

+index e9d832d64..4cfa3624b 100644

+--- a/src/video/cocoa/SDL_cocoamouse.m

++++ b/src/video/cocoa/SDL_cocoamouse.m

+@@ -463,10 +463,16 @@ + (NSCursor *)invisibleCursor

+ }

+ 

+ SDL_MouseID mouseID = mouse->mouseID;

+- CGFloat x = -[event deltaX];

+- CGFloat y = [event deltaY];

++ CGFloat x = -[event scrollingDeltaX];

++ CGFloat y = [event scrollingDeltaY];

+ SDL_MouseWheelDirection direction = SDL_MOUSEWHEEL_NORMAL;

+ 

++ /* HACK: Make a distinction between precise and imprecise scrolling.

++ Trackpad seems to be mouseID 0. */

++ if (![event hasPreciseScrollingDeltas]) {

++ mouseID = 1;

++ }

++

+ if ([event respondsToSelector:@selector(isDirectionInvertedFromDevice)]) {

+ if ([event isDirectionInvertedFromDevice] == YES) {

+ direction = SDL_MOUSEWHEEL_FLIPPED;

+diff --git a/src/video/cocoa/SDL_cocoawindow.h b/src/video/cocoa/SDL_cocoawindow.h

+index 489db169f..79a41dd50 100644

+--- a/src/video/cocoa/SDL_cocoawindow.h

++++ b/src/video/cocoa/SDL_cocoawindow.h

+@@ -110,6 +110,8 @@ typedef enum

+ /* Touch event handling */

+ -(void) handleTouches:(NSTouchPhase) phase withEvent:(NSEvent*) theEvent;

+ 

++-(void) syncMouseButtonAndKeyboardModifierState;

++

+ @end

+ /* INDENT-ON */

+ 

+diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m

+index f09088c45..7379c2269 100644

+--- a/src/video/cocoa/SDL_cocoawindow.m

++++ b/src/video/cocoa/SDL_cocoawindow.m

+@@ -1236,6 +1236,25 @@ - (void)otherMouseDown:(NSEvent *)theEvent

+ [self mouseDown:theEvent];

+ }

+ 

++- (void)syncMouseButtonAndKeyboardModifierState {

++ SDL_Mouse *mouse = SDL_GetMouse();

++ if (mouse) {

++ for (int i = 0; i < mouse->num_sources; i++) {

++ if (mouse->sources[i].mouseID == mouse->mouseID) {

++ mouse->sources[i].buttonstate = 0;

++ }

++ }

++ }

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_LGUI);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_RGUI);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_LSHIFT);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_RSHIFT);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_LCTRL);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_RCTRL);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_LALT);

++ SDL_SendKeyboardKey(SDL_RELEASED, SDL_SCANCODE_RALT);

++}

++

+ - (void)mouseUp:(NSEvent *)theEvent

+ {

+ SDL_Mouse *mouse = SDL_GetMouse();

+diff --git a/src/video/uikit/SDL_uikitviewcontroller.h b/src/video/uikit/SDL_uikitviewcontroller.h

+index f7f4c9de6..50c72aad0 100644

+--- a/src/video/uikit/SDL_uikitviewcontroller.h

++++ b/src/video/uikit/SDL_uikitviewcontroller.h

+@@ -58,10 +58,13 @@

+ #if !TARGET_OS_TV

+ - (NSUInteger)supportedInterfaceOrientations;

+ - (BOOL)prefersStatusBarHidden;

++- (void)setStatusStyle:(UIStatusBarStyle)style;

++- (UIStatusBarStyle)preferredStatusBarStyle;

+ - (BOOL)prefersHomeIndicatorAutoHidden;

+ - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures;

+ 

+ @property (nonatomic, assign) int homeIndicatorHidden;

++@property (nonatomic, assign) UIStatusBarStyle statusBarStyle;

+ #endif

+ 

+ #if SDL_IPHONE_KEYBOARD

+diff --git a/src/video/uikit/SDL_uikitviewcontroller.m b/src/video/uikit/SDL_uikitviewcontroller.m

+index b2db4037d..d39f8085c 100644

+--- a/src/video/uikit/SDL_uikitviewcontroller.m

++++ b/src/video/uikit/SDL_uikitviewcontroller.m

+@@ -105,6 +105,7 @@ - (instancetype)initWithSDLWindow:(SDL_Window *)_window

+ #endif

+ 

+ #if !TARGET_OS_TV

++ self.statusBarStyle = UIStatusBarStyleDefault;

+ SDL_AddHintCallback(SDL_HINT_IOS_HIDE_HOME_INDICATOR,

+ SDL_HideHomeIndicatorHintChanged,

+ (__bridge void *) self);

+@@ -230,6 +231,17 @@ - (BOOL)prefersHomeIndicatorAutoHidden

+ return hidden;

+ }

+ 

++- (void)setStatusStyle:(UIStatusBarStyle)style

++{

++ self.statusBarStyle = style;

++ [self setNeedsStatusBarAppearanceUpdate];

++}

++

++- (UIStatusBarStyle)preferredStatusBarStyle

++{

++ return self.statusBarStyle;

++}

++

+ - (UIRectEdge)preferredScreenEdgesDeferringSystemGestures

+ {

+ if (self.homeIndicatorHidden >= 0) {

Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/work%2Fv1.8/pcdiff/81610dc712d004e81f9bbf1feaf6433a09f56e3a
Status Code
Success (20)
Meta
text/plain
Capsule Response Time
52.239078 milliseconds
Gemini-to-HTML Time
3.470926 milliseconds

This content has been proxied by September (ba2dc).