Files
PojavLauncher_iOS/Natives/SurfaceViewController+ExternalDisplay.m
T
Duy Tran Khanh 1af09ca02d Tweak NSLocalizedString; Keep split display mode
Tweak NSLocalizedString to return English if not yet localized.
Keep Split display mode between rotations.
New debug option: skip JIT wait, for #423
2022-11-17 21:46:38 +07:00

42 lines
1.4 KiB
Objective-C

#import "SceneExternalDelegate.h"
#import "SurfaceViewController.h"
#import "utils.h"
@implementation SurfaceViewController(ExternalDisplay)
- (void)switchToExternalDisplay {
[self.surfaceView removeFromSuperview];
[self.mousePointerView removeFromSuperview];
UILabel *noteLabel = [[UILabel alloc] initWithFrame:self.view.frame];
noteLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
noteLabel.numberOfLines = 0;
noteLabel.textAlignment = NSTextAlignmentCenter;
noteLabel.textColor = UIColor.whiteColor;
noteLabel.text = localize(@"game.note.airplay", nil);
[self.touchView addSubview:noteLabel];
UIWindow *secondWindow = currentWindowInScene(1);
secondWindow.rootViewController = [[UIViewController alloc] init];
[secondWindow.rootViewController.view addSubview:self.surfaceView];
[secondWindow.rootViewController.view addSubview:self.mousePointerView];
[secondWindow makeKeyAndVisible];
[self updateSavedResolution];
}
- (void)switchToInternalDisplay {
[self.surfaceView removeFromSuperview];
[self.mousePointerView removeFromSuperview];
UIWindow *secondWindow = currentWindowInScene(1);
[secondWindow resignKeyWindow];
[self.touchView.subviews[0] removeFromSuperview];
[self.touchView addSubview:self.surfaceView];
[self.touchView addSubview:self.mousePointerView];
[self updateSavedResolution];
}
@end