| 117 | } |
| 118 | |
| 119 | bool MicaHelper::trySetMicaBackdrop(MicaParameter const& parameter) |
| 120 | { |
| 121 | auto activatedToken = m_window.Activated([this](auto, winrt::Microsoft::UI::Xaml::WindowActivatedEventArgs args) |
| 122 | { |
| 123 | if (m_configurationSource) |
| 124 | m_configurationSource.IsInputActive(args.WindowActivationState() != winrt::Microsoft::UI::Xaml::WindowActivationState::Deactivated); |
| 125 | }); |
| 126 | |
| 127 | //m_window.Closed([this, activatedToken](auto, winrt::Microsoft::UI::Xaml::WindowEventArgs args) |
| 128 | //{ |
| 129 | // //m_micaController = nullptr; |
| 130 | // //m_configurationSource = nullptr; |
| 131 | // //m_window.Activated(activatedToken); |
| 132 | //}); |
| 133 | |
| 134 | m_window.Content().as<winrt::Microsoft::UI::Xaml::FrameworkElement>().ActualThemeChanged([this](auto, auto) |
| 135 | { |
| 136 | if (m_configurationSource) |
| 137 | setConfigurationSourceTheme(); |
| 138 | }); |
| 139 | |
| 140 | m_configurationSource.IsInputActive(true); |
| 141 | setConfigurationSourceTheme(); |
| 142 | auto pt = m_window.try_as<winrt::Microsoft::UI::Composition::ICompositionSupportsSystemBackdrop>(); |
| 143 | |
| 144 | if (parameter.kind) m_micaController.Kind(*parameter.kind); |
| 145 | if (parameter.fallbackColor) m_micaController.FallbackColor(*parameter.fallbackColor); |
| 146 | if (parameter.luminosityOpacity) m_micaController.LuminosityOpacity(*parameter.luminosityOpacity); |
| 147 | if (parameter.tintColor) m_micaController.TintColor(*parameter.tintColor); |
| 148 | if (parameter.tintOpacity) m_micaController.TintOpacity(*parameter.tintOpacity); |
| 149 | |
| 150 | m_micaController.SetSystemBackdropConfiguration(m_configurationSource); |
| 151 | m_micaController.AddSystemBackdropTarget(pt); |
| 152 | |
| 153 | return true; |
| 154 | } |
| 155 | |
| 156 | void MicaHelper::setConfigurationSourceTheme() |
| 157 | { |
nothing calls this directly
no outgoing calls
no test coverage detected