From 6495bad6fe091c30c48e954cf8eeb5edc36370a8 Mon Sep 17 00:00:00 2001 From: TrueZhuangjia Date: Tue, 15 Oct 2024 11:39:06 +0800 Subject: [PATCH] button size, height & alpha labels with factors --- Limelight/Localization/Localizable.xcstrings | 69 +++++++++++++++++++ .../LayoutOnScreenControlsViewController.m | 40 +++++------ 2 files changed, 88 insertions(+), 21 deletions(-) diff --git a/Limelight/Localization/Localizable.xcstrings b/Limelight/Localization/Localizable.xcstrings index 358a654a..8c8b478c 100644 --- a/Limelight/Localization/Localizable.xcstrings +++ b/Limelight/Localization/Localizable.xcstrings @@ -260,6 +260,29 @@ } } }, + "Button Alpha: %.2f" : { + "extractionState" : "manual", + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键透明度: %.2f" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键透明度: %.2f" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键透明度: %.2f" + } + } + } + }, "Button Height" : { "extractionState" : "manual", "localizations" : { @@ -283,6 +306,29 @@ } } }, + "Button Height: %.2f" : { + "extractionState" : "manual", + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键高度: %.2f" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键高度: %.2f" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键高度: %.2f" + } + } + } + }, "Button Size" : { "extractionState" : "manual", "localizations" : { @@ -306,6 +352,29 @@ } } }, + "Button Size: %.2f" : { + "extractionState" : "manual", + "localizations" : { + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键大小: %.2f" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键大小: %.2f" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "按键大小: %.2f" + } + } + } + }, "Cancel" : { "extractionState" : "manual", "localizations" : { diff --git a/Limelight/ViewControllers/CustomOSCViewControl/LayoutOnScreenControlsViewController.m b/Limelight/ViewControllers/CustomOSCViewControl/LayoutOnScreenControlsViewController.m index 0bdc87ea..41aec5e6 100644 --- a/Limelight/ViewControllers/CustomOSCViewControl/LayoutOnScreenControlsViewController.m +++ b/Limelight/ViewControllers/CustomOSCViewControl/LayoutOnScreenControlsViewController.m @@ -382,6 +382,11 @@ [self.buttonAndControllerSizeSlider setValue: self->selectedButtonView.widthFactor]; [self.buttonAndControllerHeightSlider setValue: self->selectedButtonView.heightFactor]; [self.buttonAndControllerAlphaSlider setValue: self->selectedButtonView.backgroundAlpha]; + + [buttonSizeSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Size: %.2f", self->selectedButtonView.widthFactor]]; + [buttonHeightSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Height: %.2f", self->selectedButtonView.heightFactor]]; + [buttonAlphaSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Alpha: %.2f", self->selectedButtonView.backgroundAlpha]]; + } - (void)setControllerCALayerSliderValues: (NSNotification *)notification{ @@ -395,41 +400,33 @@ // setup slider values CGFloat sizeFactor = [OnScreenControls getControllerLayerSizeFactor:controllerLayer]; // calculated sizeFactor from loaded layer bounds. [self.buttonAndControllerSizeSlider setValue:sizeFactor]; + [self.buttonAndControllerHeightSlider setValue:sizeFactor]; CGFloat alpha = [self.layoutOSC getControllerLayerOpacity:controllerLayer]; [self.buttonAndControllerAlphaSlider setValue:alpha]; + + [buttonSizeSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Size: %.2f", sizeFactor]]; + [buttonHeightSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Height: %.2f", sizeFactor]]; + [buttonAlphaSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Alpha: %.2f", alpha]]; } -- (void)buttonAndControllerWidthSliderMoved{ +- (void)buttonAndControllerSizeSliderMoved{ + [buttonSizeSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Size: %.2f", self.buttonAndControllerSizeSlider.value]]; + [buttonHeightSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Height: %.2f", self.buttonAndControllerSizeSlider.value]]; // resizing the whole button + [self.buttonAndControllerHeightSlider setValue: self.buttonAndControllerSizeSlider.value]; + if(self->selectedButtonView != nil && self->buttonViewSelected){ self->selectedButtonView.translatesAutoresizingMaskIntoConstraints = true; // this is mandatory to prevent unexpected key view location change // when adjusting width, the buttonView height will be syncronized self->selectedButtonView.widthFactor = self->selectedButtonView.heightFactor = self.buttonAndControllerSizeSlider.value; - [self.buttonAndControllerHeightSlider setValue: self.buttonAndControllerSizeSlider.value]; [self->selectedButtonView resizeButtonView]; } if(self->selectedControllerLayer != nil && self->controllerLayerSelected){ [self.layoutOSC resizeControllerLayerWith:self->selectedControllerLayer and:self.buttonAndControllerSizeSlider.value]; - return; - - CALayer* superLayer = self->selectedControllerLayer.superlayer; - // if(self->selectedControllerLayer.name == @"") - if ([self->selectedControllerLayer.name isEqualToString:@"r1Button"] || - [self->selectedControllerLayer.name isEqualToString:@"r2Button"] || - [self->selectedControllerLayer.name isEqualToString:@"l1Button"] || - [self->selectedControllerLayer.name isEqualToString:@"l2Button"] || - [self->selectedControllerLayer.name isEqualToString:@"aButton"] || - [self->selectedControllerLayer.name isEqualToString:@"bButton"] || - [self->selectedControllerLayer.name isEqualToString:@"xButton"] || - [self->selectedControllerLayer.name isEqualToString:@"yButton"]){ - [self->selectedControllerLayer removeFromSuperlayer]; - self->selectedControllerLayer.bounds = CGRectMake(0, 0, self.layoutOSC.standardRoundButtonBounds.size.width * self.buttonAndControllerSizeSlider.value, self.layoutOSC.standardRoundButtonBounds.size.height * self.buttonAndControllerSizeSlider.value); - [superLayer addSublayer:self->selectedControllerLayer]; - } } - } - (void)buttonAndControllerHeightSliderMoved{ + [buttonHeightSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Height: %.2f", self.buttonAndControllerHeightSlider.value]]; if(self->selectedButtonView != nil && self->buttonViewSelected){ self->selectedButtonView.translatesAutoresizingMaskIntoConstraints = true; // this is mandatory to prevent unexpected key view location change self->selectedButtonView.heightFactor = self.buttonAndControllerHeightSlider.value; @@ -438,10 +435,11 @@ } - (void)buttonAndControllerAlphaSliderMoved{ + [buttonAlphaSliderLabel setText:[LocalizationHelper localizedStringForKey:@"Button Alpha: %.2f", self.buttonAndControllerAlphaSlider.value]]; if(self->selectedButtonView != nil && self->buttonViewSelected){ [self->selectedButtonView adjustButtonTransparencyWithAlpha:self.buttonAndControllerAlphaSlider.value]; } - + if(self->selectedControllerLayer != nil && self->controllerLayerSelected){ [self.layoutOSC adjustControllerLayerOpacityWith:self->selectedControllerLayer and:self.buttonAndControllerAlphaSlider.value]; } @@ -458,7 +456,7 @@ // button size sliders self.buttonAndControllerSizeSlider.hidden = NO; self.buttonAndControllerSizeSlider.frame = CGRectMake(xPosition, self.buttonAndControllerSizeSlider.frame.origin.y, self.buttonAndControllerSizeSlider.frame.size.width, self.buttonAndControllerSizeSlider.frame.size.height); - [self.buttonAndControllerSizeSlider addTarget:self action:@selector(buttonAndControllerWidthSliderMoved) forControlEvents:(UIControlEventValueChanged)]; + [self.buttonAndControllerSizeSlider addTarget:self action:@selector(buttonAndControllerSizeSliderMoved) forControlEvents:(UIControlEventValueChanged)]; buttonSizeSliderLabel.text = [LocalizationHelper localizedStringForKey:@"Button Size"]; buttonSizeSliderLabel.font = [UIFont systemFontOfSize:23]; buttonSizeSliderLabel.textColor = [UIColor whiteColor];