aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/WinDarkmode.h
diff options
context:
space:
mode:
authorDavidoTek <54072917+DavidoTek@users.noreply.github.com>2022-07-26 23:25:17 +0200
committerDavidoTek <54072917+DavidoTek@users.noreply.github.com>2022-07-26 23:25:17 +0200
commitb4e8abd0adfd5de300fba3b22f58a2a937f9a5f1 (patch)
treefc4fbaf52273ea011249b165b30566dd66f54b88 /launcher/ui/WinDarkmode.h
parent336f1f4f5067cf45bc34031f376baafef9934e45 (diff)
downloadPrismLauncher-b4e8abd0adfd5de300fba3b22f58a2a937f9a5f1.tar.gz
PrismLauncher-b4e8abd0adfd5de300fba3b22f58a2a937f9a5f1.tar.bz2
PrismLauncher-b4e8abd0adfd5de300fba3b22f58a2a937f9a5f1.zip
feat: win32 enable dark titlebar for dark theme
Signed-off-by: DavidoTek <54072917+DavidoTek@users.noreply.github.com>
Diffstat (limited to 'launcher/ui/WinDarkmode.h')
-rw-r--r--launcher/ui/WinDarkmode.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/launcher/ui/WinDarkmode.h b/launcher/ui/WinDarkmode.h
new file mode 100644
index 00000000..5b567c6b
--- /dev/null
+++ b/launcher/ui/WinDarkmode.h
@@ -0,0 +1,60 @@
+#pragma once
+
+#include <windows.h>
+#include <dwmapi.h>
+
+
+namespace WinDarkmode {
+
+void setDarkWinTitlebar(WId winid, bool darkmode);
+
+enum PreferredAppMode {
+ Default,
+ AllowDark,
+ ForceDark,
+ ForceLight,
+ Max
+};
+
+enum WINDOWCOMPOSITIONATTRIB {
+ WCA_UNDEFINED = 0,
+ WCA_NCRENDERING_ENABLED = 1,
+ WCA_NCRENDERING_POLICY = 2,
+ WCA_TRANSITIONS_FORCEDISABLED = 3,
+ WCA_ALLOW_NCPAINT = 4,
+ WCA_CAPTION_BUTTON_BOUNDS = 5,
+ WCA_NONCLIENT_RTL_LAYOUT = 6,
+ WCA_FORCE_ICONIC_REPRESENTATION = 7,
+ WCA_EXTENDED_FRAME_BOUNDS = 8,
+ WCA_HAS_ICONIC_BITMAP = 9,
+ WCA_THEME_ATTRIBUTES = 10,
+ WCA_NCRENDERING_EXILED = 11,
+ WCA_NCADORNMENTINFO = 12,
+ WCA_EXCLUDED_FROM_LIVEPREVIEW = 13,
+ WCA_VIDEO_OVERLAY_ACTIVE = 14,
+ WCA_FORCE_ACTIVEWINDOW_APPEARANCE = 15,
+ WCA_DISALLOW_PEEK = 16,
+ WCA_CLOAK = 17,
+ WCA_CLOAKED = 18,
+ WCA_ACCENT_POLICY = 19,
+ WCA_FREEZE_REPRESENTATION = 20,
+ WCA_EVER_UNCLOAKED = 21,
+ WCA_VISUAL_OWNER = 22,
+ WCA_HOLOGRAPHIC = 23,
+ WCA_EXCLUDED_FROM_DDA = 24,
+ WCA_PASSIVEUPDATEMODE = 25,
+ WCA_USEDARKMODECOLORS = 26,
+ WCA_LAST = 27
+};
+
+struct WINDOWCOMPOSITIONATTRIBDATA {
+ WINDOWCOMPOSITIONATTRIB Attrib;
+ PVOID pvData;
+ SIZE_T cbData;
+};
+
+using fnAllowDarkModeForWindow = BOOL (WINAPI *)(HWND hWnd, BOOL allow);
+using fnSetPreferredAppMode = PreferredAppMode (WINAPI *)(PreferredAppMode appMode);
+using fnSetWindowCompositionAttribute = BOOL (WINAPI *)(HWND hwnd, WINDOWCOMPOSITIONATTRIBDATA *);
+
+}