Mercurial > hg > svcore
view system/os-win10.cpp @ 1883:e5d0ea9ac8f1
OK I give in, we are going to have to put this in a separate DLL so we can deploy a version on Win7 that doesn't have the WinRT dependency
author | Chris Cannam |
---|---|
date | Tue, 21 Jul 2020 13:59:14 +0100 |
parents | |
children |
line wrap: on
line source
#ifndef AVOID_WINRT_DEPENDENCY #ifdef _MSC_VER #include <winrt/Windows.UI.ViewManagement.h> #endif #endif extern "C" { bool OSReportsDarkThemeActive() { #ifndef AVOID_WINRT_DEPENDENCY #ifdef _MSC_VER using namespace winrt::Windows::UI::ViewManagement; UISettings settings; auto background = settings.GetColorValue(UIColorType::Background); if (int(background.R) + int(background.G) + int(background.B) < 384) { return true; } #endif #endif return false; } bool OSQueryAccentColour(int *r, int *g, int *b) { #ifndef AVOID_WINRT_DEPENDENCY #ifdef _MSC_VER using namespace winrt::Windows::UI::ViewManagement; bool dark = OSReportsDarkThemeActive(); UISettings settings; auto accent = settings.GetColorValue (dark ? UIColorType::AccentLight1 : UIColorType::Accent); *r = accent.R; *g = accent.G; *b = accent.B; return true; #endif #endif (void)r; (void)g; (void)b; return false; } }