Commit 1f27beb 1 parent 0656497 commit 1f27beb Copy full SHA for 1f27beb
File tree 1 file changed +13
-1
lines changed
druid-shell/src/backend/windows
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ use winapi::shared::minwindef::*;
35
35
use winapi:: shared:: windef:: * ;
36
36
use winapi:: shared:: winerror:: * ;
37
37
use winapi:: um:: dcomp:: { IDCompositionDevice , IDCompositionTarget , IDCompositionVisual } ;
38
- use winapi:: um:: dwmapi:: DwmExtendFrameIntoClientArea ;
38
+ use winapi:: um:: dwmapi:: { DwmExtendFrameIntoClientArea , DwmSetWindowAttribute } ;
39
39
use winapi:: um:: errhandlingapi:: GetLastError ;
40
40
use winapi:: um:: shellscalingapi:: MDT_EFFECTIVE_DPI ;
41
41
use winapi:: um:: unknwnbase:: * ;
@@ -1516,6 +1516,18 @@ impl WindowBuilder {
1516
1516
}
1517
1517
}
1518
1518
1519
+ // Dark mode support
1520
+ // https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/apply-windows-themes
1521
+ const DWMWA_USE_IMMERSIVE_DARK_MODE : u32 = 20 ;
1522
+ let value: BOOL = 1 ;
1523
+ let value_ptr = & value as * const _ as * const c_void ;
1524
+ DwmSetWindowAttribute (
1525
+ hwnd,
1526
+ DWMWA_USE_IMMERSIVE_DARK_MODE ,
1527
+ value_ptr,
1528
+ std:: mem:: size_of :: < BOOL > ( ) as u32 ,
1529
+ ) ;
1530
+
1519
1531
self . app . add_window ( hwnd) ;
1520
1532
1521
1533
if let Some ( accels) = accels {
You can’t perform that action at this time.
0 commit comments