+/* Default system colors from the Display Control Panel settings. */
+#define SYSTEM_DEFAULT_RESOURCES \
+ "emacs.foreground:SystemWindowText\0" \
+ "emacs.background:SystemWindow\0" \
+ "emacs.tooltip.attributeForeground:SystemInfoText\0" \
+ "emacs.tooltip.attributeBackground:SystemInfoWindow\0" \
+ "emacs.tool-bar.attributeForeground:SystemButtonText\0" \
+ "emacs.tool-bar.attributeBackground:SystemButtonFace\0" \
+ "emacs.menu.attributeForeground:SystemMenuText\0" \
+ "emacs.menu.attributeBackground:SystemMenu\0" \
+ "emacs.scroll-bar.attributeForeground:SystemScrollbar"
+
+/* Other possibilities for default faces:
+
+ region: Could use SystemHilight, but interferes with our ability to
+ see most syntax highlighting through the region face.
+
+ modeline: Could use System(In)ActiveTitle, gradient versions (not
+ supported on 95 and NT), but modeline is more like a status bar
+ really (which don't appear to be configurable in Windows).
+
+ highlight: Could use SystemHotTrackingColor, but it is not supported
+ on Windows 95 or NT, and other apps only seem to use it for menus
+ anyway.
+
+*/
+
+static char *
+w32_get_rdb_resource (rdb, resource)
+ char *rdb;
+ char *resource;
+{
+ char *value = rdb;
+ int len = strlen (resource);
+
+ while (*value)
+ {
+ /* Comparison is case-insensitive because registry searches are too. */
+ if ((strnicmp (value, resource, len) == 0) && (value[len] == ':'))
+ return xstrdup (&value[len + 1]);
+
+ value = strchr (value, '\0') + 1;
+ }
+
+ return NULL;
+}
+
+LPBYTE