- Resolving app crash which happens occasionally after slide from screen edge
- Slide from upper 40% of left & right screen edge to open in-stream menus will no longer sends touch event to remote PC
This commit is contained in:
1 parent
db75cac9bc
commit
69f5fbef31
10 files changed
+61
-60
No files matched your search
+6
-6
@@ -1,17 +1,17 @@
|
||||
//
|
||||
// CustomEdgeSwipeGestureRecognizer.h
|
||||
// CustomEdgeSlideGestureRecognizer.h
|
||||
// Moonlight-ZWM
|
||||
//
|
||||
// Created by ZWM on 2024/4/30.
|
||||
// Copyright © 2024 Moonlight Game Streaming Project. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef CustomEdgeSwipeGestureRecognizer_h
|
||||
#define CustomEdgeSwipeGestureRecognizer_h
|
||||
// CustomEdgeSwipeGestureRecognizer.h
|
||||
#ifndef CustomEdgeSlideGestureRecognizer_h
|
||||
#define CustomEdgeSlideGestureRecognizer_h
|
||||
// CustomEdgeSlideGestureRecognizer.h
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface CustomEdgeSwipeGestureRecognizer : UIGestureRecognizer
|
||||
@interface CustomEdgeSlideGestureRecognizer : UIGestureRecognizer
|
||||
|
||||
@property (nonatomic, assign) UIRectEdge edges; // Specify the edge(s) you want to recognize the swipe gesture on
|
||||
@property (nonatomic, assign) CGFloat normalizedThresholdDistance; // Distance from the edge to start recognizing the gesture
|
||||
@@ -19,4 +19,4 @@
|
||||
@property (nonatomic, assign) CGFloat EDGE_TOLERANCE;
|
||||
|
||||
@end
|
||||
#endif /* CustomEdgeSwipeGestureRecognizer_h */
|
||||
#endif /* CustomEdgeSlideGestureRecognizer_h */
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// CustomEdgeSwipeGestureRecognizer.m
|
||||
// CustomEdgeSlideGestureRecognizer.m
|
||||
// Moonlight-ZWM
|
||||
//
|
||||
// Created by ZWM on 2024/4/30.
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
// #import <Foundation/Foundation.h>
|
||||
|
||||
#import "CustomEdgeSwipeGestureRecognizer.h"
|
||||
#import "CustomEdgeSlideGestureRecognizer.h"
|
||||
#import <UIKit/UIGestureRecognizerSubclass.h>
|
||||
|
||||
@implementation CustomEdgeSwipeGestureRecognizer
|
||||
@implementation CustomEdgeSlideGestureRecognizer
|
||||
UITouch* capturedUITouch;
|
||||
CGFloat startPointX;
|
||||
static CGFloat screenWidthInPoints;
|
||||
@@ -27,7 +27,7 @@
|
||||
#import "IdManager.h"
|
||||
#import "ConnectionHelper.h"
|
||||
#import "LocalizationHelper.h"
|
||||
#import "CustomEdgeSwipeGestureRecognizer.h"
|
||||
#import "CustomEdgeSlideGestureRecognizer.h"
|
||||
#import "DataManager.h"
|
||||
#import "Moonlight-Swift.h" // not used yet.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#import "AppDelegate.h"
|
||||
#import "CustomOSCViewControl/LayoutOnScreenControlsViewController.h"
|
||||
#import "MainFrameViewController.h"
|
||||
#import "CustomEdgeSwipeGestureRecognizer.h"
|
||||
#import "CustomEdgeSlideGestureRecognizer.h"
|
||||
|
||||
@interface SettingsViewController : UIViewController
|
||||
@property (strong, nonatomic) IBOutlet UILabel *bitrateLabel;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#import "StreamManager.h"
|
||||
#import "ControllerSupport.h"
|
||||
#import "DataManager.h"
|
||||
#import "CustomEdgeSwipeGestureRecognizer.h"
|
||||
#import "CustomEdgeSlideGestureRecognizer.h"
|
||||
#import "CustomTapGestureRecognizer.h"
|
||||
#import "LocalizationHelper.h"
|
||||
#import "Moonlight-Swift.h"
|
||||
@@ -55,8 +55,8 @@
|
||||
BOOL _userIsInteracting;
|
||||
CGSize _keyboardSize;
|
||||
#if !TARGET_OS_TV
|
||||
CustomEdgeSwipeGestureRecognizer *_slideToSettingsRecognizer;
|
||||
CustomEdgeSwipeGestureRecognizer *_slideToCmdToolRecognizer;
|
||||
CustomEdgeSlideGestureRecognizer *_slideToSettingsRecognizer;
|
||||
CustomEdgeSlideGestureRecognizer *_slideToCmdToolRecognizer;
|
||||
CustomTapGestureRecognizer *_oscLayoutTapRecoginizer;
|
||||
LayoutOnScreenControlsViewController *_layoutOnScreenControlsVC;
|
||||
#endif
|
||||
@@ -95,7 +95,7 @@
|
||||
}
|
||||
|
||||
- (void)configSwipeGestures{
|
||||
_slideToSettingsRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
|
||||
_slideToSettingsRecognizer = [[CustomEdgeSlideGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
|
||||
_slideToSettingsRecognizer.edges = _settings.slideToSettingsScreenEdge.intValue;
|
||||
_slideToSettingsRecognizer.normalizedThresholdDistance = _settings.slideToSettingsDistance.floatValue;
|
||||
_slideToSettingsRecognizer.delaysTouchesBegan = NO;
|
||||
@@ -103,7 +103,7 @@
|
||||
[self.view addGestureRecognizer:_slideToSettingsRecognizer];
|
||||
|
||||
|
||||
_slideToCmdToolRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(presentCommandManagerViewController)];
|
||||
_slideToCmdToolRecognizer = [[CustomEdgeSlideGestureRecognizer alloc] initWithTarget:self action:@selector(presentCommandManagerViewController)];
|
||||
if(_settings.slideToSettingsScreenEdge.intValue == UIRectEdgeLeft) _slideToCmdToolRecognizer.edges = UIRectEdgeRight;
|
||||
else _slideToCmdToolRecognizer.edges = UIRectEdgeLeft; // _commandManager triggered by sliding from another side.
|
||||
_slideToCmdToolRecognizer.normalizedThresholdDistance = _settings.slideToSettingsDistance.floatValue;
|
||||
|
||||
Reference in new issue
Block a user