OSDN Git Service

Equatableを自動実装させるようにした
[kcd/KCD.git] / KCD / ColorSet.swift
index 8c86da7..78da017 100644 (file)
@@ -19,26 +19,49 @@ enum AppearanceMode {
     case highContrastDark
 }
 
-struct ColorName {
+extension AppearanceMode {
     
-    let name: String
-    
-    init(name: String) {
+    static var current: AppearanceMode {
         
-        self.name = name
+        if #available(macOS 10.14, *) {
+            
+            return currentMode1014()
+        }
+        
+        if NSWorkspace.shared.accessibilityDisplayShouldIncreaseContrast {
+            
+            return .highContrast
+        }
+        
+        return .normal
     }
     
-    init(_ name: String) {
+    @available(macOS 10.14, *)
+    private static func currentMode1014() -> AppearanceMode {
         
-        self.name = name
+        switch NSAppearance.current.name {
+            
+        case .aqua: return .normal
+            
+        /// not available in macOS 10.13 SDK
+//        case .accessibilityHighContrastAqua: return .highContrast
+//
+//        case .darkAqua: return .dark
+//
+//        case .accessibilityHighContrastDarkAqua: return .highContrastDark
+            
+        default: return .normal
+        }
     }
 }
 
-extension ColorName: Equatable {
+struct ColorName: Equatable {
     
-    static func == (lhs: ColorName, rhs: ColorName) -> Bool {
+    private let name: String
+    
+    private init(_ name: String) {
         
-        return lhs.name == rhs.name
+        self.name = name
     }
 }
 
@@ -86,7 +109,7 @@ struct ColorSetManager {
     
     static var current: ColorSet {
         
-        switch currentMode() {
+        switch AppearanceMode.current {
             
         case .normal: return BaseColorSet.shared
             
@@ -97,39 +120,6 @@ struct ColorSetManager {
         case .highContrastDark: return HighContrastDarkModeColorSet.shared
         }
     }
-    
-    private static func currentMode() -> AppearanceMode {
-        
-        if #available(macOS 10.14, *) {
-            
-            return currentMode1014()
-        }
-        
-        if NSWorkspace.shared.accessibilityDisplayShouldIncreaseContrast {
-            
-            return .highContrast
-        }
-        
-        return .normal
-    }
-    
-    @available(macOS 10.14, *)
-    private static func currentMode1014() -> AppearanceMode {
-        
-        switch NSAppearance.current.name {
-            
-        case .aqua: return .normal
-            
-            /// not available in macOS 10.13 SDK
-//        case .accessibilityHighContrastAqua: return .highContrast
-//
-//        case .darkAqua: return .dark
-//
-//        case .accessibilityHighContrastDarkAqua: return .highContrastDark
-            
-        default: return .normal
-        }
-    }
 }
 
 private struct BaseColorSet: ColorSet {