// // KMAppearance.swift // PDF Master // // Created by tangchao on 2023/4/17. // import Cocoa @objc class KMAppearance: NSObject { class func isDarkMode() -> Bool { let result = false if #available(macOS 10.14, *) { let appearanceName = NSApp.effectiveAppearance.bestMatch(from: [.aqua, .darkAqua]) if (appearanceName == .darkAqua) { return true } } return result } @objc class func titleColor() -> NSColor { if (!KMAppearance.isSupportNewColor()) { return NSColor.km_init(hex: "#252629") } if let _color = NSColor(named: "KMTitleColor") { return _color } return NSColor.km_init(hex: "#252629") } @objc class func subtitleColor() -> NSColor { if (!KMAppearance.isSupportNewColor()) { return NSColor.km_init(hex: "#616469") } if let _color = NSColor(named: "KMSubtitleColor") { return _color } return NSColor.km_init(hex: "#616469") } @objc class func view_bg_dis_color() -> NSColor { if (!KMAppearance.isSupportNewColor()) { return NSColor.km_init(hex: "#EDEEF0") } if let _color = NSColor(named: "KMBackgroundDisableColor") { return _color } return NSColor.km_init(hex: "#EDEEF0") } @objc class func view_border_dis_color() -> NSColor { if (!KMAppearance.isSupportNewColor()) { return NSColor.km_init(hex: "#DFE1E5") } if let _color = NSColor(named: "KMBorderDisableColor") { return _color } return NSColor.km_init(hex: "#DFE1E5") } class func isSupportNewColor() -> Bool { if #available(macOS 10.14, *) { return true } 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; } */ }