ui/winui/toolkit.cpp

branch
newapi
changeset 221
a82d9beaa94a
parent 213
7e39db525fd9
child 229
a952760955b4
equal deleted inserted replaced
220:e377456302df 221:a82d9beaa94a
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;

mercurial