Bug 561932 - [Dark][Mac] Toolbar items look (almost) the same when
selected

This repeats commit 0b919689b3456d3dba9514a08d8e97a55f61cca2 which was
temporarily reverted by commit 1ba521bdb50158078b35a1f415c06c8fcd0419e5
because of milestone week.

Change-Id: Icf16257c754ed2233b4c5b6302c9fb3a44924219
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java
index 51c75b2..652788b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/ToolItem.java
@@ -483,8 +483,11 @@
 		if (drawSelected) {
 			NSRect bounds = view.bounds();
 			context.saveGraphicsState();
-			NSColor.colorWithDeviceRed(0.1f, 0.1f, 0.1f, 0.1f).setFill();
-			NSColor.colorWithDeviceRed(0.2f, 0.2f, 0.2f, 0.2f).setStroke();
+			boolean isDark = OS.isAppDarkAppearance();
+			float fillColor = isDark ? 0.9f : 0.1f;
+			float strokeColor = isDark ? 0.8f : 0.2f;
+			NSColor.colorWithDeviceRed(fillColor, fillColor, fillColor, 0.1f).setFill();
+			NSColor.colorWithDeviceRed(strokeColor, strokeColor, strokeColor, 0.2f).setStroke();
 			NSBezierPath.fillRect(bounds);
 			bounds.x += 0.5f;
 			bounds.y += 0.5f;