From 256b94685295d904cdc145b14f3cefea30b91422 Mon Sep 17 00:00:00 2001 From: SimplestStudio Date: Mon, 16 Sep 2024 17:18:36 +0300 Subject: [PATCH] [win] fix top border accent color for win10 --- win-linux/src/utils.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/win-linux/src/utils.cpp b/win-linux/src/utils.cpp index 872d61cc5..fa45ec540 100644 --- a/win-linux/src/utils.cpp +++ b/win-linux/src/utils.cpp @@ -1067,7 +1067,11 @@ namespace WindowHelper { *(FARPROC*)&DwmGetColorizationColor = GetProcAddress(module, "DwmGetColorizationColor"); } if (DwmGetColorizationColor && SUCCEEDED(DwmGetColorizationColor(&dwcolor, &opaque))) { - return QColor((dwcolor & 0xff0000) >> 16, (dwcolor & 0xff00) >> 8, dwcolor & 0xff); + float a = (float)((dwcolor >> 24) & 0xff)/255; + int r = (int)(((dwcolor >> 16) & 0xff) * a + 255 * (1 - a)); + int g = (int)(((dwcolor >> 8) & 0xff) * a + 255 * (1 - a)); + int b = (int)((dwcolor & 0xff) * a + 255 * (1 - a)); + return QColor(r, g, b); } } else { QSettings reg_lt("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", QSettings::NativeFormat);