172 lines
6.4 KiB
Objective-C
172 lines
6.4 KiB
Objective-C
//
|
|
// DataManager.h
|
|
// Moonlight
|
|
//
|
|
// Created by Diego Waxemberg on 10/28/14.
|
|
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
|
|
//
|
|
// Modified by True砖家 since 2024.6.1
|
|
// Copyright © 2024 True砖家 @ Bilibili. All rights reserved.
|
|
//
|
|
|
|
#import "AppDelegate.h"
|
|
#import "TemporaryHost.h"
|
|
#import "TemporaryApp.h"
|
|
#import "TemporarySettings.h"
|
|
|
|
@interface DataManager : NSObject
|
|
|
|
typedef NS_ENUM(NSInteger, ControllerGyroSwitchMode) {
|
|
ControllerGyroSwitchDisabled,
|
|
ControllerGyroSwitchPressToToggle,
|
|
ControllerGyroSwitchHoldDown
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, TouchMode) {
|
|
RelativeTouch,
|
|
NativeTouch,
|
|
AbsoluteTouch,
|
|
TouchDisabled,
|
|
NativeTouchOnly
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, TouchEventPriorityEnum) {
|
|
AsyncNativeTouchOff,
|
|
EqualPriority,
|
|
TouchDownPriority,// deprecated by GUI
|
|
TouchMovePriority// deprecated by GUI
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, GyroMode) {
|
|
GyroModeOff,
|
|
GyroModeAuto,
|
|
AlwaysDevice,
|
|
AlwaysController
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, HapticEnginePreference) {
|
|
HapticEngineAuto,
|
|
RumbleDevice,
|
|
LeftRightSwapped,
|
|
RumbleOff
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, ControllerMouseStick) {
|
|
LeftStickToMouse,
|
|
RightStickToMouse,
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, FramePacingMode) {
|
|
FramePacingModeOff,
|
|
FramePacingModeLegacy,
|
|
FramePacingModeQueue
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, SettingsMenuMode) {
|
|
AllSettings,
|
|
FavoriteSettings,
|
|
RemoveSettingItem,
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, WidgetSizeTransition) {
|
|
keepWidgetSize,
|
|
transitionWithOrientation,
|
|
};
|
|
|
|
typedef NS_ENUM(NSInteger, PencilTickMode) {
|
|
PencilTickDisabled,
|
|
ManualTick
|
|
};
|
|
|
|
- (void) saveSettings:(Settings*)settings
|
|
withBitrate:(NSInteger)bitrate
|
|
framerate:(NSInteger)framerate
|
|
height:(NSInteger)height
|
|
width:(NSInteger)width
|
|
audioConfig:(NSInteger)audioConfig
|
|
onscreenControls:(NSInteger)onscreenControls
|
|
gyroMode:(NSInteger)gyroMode
|
|
emulatedControllerType:(NSInteger)emulatedControllerType
|
|
keyboardToggleFingers:(NSInteger)keyboardToggleFingers
|
|
oscLayoutToolFingers:(NSInteger)oscLayoutToolFingers
|
|
slideToSettingsScreenEdge:(NSInteger)slideToSettingsScreenEdge
|
|
slideToSettingsDistance:(CGFloat)slideToSettingsDistance
|
|
pointerVelocityModeDivider:(CGFloat)pointerVelocityModeDivider
|
|
touchPointerVelocityFactor:(CGFloat)touchPointerVelocityFactor
|
|
mousePointerVelocityFactor:(CGFloat)mousePointerVelocityFactor
|
|
gyroSensitivity:(CGFloat)gyroSensitivity
|
|
localVolume:(CGFloat)localVolume
|
|
micVolume:(CGFloat)micVolume
|
|
touchMoveEventInterval:(NSInteger)touchMoveEventInterval
|
|
reverseMouseWheelDirection:(BOOL)reverseMouseWheelDirection
|
|
asyncNativeTouchPriority:(NSInteger)asyncNativeTouchPriority
|
|
liftStreamViewForKeyboard:(BOOL)liftStreamViewForKeyboard
|
|
showKeyboardToolbar:(BOOL)showKeyboardToolbar
|
|
optimizeGames:(BOOL)optimizeGames
|
|
multiController:(BOOL)multiController
|
|
buttonVisualFeedback:(BOOL)buttonVisualFeedback
|
|
touchPointTracking:(BOOL)touchPointTracking
|
|
swapABXYButtons:(BOOL)swapABXYButtons
|
|
audioOnPC:(BOOL)audioOnPC
|
|
redirectMic:(BOOL)redirectMic
|
|
useBuiltinMic:(BOOL)useBuiltinMic
|
|
preferredCodec:(uint32_t)preferredCodec
|
|
enableYUV444:(BOOL)enableYUV444
|
|
enablePIP:(BOOL)enablePIP
|
|
fullColorRange:(BOOL)fullColorRange
|
|
enableHdr:(BOOL)enableHdr
|
|
btMouseSupport:(BOOL)btMouseSupport
|
|
// absoluteTouchMode:(BOOL)absoluteTouchMode
|
|
touchMode:(NSInteger)touchMode
|
|
statsOverlayLevel:(NSInteger)statsOverlayLevel
|
|
statsOverlayEnabled:(BOOL)statsOverlayEnabled
|
|
unlockDisplayOrientation:(BOOL)unlockDisplayOrientation
|
|
resolutionSelected:(NSInteger)resolutionSelected
|
|
externalDisplayMode:(NSInteger)externalDisplayMode
|
|
localMousePointerMode:(NSInteger)localMousePointerMode
|
|
frameQueueSize:(NSInteger)frameQueueSize
|
|
enableGraphs:(BOOL)enableGraphs
|
|
graphOpacity:(NSInteger)graphOpacity
|
|
renderingBackend:(NSInteger)renderingBackend
|
|
framePacingMode:(NSInteger)framePacingMode
|
|
sendDummyEvent:(BOOL)sendDummyEvent
|
|
rememberFoldState:(BOOL)rememberFoldState
|
|
singleTapSensitivy:(CGFloat)singleTapSensitivy
|
|
hapticEngine:(NSInteger)hapticEngine
|
|
edgeSlidingSensitivity:(CGFloat)edgeSlidingSensitivity
|
|
audioEngine:(NSInteger)audioEngine
|
|
delayLeftClick:(BOOL)delayLeftClick
|
|
duckOtherApps:(BOOL)duckOtherApps
|
|
muteInBackground:(BOOL)muteInBackground
|
|
relativeTouchSlideThreshold:(CGFloat)relativeTouchSlideThreshold
|
|
enablePinch:(BOOL)enablePinch
|
|
scrollSensitivity:(CGFloat)scrollSensitivity
|
|
pinchSensitivity:(CGFloat)pinchSensitivity
|
|
ctrlDownForPinch:(BOOL)ctrlDownForPinch
|
|
leftClickDelayMs:(CGFloat)leftClickDelayMs
|
|
settingsMenuOffset:(CGFloat)settingsMenuOffset
|
|
passthroughGestures:(BOOL)passthroughGestures
|
|
mapControllerToMouse:(BOOL)mapControllerToMouse
|
|
controllerMousePointerVelocity:(CGFloat)controllerMousePointerVelocity
|
|
controllerMouseExpo:(CGFloat)controllerMouseExpo
|
|
controllerGyroSwitchMode:(NSInteger)controllerGyroSwitchMode
|
|
enableFrameTimebase:(BOOL)enableFrameTimebase
|
|
asyncFrameDequeue:(BOOL)asyncFrameDequeue
|
|
sdrPerformanceWorkaround:(BOOL)sdrPerformanceWorkaround
|
|
softKeyboardHeight:(CGFloat)softKeyboardHeight
|
|
backgroundSessionTimer:(NSInteger)backgroundSessionTimer;
|
|
|
|
- (NSArray*) getHosts;
|
|
- (void) updateHost:(TemporaryHost*)host;
|
|
- (void) updateAppsForExistingHost:(TemporaryHost *)host;
|
|
- (void) removeHost:(TemporaryHost*)host;
|
|
- (void) removeApp:(TemporaryApp*)app;
|
|
- (Settings*) retrieveSettings;
|
|
- (void) saveData;
|
|
- (TemporarySettings*) getSettings;
|
|
|
|
- (void) updateUniqueId:(NSString*)uniqueId;
|
|
- (NSString*) getUniqueId;
|
|
|
|
@end
|