diff options
Diffstat (limited to 'launcher/ui/WinDarkmode.h')
-rw-r--r-- | launcher/ui/WinDarkmode.h | 60 |
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 *); + +} |