add legacy renderView mode

This commit is contained in:
TrueZhuangjia committed 2025-01-05 12:02:15 +08:00
1 parent 858843ff9a
commit 592b7acfc4
9 files changed
+97 -10

No files matched your search

+3 -2
View File
@@ -567,6 +567,7 @@ ICAgICAgICAgICAgICA
<segments> <segments>
<segment title="Stage Manager"/> <segment title="Stage Manager"/>
<segment title="AirPlay"/> <segment title="AirPlay"/>
<segment title="Disabled"/>
</segments> </segments>
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -995,13 +996,13 @@ ICAgICAgICAgICAgICA
<image name="SquaresArrowUp" width="40" height="40"/> <image name="SquaresArrowUp" width="40" height="40"/>
<image name="Trash" width="40" height="40"/> <image name="Trash" width="40" height="40"/>
<systemColor name="secondaryLabelColor"> <systemColor name="secondaryLabelColor">
<color red="0.23529411764705882" green="0.23529411764705882" blue="0.2627450980392157" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.23529411759999999" green="0.23529411759999999" blue="0.26274509800000001" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor> </systemColor>
<systemColor name="systemBackgroundColor"> <systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor> </systemColor>
<systemColor name="tintColor"> <systemColor name="tintColor">
<color red="0.0" green="0.47843137254901963" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor> </systemColor>
<systemColor name="viewFlipsideBackgroundColor"> <systemColor name="viewFlipsideBackgroundColor">
<color red="0.12156862745098039" green="0.12941176470588237" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color red="0.12156862745098039" green="0.12941176470588237" blue="0.14117647058823529" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+1
View File
@@ -576,6 +576,7 @@ ICAgICAgICAgICAgIA
<segments> <segments>
<segment title="Stage Manager"/> <segment title="Stage Manager"/>
<segment title="AirPlay"/> <segment title="AirPlay"/>
<segment title="Disabled"/>
</segments> </segments>
<color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="tintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="selectedSegmentTintColor" red="0.6716768742" green="0.61711704730000005" blue="0.99902987480000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+1 -1
View File
@@ -17,7 +17,7 @@
- (void) userInteractionEnded; - (void) userInteractionEnded;
- (void) streamExitRequested; - (void) streamExitRequested;
- (void) toggleStatsOverlay; - (void) toggleStatsOverlay;
- (void) toggleMouseCapture; - (void) localMousePointerMode;
- (void) toggleMouseVisible; - (void) toggleMouseVisible;
@end @end
+1 -1
View File
@@ -775,7 +775,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5;
[interactionDelegate toggleStatsOverlay]; [interactionDelegate toggleStatsOverlay];
break; break;
case UIKeyboardHIDUsageKeyboardM: case UIKeyboardHIDUsageKeyboardM:
[interactionDelegate toggleMouseCapture]; [interactionDelegate localMousePointerMode];
break; break;
case UIKeyboardHIDUsageKeyboardC: case UIKeyboardHIDUsageKeyboardC:
[interactionDelegate toggleMouseVisible]; [interactionDelegate toggleMouseVisible];
+1 -1
View File
@@ -74,7 +74,7 @@
<string>armv7</string> <string>armv7</string>
</array> </array>
<key>UIRequiresFullScreen</key> <key>UIRequiresFullScreen</key>
<false/> <true/>
<key>UIStatusBarHidden</key> <key>UIStatusBarHidden</key>
<true/> <true/>
<key>UISupportedInterfaceOrientations</key> <key>UISupportedInterfaceOrientations</key>
@@ -950,6 +950,7 @@ static NSMutableSet* hostList;
[settingsViewController.hdrSelector setEnabled:!self.settingsExpandedInStreamView]; [settingsViewController.hdrSelector setEnabled:!self.settingsExpandedInStreamView];
[settingsViewController.framePacingSelector setEnabled:!self.settingsExpandedInStreamView]; [settingsViewController.framePacingSelector setEnabled:!self.settingsExpandedInStreamView];
[settingsViewController.btMouseSelector setEnabled:!self.settingsExpandedInStreamView]; [settingsViewController.btMouseSelector setEnabled:!self.settingsExpandedInStreamView];
[settingsViewController.externalDisplayModeSelector setEnabled:!self.settingsExpandedInStreamView];
[settingsViewController.goBackToStreamViewButton setEnabled:self.settingsExpandedInStreamView]; [settingsViewController.goBackToStreamViewButton setEnabled:self.settingsExpandedInStreamView];
[settingsViewController.allowPortraitSelector setEnabled:!self.settingsExpandedInStreamView && [self isFullScreenRequired]];//need "requires fullscreen" enabled in the app bunddle to make runtime orientation limitation woring [settingsViewController.allowPortraitSelector setEnabled:!self.settingsExpandedInStreamView && [self isFullScreenRequired]];//need "requires fullscreen" enabled in the app bunddle to make runtime orientation limitation woring
@@ -199,8 +199,14 @@
[self prepExtScreen:UIScreen.screens.lastObject]; [self prepExtScreen:UIScreen.screens.lastObject];
} }
else { else {
/*
_settings.externalDisplayMode.intValue:
0 - stage manager
1 - airplay
2 - disabled
*/
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
[self->_streamView insertSubview:self->_streamVideoRenderView atIndex:0]; if(self->_settings.externalDisplayMode.intValue != 2) [self->_streamView insertSubview:self->_streamVideoRenderView atIndex:0];
}); });
} }
@@ -275,10 +281,21 @@
_controllerSupport = [[ControllerSupport alloc] initWithConfig:self.streamConfig delegate:self]; _controllerSupport = [[ControllerSupport alloc] initWithConfig:self.streamConfig delegate:self];
_inactivityTimer = nil; _inactivityTimer = nil;
_streamVideoRenderView = (StreamView*)[[UIView alloc] initWithFrame:self.view.frame];
_streamView = [[StreamView alloc] initWithFrame:self.view.frame]; _streamView = [[StreamView alloc] initWithFrame:self.view.frame];
_streamVideoRenderView.bounds = _streamView.bounds;
_streamVideoRenderView.userInteractionEnabled = false; // this will prevent renderView from intrecepting touchEvents which shall be interacting with streamView /*
_settings.externalDisplayMode.intValue:
0 - stage manager
1 - airplay
2 - disabled
*/
if(_settings.externalDisplayMode.intValue == 2) _streamVideoRenderView = _streamView;
else {
NSLog(@"renderView separated from streamView");
_streamVideoRenderView = (StreamView*)[[UIView alloc] initWithFrame:self.view.frame];
_streamVideoRenderView.bounds = _streamView.bounds;
_streamVideoRenderView.userInteractionEnabled = false; // this will prevent renderView from intrecepting touchEvents which shall be interacting with streamView
}
//[_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig]; //[_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig];
[self reConfigStreamViewRealtime]; // call this method again to make sure all gestures are configured & added to the superview(self.view), including the gestures added from inside the streamview. [self reConfigStreamViewRealtime]; // call this method again to make sure all gestures are configured & added to the superview(self.view), including the gestures added from inside the streamview.
@@ -552,7 +569,13 @@
Log(LOG_I, @"Removing External Screen"); Log(LOG_I, @"Removing External Screen");
_extWindow.hidden = YES; _extWindow.hidden = YES;
[self handleViewResize]; [self handleViewResize];
[_streamView insertSubview:_streamVideoRenderView atIndex:0]; /*
_settings.externalDisplayMode.intValue:
0 - stage manager
1 - airplay
2 - disabled
*/
if(_settings.externalDisplayMode.intValue != 2) [_streamView insertSubview:_streamVideoRenderView atIndex:0];
} }
- (void) handleViewResize{ - (void) handleViewResize{
@@ -963,6 +986,7 @@
currentSettings.localMousePointerMode = @0; currentSettings.localMousePointerMode = @0;
} }
[dataMan saveData]; [dataMan saveData];
[self reConfigStreamViewRealtime]; [self reConfigStreamViewRealtime];
} }
+30
View File
@@ -2401,6 +2401,36 @@
} }
} }
}, },
"VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
"value" : "Disabled"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
}
}
},
"WDY-9o-6Hb.segmentTitles[0]" : { "WDY-9o-6Hb.segmentTitles[0]" : {
"comment" : "Class = \"UISegmentedControl\"; WDY-9o-6Hb.segmentTitles[0] = \"No\"; ObjectID = \"WDY-9o-6Hb\";", "comment" : "Class = \"UISegmentedControl\"; WDY-9o-6Hb.segmentTitles[0] = \"No\"; ObjectID = \"WDY-9o-6Hb\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",
+30
View File
@@ -2221,6 +2221,36 @@
} }
} }
}, },
"VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
"value" : "Disabled"
}
},
"zh-Hans" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
},
"zh-Hant" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
},
"zh-HK" : {
"stringUnit" : {
"state" : "translated",
"value" : "禁用"
}
}
}
},
"WGf-9d-eAm.segmentTitles[0]" : { "WGf-9d-eAm.segmentTitles[0]" : {
"comment" : "Class = \"UISegmentedControl\"; WGf-9d-eAm.segmentTitles[0] = \"Off\"; ObjectID = \"WGf-9d-eAm\";", "comment" : "Class = \"UISegmentedControl\"; WGf-9d-eAm.segmentTitles[0] = \"Off\"; ObjectID = \"WGf-9d-eAm\";",
"extractionState" : "extracted_with_value", "extractionState" : "extracted_with_value",