mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-20 02:36:22 +03:00
Merge pull request #1417 from peteschaffner/move-color-extensions-into-crosskit
Move color extensions into OSColor
This commit is contained in:
@ -65,8 +65,8 @@
|
|||||||
A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */; };
|
A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */; };
|
||||||
A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */; };
|
A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */; };
|
||||||
A5FEB3002ABB69450068369E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FEB2FF2ABB69450068369E /* main.swift */; };
|
A5FEB3002ABB69450068369E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5FEB2FF2ABB69450068369E /* main.swift */; };
|
||||||
C159E81D2B66A06B00FDFE9C /* NSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */; };
|
C159E81D2B66A06B00FDFE9C /* OSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */; };
|
||||||
C159E8402B68EB0000FDFE9C /* UIColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */; };
|
C159E89D2B69A2EF00FDFE9C /* OSColor+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
@ -125,8 +125,7 @@
|
|||||||
A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationController.swift; sourceTree = "<group>"; };
|
A5E112942AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationController.swift; sourceTree = "<group>"; };
|
||||||
A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationView.swift; sourceTree = "<group>"; };
|
A5E112962AF7401B00C6E0C2 /* ClipboardConfirmationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClipboardConfirmationView.swift; sourceTree = "<group>"; };
|
||||||
A5FEB2FF2ABB69450068369E /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
|
A5FEB2FF2ABB69450068369E /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
|
||||||
C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSColor+Extension.swift"; sourceTree = "<group>"; };
|
C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSColor+Extension.swift"; sourceTree = "<group>"; };
|
||||||
C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@ -191,8 +190,7 @@
|
|||||||
8503D7C62A549C66006CFF3D /* FullScreenHandler.swift */,
|
8503D7C62A549C66006CFF3D /* FullScreenHandler.swift */,
|
||||||
A59630962AEE163600D64628 /* HostingWindow.swift */,
|
A59630962AEE163600D64628 /* HostingWindow.swift */,
|
||||||
A59FB5D02AE0DEA7009128F3 /* MetalView.swift */,
|
A59FB5D02AE0DEA7009128F3 /* MetalView.swift */,
|
||||||
C159E81C2B66A06B00FDFE9C /* NSColor+Extension.swift */,
|
C159E81C2B66A06B00FDFE9C /* OSColor+Extension.swift */,
|
||||||
C159E83F2B68EB0000FDFE9C /* UIColor+Extension.swift */,
|
|
||||||
A5CEAFDA29B8005900646FDA /* SplitView */,
|
A5CEAFDA29B8005900646FDA /* SplitView */,
|
||||||
);
|
);
|
||||||
path = Helpers;
|
path = Helpers;
|
||||||
@ -495,7 +493,7 @@
|
|||||||
A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */,
|
A5E112952AF73E8A00C6E0C2 /* ClipboardConfirmationController.swift in Sources */,
|
||||||
8503D7C72A549C66006CFF3D /* FullScreenHandler.swift in Sources */,
|
8503D7C72A549C66006CFF3D /* FullScreenHandler.swift in Sources */,
|
||||||
A596309E2AEE1D6C00D64628 /* TerminalView.swift in Sources */,
|
A596309E2AEE1D6C00D64628 /* TerminalView.swift in Sources */,
|
||||||
C159E81D2B66A06B00FDFE9C /* NSColor+Extension.swift in Sources */,
|
C159E81D2B66A06B00FDFE9C /* OSColor+Extension.swift in Sources */,
|
||||||
A5CEAFDE29B8058B00646FDA /* SplitView.Divider.swift in Sources */,
|
A5CEAFDE29B8058B00646FDA /* SplitView.Divider.swift in Sources */,
|
||||||
A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */,
|
A5E112972AF7401B00C6E0C2 /* ClipboardConfirmationView.swift in Sources */,
|
||||||
A514C8D82B54DC6800493A16 /* Ghostty.App.swift in Sources */,
|
A514C8D82B54DC6800493A16 /* Ghostty.App.swift in Sources */,
|
||||||
@ -509,12 +507,12 @@
|
|||||||
A53D0C942B53B43700305CE6 /* iOSApp.swift in Sources */,
|
A53D0C942B53B43700305CE6 /* iOSApp.swift in Sources */,
|
||||||
A514C8D72B54A16400493A16 /* Ghostty.Config.swift in Sources */,
|
A514C8D72B54A16400493A16 /* Ghostty.Config.swift in Sources */,
|
||||||
A5333E232B5A219A008AEFF7 /* SurfaceView.swift in Sources */,
|
A5333E232B5A219A008AEFF7 /* SurfaceView.swift in Sources */,
|
||||||
C159E8402B68EB0000FDFE9C /* UIColor+Extension.swift in Sources */,
|
|
||||||
A5333E202B5A2111008AEFF7 /* SurfaceView_UIKit.swift in Sources */,
|
A5333E202B5A2111008AEFF7 /* SurfaceView_UIKit.swift in Sources */,
|
||||||
A5333E1D2B5A1CE3008AEFF7 /* CrossKit.swift in Sources */,
|
A5333E1D2B5A1CE3008AEFF7 /* CrossKit.swift in Sources */,
|
||||||
A53D0C9C2B543F7B00305CE6 /* Package.swift in Sources */,
|
A53D0C9C2B543F7B00305CE6 /* Package.swift in Sources */,
|
||||||
A53D0C9B2B543F3B00305CE6 /* Ghostty.App.swift in Sources */,
|
A53D0C9B2B543F3B00305CE6 /* Ghostty.App.swift in Sources */,
|
||||||
A5333E242B5A22D9008AEFF7 /* Ghostty.Shell.swift in Sources */,
|
A5333E242B5A22D9008AEFF7 /* Ghostty.Shell.swift in Sources */,
|
||||||
|
C159E89D2B69A2EF00FDFE9C /* OSColor+Extension.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -262,17 +262,10 @@ extension Ghostty {
|
|||||||
// This isn't actually a configurable value currently but it could be done day.
|
// This isn't actually a configurable value currently but it could be done day.
|
||||||
// We put it here because it is a color that changes depending on the configuration.
|
// We put it here because it is a color that changes depending on the configuration.
|
||||||
var splitDividerColor: Color {
|
var splitDividerColor: Color {
|
||||||
#if canImport(AppKit)
|
let backgroundColor = OSColor(backgroundColor)
|
||||||
let backgroundColor = NSColor(backgroundColor)
|
|
||||||
let isLightBackground = backgroundColor.isLightColor
|
let isLightBackground = backgroundColor.isLightColor
|
||||||
let newColor = isLightBackground ? backgroundColor.shadow(withLevel: 0.1) : backgroundColor.shadow(withLevel: 0.4)
|
let newColor = isLightBackground ? backgroundColor.darken(by: 0.08) : backgroundColor.darken(by: 0.4)
|
||||||
return Color(nsColor: newColor ?? .gray.withAlphaComponent(0.5))
|
|
||||||
#else
|
|
||||||
let backgroundColor = UIColor(backgroundColor)
|
|
||||||
let isLightBackground = backgroundColor.isLightColor
|
|
||||||
let newColor = isLightBackground ? backgroundColor.darken(by: 0.1) : backgroundColor.darken(by: 0.4)
|
|
||||||
return Color(newColor)
|
return Color(newColor)
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
import AppKit
|
|
||||||
|
|
||||||
extension NSColor {
|
|
||||||
var isLightColor: Bool {
|
|
||||||
var r: CGFloat = 0
|
|
||||||
var g: CGFloat = 0
|
|
||||||
var b: CGFloat = 0
|
|
||||||
var a: CGFloat = 0
|
|
||||||
|
|
||||||
self.getRed(&r, green: &g, blue: &b, alpha: &a)
|
|
||||||
let luminance = (0.299 * r) + (0.587 * g) + (0.114 * b)
|
|
||||||
return luminance > 0.5
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
import UIKit
|
import Foundation
|
||||||
|
|
||||||
extension UIColor {
|
extension OSColor {
|
||||||
var isLightColor: Bool {
|
var isLightColor: Bool {
|
||||||
var r: CGFloat = 0
|
var r: CGFloat = 0
|
||||||
var g: CGFloat = 0
|
var g: CGFloat = 0
|
||||||
@ -12,9 +12,9 @@ extension UIColor {
|
|||||||
return luminance > 0.5
|
return luminance > 0.5
|
||||||
}
|
}
|
||||||
|
|
||||||
func darken(by amount: CGFloat) -> UIColor {
|
func darken(by amount: CGFloat) -> OSColor {
|
||||||
var h: CGFloat = 0, s: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0
|
var h: CGFloat = 0, s: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 0
|
||||||
self.getHue(&h, saturation: &s, brightness: &b, alpha: &a)
|
self.getHue(&h, saturation: &s, brightness: &b, alpha: &a)
|
||||||
return UIColor(hue: h, saturation: s, brightness: min(b * (1 - amount), 1), alpha: a)
|
return OSColor(hue: h, saturation: s, brightness: min(b * (1 - amount), 1), alpha: a)
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user