Bug 549451 - [API]Query the current system setting for dark mode

Added isSystemDarkTheme() API with implementation for Mac. Returns false
on Windows and GTK.

Change-Id: I39d9cba08546513f87ddb3ad544718a8c6055532
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
index a9f216f..c62c720 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Display.java
@@ -1652,6 +1652,17 @@
 		new Point (64, 64), new Point (128, 128)};
 }
 
+/**
+ * Returns true if the current OS theme has a dark appearance, else returns false.
+ *
+ * @return true if the OS theme is dark else false
+ *
+ * @since 3.112
+ */
+public static boolean isSystemDarkTheme () {
+	return OS.isSystemDarkAppearance();
+}
+
 int getLastEventTime () {
 	NSEvent event = application != null ? application.currentEvent() : null;
 	if (event == null) return 0;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
index 013074e..0374db6 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
@@ -2422,6 +2422,17 @@
 	return new Point [] {new Point (16, 16), new Point (32, 32)};
 }
 
+/**
+ * Returns true if the current OS theme has a dark appearance, else returns false.
+ *
+ * @return true if the OS theme is dark else false
+ *
+ * @since 3.112
+ */
+public static boolean isSystemDarkTheme () {
+	return false;
+}
+
 int getLastEventTime () {
 	return lastEventTime;
 }
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java
index 297e562..97ab6d4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Display.java
@@ -2013,6 +2013,17 @@
 	return list;
 }
 
+/**
+ * Returns true if the current OS theme has a dark appearance, else returns false.
+ *
+ * @return true if the current OS theme is dark else false
+ *
+ * @since 3.112
+ */
+public static boolean isSystemDarkTheme () {
+	return false;
+}
+
 int getLastEventTime () {
 	return OS.GetMessageTime ();
 }