MCPcopy Create free account
hub / github.com/HO-COOH/FastCopy / trySetAcrylicBackdrop

Method trySetAcrylicBackdrop

FastCopy/AcrylicHelper.cpp:40–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38}
39
40bool AcrylicHelper::trySetAcrylicBackdrop(AcrylicParameter const& parameter)
41{
42 auto activatedToken = m_window.Activated([this](auto, winrt::Microsoft::UI::Xaml::WindowActivatedEventArgs args)
43 {
44 if (m_configurationSource)
45 m_configurationSource.IsInputActive(args.WindowActivationState() != winrt::Microsoft::UI::Xaml::WindowActivationState::Deactivated);
46 });
47 //m_window.Closed(
48 // [this, activatedToken](auto, winrt::Microsoft::UI::Xaml::WindowEventArgs args)
49 // {
50 // //m_acrylicController = nullptr;
51 // //m_configurationSource = nullptr;
52 // //m_window.Activated(activatedToken);
53 // }
54 //);
55
56 m_window.Content().as<winrt::Microsoft::UI::Xaml::FrameworkElement>().ActualThemeChanged([this](auto, auto)
57 {
58 if(m_configurationSource)
59 setConfigurationSourceTheme();
60 });
61
62 m_configurationSource.IsInputActive(true);
63 setConfigurationSourceTheme();
64 auto pt = m_window.try_as<winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop>();
65
66 if (parameter.fallbackColor) m_acrylicController.FallbackColor(*parameter.fallbackColor);
67 if (parameter.luminosityOpacity) m_acrylicController.LuminosityOpacity(*parameter.luminosityOpacity);
68 if (parameter.tintColor) m_acrylicController.TintColor(*parameter.tintColor);
69 if (parameter.tintOpacity) m_acrylicController.TintOpacity(*parameter.tintOpacity);
70
71 m_acrylicController.SetSystemBackdropConfiguration(m_configurationSource);
72 m_acrylicController.AddSystemBackdropTarget(pt);
73
74 return true;
75}
76
77void AcrylicHelper::setConfigurationSourceTheme()
78{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected