Chris@1883: Chris@1883: #ifndef AVOID_WINRT_DEPENDENCY Chris@1883: #ifdef _MSC_VER Chris@1883: #include Chris@1883: #endif Chris@1883: #endif Chris@1883: Chris@1883: extern "C" { Chris@1883: Chris@1883: bool Chris@1883: OSReportsDarkThemeActive() Chris@1883: { Chris@1883: #ifndef AVOID_WINRT_DEPENDENCY Chris@1883: #ifdef _MSC_VER Chris@1883: using namespace winrt::Windows::UI::ViewManagement; Chris@1883: UISettings settings; Chris@1883: auto background = settings.GetColorValue(UIColorType::Background); Chris@1883: if (int(background.R) + int(background.G) + int(background.B) < 384) { Chris@1883: return true; Chris@1883: } Chris@1883: #endif Chris@1883: #endif Chris@1883: return false; Chris@1883: } Chris@1883: Chris@1883: bool Chris@1883: OSQueryAccentColour(int *r, int *g, int *b) Chris@1883: { Chris@1883: #ifndef AVOID_WINRT_DEPENDENCY Chris@1883: #ifdef _MSC_VER Chris@1883: using namespace winrt::Windows::UI::ViewManagement; Chris@1883: bool dark = OSReportsDarkThemeActive(); Chris@1883: UISettings settings; Chris@1883: auto accent = settings.GetColorValue Chris@1883: (dark ? UIColorType::AccentLight1 : UIColorType::Accent); Chris@1883: *r = accent.R; Chris@1883: *g = accent.G; Chris@1883: *b = accent.B; Chris@1883: return true; Chris@1883: #endif Chris@1883: #endif Chris@1883: (void)r; Chris@1883: (void)g; Chris@1883: (void)b; Chris@1883: return false; Chris@1883: } Chris@1883: Chris@1883: } Chris@1883: