178 exit_func = f; |
178 exit_func = f; |
179 exit_data = userdata; |
179 exit_data = userdata; |
180 } |
180 } |
181 |
181 |
182 void ui_main() { |
182 void ui_main() { |
|
183 /* |
183 init_apartment(); |
184 init_apartment(); |
184 //Application::Start([](auto&&) {make<App>(); }); |
185 //Application::Start([](auto&&) {make<App>(); }); |
185 |
186 |
186 ::winrt::Microsoft::UI::Xaml::Application::Start( |
187 ::winrt::Microsoft::UI::Xaml::Application::Start( |
187 [](auto&&) |
188 [](auto&&) |
188 { |
189 { |
189 ::winrt::make<::winrt::winui::implementation::App>(); |
190 ::winrt::make<::winrt::winui::implementation::App>(); |
190 }); |
191 }); |
|
192 */ |
|
193 { |
|
194 void (WINAPI * pfnXamlCheckProcessRequirements)(); |
|
195 auto module = ::LoadLibrary(L"Microsoft.ui.xaml.dll"); |
|
196 if (module) |
|
197 { |
|
198 pfnXamlCheckProcessRequirements = reinterpret_cast<decltype(pfnXamlCheckProcessRequirements)>(GetProcAddress(module, "XamlCheckProcessRequirements")); |
|
199 if (pfnXamlCheckProcessRequirements) |
|
200 { |
|
201 (*pfnXamlCheckProcessRequirements)(); |
|
202 } |
|
203 |
|
204 ::FreeLibrary(module); |
|
205 } |
|
206 } |
|
207 |
|
208 winrt::init_apartment(winrt::apartment_type::single_threaded); |
|
209 ::winrt::Microsoft::UI::Xaml::Application::Start( |
|
210 [](auto&&) |
|
211 { |
|
212 ::winrt::make<::winrt::winui::implementation::App>(); |
|
213 }); |
191 } |
214 } |
192 |
215 |
193 class UiWin { |
216 class UiWin { |
194 public: |
217 public: |
195 Window window; |
218 Window window; |