Browse Source

【综合】KMAppearance暗黑模式方法补充和新增KMView类

tangchao 1 year ago
parent
commit
ef6c727944

+ 8 - 2
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -3202,6 +3202,9 @@
 		BBEC00E5295C4D3C00A26C98 /* KMBatesPageInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEC00E4295C4D3C00A26C98 /* KMBatesPageInfoView.swift */; };
 		BBEC00E6295C4D3C00A26C98 /* KMBatesPageInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEC00E4295C4D3C00A26C98 /* KMBatesPageInfoView.swift */; };
 		BBEC00E7295C4D3C00A26C98 /* KMBatesPageInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBEC00E4295C4D3C00A26C98 /* KMBatesPageInfoView.swift */; };
+		BBF170582AE296B90013CE02 /* KMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF170572AE296B90013CE02 /* KMView.swift */; };
+		BBF170592AE296B90013CE02 /* KMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF170572AE296B90013CE02 /* KMView.swift */; };
+		BBF1705A2AE296B90013CE02 /* KMView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF170572AE296B90013CE02 /* KMView.swift */; };
 		BBF38A5A294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF38A59294F2B760086D025 /* KMWatermarkPositionView.swift */; };
 		BBF38A5B294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF38A59294F2B760086D025 /* KMWatermarkPositionView.swift */; };
 		BBF38A5C294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBF38A59294F2B760086D025 /* KMWatermarkPositionView.swift */; };
@@ -3567,8 +3570,6 @@
 		89E4E7332964148E002DBA6F /* KMAnnotationPropertiesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = KMAnnotationPropertiesViewController.m; path = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.m"; sourceTree = SOURCE_ROOT; };
 		89E4E7342964148E002DBA6F /* KMAnnotationPropertiesViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = KMAnnotationPropertiesViewController.xib; path = "PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationPropertiesViewController.xib"; sourceTree = SOURCE_ROOT; };
 		89E4E73C2964160F002DBA6F /* KMAnnotationLinkViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMAnnotationLinkViewController.xib; sourceTree = "<group>"; };
-		89E4E744296418ED002DBA6F /* TextFieldFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextFieldFormatter.h; sourceTree = "<group>"; };
-		89E4E745296418ED002DBA6F /* TextFieldFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TextFieldFormatter.m; sourceTree = "<group>"; };
 		89E4E753296427E5002DBA6F /* NSImage_SKExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSImage_SKExtensions.m; sourceTree = "<group>"; };
 		89E4E754296427E5002DBA6F /* NSImage_SKExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSImage_SKExtensions.h; sourceTree = "<group>"; };
 		89E4E75E29656A88002DBA6F /* KMAnnotationStampViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMAnnotationStampViewController.m; sourceTree = "<group>"; };
@@ -4719,6 +4720,7 @@
 		BBEC00D8295C39FD00A26C98 /* KMBatesPropertyInfoController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBatesPropertyInfoController.xib; sourceTree = "<group>"; };
 		BBEC00E0295C410A00A26C98 /* KMBatesPrefixInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatesPrefixInfoView.swift; sourceTree = "<group>"; };
 		BBEC00E4295C4D3C00A26C98 /* KMBatesPageInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatesPageInfoView.swift; sourceTree = "<group>"; };
+		BBF170572AE296B90013CE02 /* KMView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMView.swift; sourceTree = "<group>"; };
 		BBF38A59294F2B760086D025 /* KMWatermarkPositionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkPositionView.swift; sourceTree = "<group>"; };
 		BBF38A5D294F42FF0086D025 /* KMWatermarkAdjectiveStepper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkAdjectiveStepper.swift; sourceTree = "<group>"; };
 		BBF38A61294F53FD0086D025 /* KMWatermarkFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkFileView.swift; sourceTree = "<group>"; };
@@ -5811,6 +5813,7 @@
 				9FBA0EE828FFC2FE001117AF /* Image.xcassets */,
 				BB7648E729ECECBF00931039 /* Color.xcassets */,
 				BB7648EB29ECEEF400931039 /* KMAppearance.swift */,
+				BBF170572AE296B90013CE02 /* KMView.swift */,
 			);
 			path = Appearance;
 			sourceTree = "<group>";
@@ -11079,6 +11082,7 @@
 				BB2EDF4C296E63E5003BCF58 /* KMPageEditInsertCustomPageWindowController.swift in Sources */,
 				9F0CB521298656AA00007028 /* KMDesignToken+BorderRadiusBottomLeft.swift in Sources */,
 				BBE0BDF329A22EF300440583 /* KMMainViewController+MenuAction.swift in Sources */,
+				BBF170582AE296B90013CE02 /* KMView.swift in Sources */,
 				BB4EEF382976451E003A3537 /* KMRedactContentBaseView.swift in Sources */,
 				BB24D4A72977BE6700041659 /* KMRedactConfirmWindowController.swift in Sources */,
 				9F0CB4F1298655BC00007028 /* KMDesignToken+ItemSpacing.swift in Sources */,
@@ -11418,6 +11422,7 @@
 				9FD0D2B02AD51BCC00DA3FF8 /* CPDFListEditAnnotationViewController.swift in Sources */,
 				BBEC00B0295C2AF300A26C98 /* KMBatesPreviewController.swift in Sources */,
 				BB0A551E2A30793F00B6E84B /* KMDesignTextField.swift in Sources */,
+				BBF170592AE296B90013CE02 /* KMView.swift in Sources */,
 				9F0CB50E2986564500007028 /* KMDesignToken+BorderLeft.swift in Sources */,
 				9FBC489C2996500300CA39D7 /* KMDocumentController.swift in Sources */,
 				BBC348342955A118008D2CD1 /* KMCreateBackgroundController.swift in Sources */,
@@ -12629,6 +12634,7 @@
 				AD88109429A7612000178CA1 /* KMRegisterModel.swift in Sources */,
 				9F02016C2A1B088700C9B673 /* KMAIOpenPDFFilesVC.swift in Sources */,
 				9F1F82D4292F6D510092C4B4 /* KMPDFInsertPreviewViewController.swift in Sources */,
+				BBF1705A2AE296B90013CE02 /* KMView.swift in Sources */,
 				ADB1FE7029752BB700ED072D /* KMBatchConvertPDFView.swift in Sources */,
 				ADDEEA7C2AD3F4C800EF675D /* KMPopUpButton.swift in Sources */,
 				9F705F8F291E579F005199AD /* KMHistoryFileTableView.swift in Sources */,

+ 747 - 1
PDF Office/PDF Master/Class/Appearance/KMAppearance.swift

@@ -10,7 +10,7 @@ import Cocoa
 @objc class KMAppearance: NSObject {
     
     class func isDarkMode() -> Bool {
-        var result = false
+        let result = false
         if #available(macOS 10.14, *) {
             let appearanceName = NSApp.effectiveAppearance.bestMatch(from: [.aqua, .darkAqua])
             if (appearanceName == .darkAqua) {
@@ -67,3 +67,749 @@ import Cocoa
         return false
     }
 }
+
+// MARK: - Reader Pro
+
+@objc extension KMAppearance {
+    class func viewBackgroundColor() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor(red: 250.0/255.0, green: 250.0/255.0, blue: 250.0/255.0, alpha: 1)
+        }
+        if let _color = NSColor(named: "KMViewBackgroundColor") {
+            return _color
+        }
+        return NSColor(red: 250.0/255.0, green: 250.0/255.0, blue: 250.0/255.0, alpha: 1)
+    }
+    
+    class func PDFViewBackgroundColor() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE")
+        }
+        if let _color = NSColor(named: "KMPDFViewBackgroundColor") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE")
+    }
+    
+    class func toolbarBorderColor() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor(red: 213/255.0, green: 213/255.0, blue: 213/255.0, alpha: 1)
+        }
+        if let _color = NSColor(named: "KMToolbarBorderColor") {
+            return _color
+        }
+        return NSColor(red: 213/255.0, green: 213/255.0, blue: 213/255.0, alpha: 1)
+    }
+    
+    class func newWindowBackgroundColor() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#EEEEEE", alpha: 0.85)
+        }
+        if let _color = NSColor(named: "KMNewWindowBackgroundColor") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#EEEEEE", alpha: 0.85)
+    }
+    
+    // MARK: - New UX Color
+    
+    class func KM_477EDE_Color15() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#477EDE", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KM_477EDE_Color15") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#477EDE", alpha: 0.15)
+    }
+    
+    /// 高亮颜色
+    class func KM_D2D1D2_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#D2D1D2", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_D2D1D2_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#D2D1D2", alpha: 1)
+    }
+    
+    class func KM_EDECED_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#EDECED", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_EDECED_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#EDECED", alpha: 1)
+    }
+    
+    class func KM_DBDBDB_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DBDBDB", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_DBDBDB_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DBDBDB", alpha: 1)
+    }
+    
+    class func KM_FFFFFF_ColorChange01() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_FFFFFF_ColorChange01") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+    }
+    
+    class func KM_757780_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#757780", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_757780_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#757780", alpha: 1)
+    }
+    
+    class func KM_FFFFFF_Color35() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_FFFFFF_Color35") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+    }
+    
+    class func KM_000000_Color15Chang35() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KM_000000_Color15Chang35") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.15)
+    }
+    
+    class func KM_000000_Color20() -> NSColor {
+        return NSColor.km_init(hex: "#000000", alpha: 0.2)
+    }
+    
+    class func KM_242424_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#242424", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_242424_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#242424", alpha: 1)
+    }
+    
+    class func KM_242424_Color40() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#242424", alpha: 0.6)
+        }
+        if let _color = NSColor(named: "KM_242424_Color40") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#242424", alpha: 0.6)
+    }
+    
+    class func KM_242424_Color75() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#242424", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_242424_Color75") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#242424", alpha: 1)
+    }
+    
+    class func KM_067DFF_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#067DFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_067DFF_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#067DFF", alpha: 1)
+    }
+    
+    class func KM_FFF700_Color60() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFF700", alpha: 0.6)
+        }
+        if let _color = NSColor(named: "KM_FFF700_Color60") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFF700", alpha: 0.6)
+    }
+    
+    class func KM_F6F6F6_Color() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#F6F6F6", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_F6F6F6_Color") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#F6F6F6", alpha: 1)
+    }
+
+    // MARK: - 已经存在日间模式颜色,但是夜间模式颜色和原来存在的颜色不一致。以下
+    
+    class func KM_273C62_ColorDarkChanged02() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMMainColorDarkChanged02") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 1)
+    }
+    
+    class func KM_FFFFFF_ColorDarkChanged06() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_FFFFFF_ColorDarkChanged06") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+    }
+    
+    class func KM_DADBDE_ColorDarkChange04() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_DADBDE_ColorDarkChange04") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+    }
+    
+    class func KM_273C62_Color80DarkChanged01() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 0.8)
+        }
+        if let _color = NSColor(named: "KM_273C62_Color80DarkChanged01") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 0.8)
+    }
+    
+    class func KM_477EDE_ColorDarkChange01() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#477EDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KM_477EDE_ColorDarkChange01") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#477EDE", alpha: 1)
+    }
+    
+    class func KM_000000_Color5DarkChange01() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.05)
+        }
+        if let _color = NSColor(named: "KM_000000_Color5DarkChange01") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.05)
+    }
+    
+    // MARK: - New Color
+    
+    class func KMColor_Layout_M() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_M") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 1)
+    }
+    
+    class func KMColor_Layout_M_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_M_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 1)
+    }
+    
+    class func KMColor_Layout_BG() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#EBECF0", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_BG") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#EBECF0", alpha: 1)
+    }
+    
+    class func KMColor_Layout_BG_Drak() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_BG_Drak") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+    }
+    
+    class func KMColor_Layout_L_2() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_L_2") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+    }
+    
+    class func KMColor_Layout_L_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#EBECF0", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_L_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#EBECF0", alpha: 1)
+    }
+    
+    class func KMColor_Layout_L0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FCFDFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_L0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FCFDFF", alpha: 1)
+    }
+    
+    class func KMColor_Layout_L1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_L1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+    }
+    
+    class func KMColor_Layout_H0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#0E1114", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_H0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#0E1114", alpha: 1)
+    }
+    
+    class func KMColor_Layout_H1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#42464D", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_H1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#42464D", alpha: 1)
+    }
+    
+    class func KMColor_Layout_H2() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#757780", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_H2") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#757780", alpha: 1)
+    }
+    
+    class func KMColor_Layout_B80() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.8)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_B80") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.8)
+    }
+    
+    class func KMColor_Layout_B30() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.3)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_B30") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.3)
+    }
+    
+    class func KMColor_Layout_B15() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_B15") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.15)
+    }
+    
+    class func KMColor_Layout_W0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_W0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 1)
+    }
+    
+    class func KMColor_Layout_W70() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 0.7)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_W70") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 0.7)
+    }
+    
+    class func KMColor_Layout_W30() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 0.3)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_W30") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 0.3)
+    }
+    
+    class func KMColor_Layout_W15() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFFFFF", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_W15") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFFFFF", alpha: 0.15)
+    }
+    
+    class func KMColor_Layout_B15_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KMColor_Layout_B15_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.15)
+    }
+    
+    /// Interactive
+    class func KMColor_Interactive_A_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#3864B0", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_A_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#3864B0", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_A0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#4982E6", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_A0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#4982E6", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_A1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#6B97E4", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_A1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#6B97E4", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_M_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#1B2944", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_M_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#1B2944", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_M0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_M0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_M1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#365283", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_M1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#365283", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_S_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#AEAFB1", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_S_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#AEAFB1", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_S0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_S0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+    }
+    
+    class func KMColor_Interactive_S1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#C8C9CC", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Interactive_S1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#C8C9CC", alpha: 1)
+    }
+    
+    /// Status
+    class func KMColor_Status_Suc() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#3CCD75", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Suc") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#3CCD75", alpha: 1)
+    }
+    
+    class func KMColor_Status_Err() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FA1E5D", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Err") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FA1E5D", alpha: 1)
+    }
+    
+    class func KMColor_Status_Err_BG() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FA1E5D", alpha: 0.12)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Err_BG") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FA1E5D", alpha: 0.12)
+    }
+    
+    class func KMColor_Status_Err_BG_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FA1E5D", alpha: 0.12)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Err_BG_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FA1E5D", alpha: 0.12)
+    }
+    
+    class func KMColor_Status_Hov() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.05)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Hov") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.05)
+    }
+    
+    class func KMColor_Status_Pre() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.1)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Pre") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.1)
+    }
+    
+    class func KMColor_Status_Sel() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#4982E6", alpha: 0.2)
+        }
+        if let _color = NSColor(named: "KMColor_Status_Sel") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#4982E6", alpha: 0.2)
+    }
+    
+    /// Upgrade
+    class func KMColor_Upgrade_Vip_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#D2B58F", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#D2B58F", alpha: 1)
+    }
+    
+    class func KMColor_Upgrade_Vip0() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#ECDCC1", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip0") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#ECDCC1", alpha: 1)
+    }
+    
+    class func KMColor_Upgrade_Vip0_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DCBA8C", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip0_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DCBA8C", alpha: 1)
+    }
+    
+    class func KMColor_Upgrade_Vip1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#EFDCC1", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#EFDCC1", alpha: 1)
+    }
+    
+    class func KMColor_Upgrade_Vip_BG() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#1B263A", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip_BG") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#1B263A", alpha: 1)
+    }
+    
+    class func KMColor_Upgrade_Vip_BG_1() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Upgrade_Vip_BG_1") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 1)
+    }
+    
+    /// Else
+    class func KMColor_Else_00() -> NSColor {
+        return .clear
+    }
+    
+    class func KMColor_Else_Search_Highlight() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#FFF700", alpha: 0.6)
+        }
+        if let _color = NSColor(named: "KMColor_Else_Search_Highlight") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#FFF700", alpha: 0.6)
+    }
+    
+    class func KMColor_Else_Text_Highlight() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#4982E6", alpha: 0.3)
+        }
+        if let _color = NSColor(named: "KMColor_Else_Text_Highlight") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#4982E6", alpha: 0.3)
+    }
+    
+    class func KMColor_Else_Text_Tag() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#000000", alpha: 0.15)
+        }
+        if let _color = NSColor(named: "KMColor_Else_Text_Tag") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#000000", alpha: 0.15)
+    }
+    
+    class func KMColor_Else_Tips_BG() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+        }
+        if let _color = NSColor(named: "KMColor_Else_Tips_BG") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#DADBDE", alpha: 1)
+    }
+    
+    class func KMColor_Else_Tipbar() -> NSColor {
+        if (!self.isSupportNewColor()) {
+            return NSColor.km_init(hex: "#273C62", alpha: 0.8)
+        }
+        if let _color = NSColor(named: "KMColor_Else_Tipbar") {
+            return _color
+        }
+        return NSColor.km_init(hex: "#273C62", alpha: 0.8)
+    }
+    
+    /*
+
+     + (BOOL)isObj:(NSObject *)obj hasObserverKey:(NSString *)keyPath{
+         if (obj == nil) {
+             return NO;
+         }
+         if (obj.observationInfo == nil) {
+             return NO;
+         }
+         NSObject *observances = [((__bridge NSObject*)(obj.observationInfo))valueForKeyPath:@"observances"];
+         if ([observances isKindOfClass:[NSArray class]]) {
+             for (NSObject *observance in (NSArray *)observances) {
+                 NSString *inKeyPath = [NSString stringWithFormat:@"Key path: %@",keyPath];
+                 NSString *objString = [NSString stringWithFormat:@"%@",observance];
+                 if ([objString containsString:inKeyPath]) {
+                     return YES;
+                 }
+             }
+         }
+         return NO;
+     }
+     */
+}

+ 17 - 0
PDF Office/PDF Master/Class/Appearance/KMView.swift

@@ -0,0 +1,17 @@
+//
+//  KMView.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/10/20.
+//
+
+import Cocoa
+
+class KMView: NSView {
+
+    override func updateLayer() {
+        super.updateLayer()
+        
+        self.layer?.backgroundColor = KMAppearance.viewBackgroundColor().cgColor
+    }
+}