From cba00b6d459cbb7afc1d539bc1f36e9b4bae6f99 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sat, 14 Mar 2020 17:19:06 -0500 Subject: [PATCH] Added image luminescence processing to IconView so that pure white feed icons are visible. Issue #1731 --- Mac/MainWindow/IconView.swift | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Mac/MainWindow/IconView.swift b/Mac/MainWindow/IconView.swift index 55918692d..c279da2f4 100644 --- a/Mac/MainWindow/IconView.swift +++ b/Mac/MainWindow/IconView.swift @@ -14,12 +14,29 @@ final class IconView: NSView { didSet { if iconImage !== oldValue { imageView.image = iconImage?.image + + if NSApplication.shared.effectiveAppearance.isDarkMode { + if self.iconImage?.isDark ?? false { + self.isDisconcernable = false + } else { + self.isDisconcernable = true + } + } else { + if self.iconImage?.isBright ?? false { + self.isDisconcernable = false + } else { + self.isDisconcernable = true + } + } + needsDisplay = true needsLayout = true } } } + private var isDisconcernable = true + override var isFlipped: Bool { return true } @@ -67,7 +84,7 @@ final class IconView: NSView { } override func draw(_ dirtyRect: NSRect) { - guard hasExposedVerticalBackground else { + guard hasExposedVerticalBackground || !isDisconcernable else { return }