diff --git a/ShhShell.xcodeproj/project.pbxproj b/ShhShell.xcodeproj/project.pbxproj index 08b0d63..f4a3cfe 100644 --- a/ShhShell.xcodeproj/project.pbxproj +++ b/ShhShell.xcodeproj/project.pbxproj @@ -50,6 +50,7 @@ A96C90A12E12B87A00724253 /* TextBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96C90A02E12B87900724253 /* TextBox.swift */; }; A96C90A32E12D53B00724253 /* KeyType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A96C90A22E12D53900724253 /* KeyType.swift */; }; A9835C3C2E17CCA500969508 /* TrafficLights.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9835C3B2E17CCA500969508 /* TrafficLights.swift */; }; + A9835C3E2E17E9C100969508 /* invert.metal in Sources */ = {isa = PBXBuildFile; fileRef = A9835C3D2E17E9C100969508 /* invert.metal */; }; A98554552E05535F009051BD /* KeyManagerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98554542E05535F009051BD /* KeyManagerView.swift */; }; A98554592E0553AA009051BD /* KeyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A98554582E0553AA009051BD /* KeyManager.swift */; }; A985545D2E055D4D009051BD /* ConnectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A985545C2E055D4D009051BD /* ConnectionView.swift */; }; @@ -156,6 +157,7 @@ A96C90A02E12B87900724253 /* TextBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextBox.swift; sourceTree = ""; }; A96C90A22E12D53900724253 /* KeyType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyType.swift; sourceTree = ""; }; A9835C3B2E17CCA500969508 /* TrafficLights.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrafficLights.swift; sourceTree = ""; }; + A9835C3D2E17E9C100969508 /* invert.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = invert.metal; sourceTree = ""; }; A98554542E05535F009051BD /* KeyManagerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyManagerView.swift; sourceTree = ""; }; A98554582E0553AA009051BD /* KeyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyManager.swift; sourceTree = ""; }; A985545C2E055D4D009051BD /* ConnectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionView.swift; sourceTree = ""; }; @@ -358,6 +360,7 @@ A96C90A02E12B87900724253 /* TextBox.swift */, A9DA97722E0D40C100142DDC /* HostSymbolPreview.swift */, A9835C3B2E17CCA500969508 /* TrafficLights.swift */, + A9835C3D2E17E9C100969508 /* invert.metal */, ); path = Misc; sourceTree = ""; @@ -630,6 +633,7 @@ A98554612E058433009051BD /* HostsManager.swift in Sources */, A985545D2E055D4D009051BD /* ConnectionView.swift in Sources */, A9FD37592E143D74005319A8 /* GenericPasswordConvertible.swift in Sources */, + A9835C3E2E17E9C100969508 /* invert.metal in Sources */, A98554592E0553AA009051BD /* KeyManager.swift in Sources */, A9C897EF2DF1A9A400EF9A5F /* SSHHandler.swift in Sources */, A9D819312E102D8700442D38 /* HostkeysView.swift in Sources */, @@ -820,7 +824,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16; + IPHONEOS_DEPLOYMENT_TARGET = 17; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -857,7 +861,7 @@ INFOPLIST_KEY_UILaunchScreen_Generation = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 16; + IPHONEOS_DEPLOYMENT_TARGET = 17; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/ShhShell/Views/Misc/TrafficLights.swift b/ShhShell/Views/Misc/TrafficLights.swift index 425d6df..8faaaf9 100644 --- a/ShhShell/Views/Misc/TrafficLights.swift +++ b/ShhShell/Views/Misc/TrafficLights.swift @@ -52,8 +52,6 @@ struct TrafficLightYellow: View { } struct TrafficLightGreen: View { - @State var enabled: Bool = true - var body: some View { let background: Color = .green let foreground: Color = ColorCodable( @@ -66,46 +64,16 @@ struct TrafficLightGreen: View { .resizable().scaledToFit() .symbolRenderingMode(.palette) .foregroundStyle(background) - if !enabled { - RoundedRectangle(cornerRadius: 5) - .foregroundStyle(foreground) - .scaleEffect(0.6) - .aspectRatio(1, contentMode: .fit) - .clipShape(RoundedRectangle(cornerRadius: 5)) - Rectangle() - .foregroundStyle(background) - .scaleEffect(0.8) - .aspectRatio(0.2, contentMode: .fit) - .rotationEffect(.degrees(45)) - } else { - ZStack(alignment: .center) { - Group { - Rectangle() - .foregroundStyle(foreground) - .scaleEffect(0.6) - .rotationEffect(.degrees(45)) - .aspectRatio(1, contentMode: .fit) - .clipShape(RoundedRectangle(cornerRadius: 5)) - } - VStack(spacing: 0) { - VStack(alignment: .trailing) { - Rectangle() - .scaleEffect(0.7, anchor: .bottomTrailing) - .aspectRatio(1, contentMode: .fit) - } - .aspectRatio(2, contentMode: .fit) - .border(.red) - VStack(alignment: .leading) { - Rectangle() - .scaleEffect(0.7, anchor: .topLeading) - .aspectRatio(1, contentMode: .fit) - } - .aspectRatio(2, contentMode: .fit) - .border(.red) - } - .border(.blue) - } - } + RoundedRectangle(cornerRadius: 5) + .foregroundStyle(foreground) + .scaleEffect(0.6) + .aspectRatio(1, contentMode: .fit) + .clipShape(RoundedRectangle(cornerRadius: 5)) + Rectangle() + .foregroundStyle(background) + .scaleEffect(0.8) + .aspectRatio(0.2, contentMode: .fit) + .rotationEffect(.degrees(45)) } } } diff --git a/ShhShell/Views/Misc/invert.metal b/ShhShell/Views/Misc/invert.metal new file mode 100644 index 0000000..d457d7a --- /dev/null +++ b/ShhShell/Views/Misc/invert.metal @@ -0,0 +1,13 @@ +// +// invert.metal +// ShhShell +// +// Created by neon443 on 04/07/2025. +// + +#include +using namespace metal; + +[[ stitchable ]] half4 invert(float2 pos, half4 color) { + return half4(0, 1 - color.g, 1 - color.b, 1 - color.a); +}