--- a/ui/winui/toolkit.cpp Fri Sep 22 21:32:45 2023 +0200 +++ b/ui/winui/toolkit.cpp Sat Sep 23 15:41:23 2023 +0200 @@ -38,6 +38,7 @@ #include <winrt/Microsoft.UI.Xaml.Markup.h> #include <cx/allocator.h> +#include <cx/mempool.h> using namespace winrt; @@ -46,6 +47,7 @@ using namespace Microsoft::UI::Xaml::XamlTypeInfo; using namespace Microsoft::UI::Xaml::Markup; using namespace Windows::UI::Xaml::Interop; +using namespace winrt::Windows::Foundation; static const char* application_name; @@ -87,10 +89,25 @@ XamlControlsXamlMetaDataProvider provider; }; -UiWindow::UiWindow(winrt::Microsoft::UI::Xaml::Window& win) : window(win) {}; - UiWidget::UiWidget(winrt::Microsoft::UI::Xaml::UIElement& elm) : uielement(elm) {} +extern "C" void destroy_ui_window_wrapper(void* ptr) { + UiWindow* win = (UiWindow*)ptr; + delete win; +} + +extern "C" void destroy_ui_widget_wrapper(void* ptr) { + UiWidget* widget = (UiWidget*)ptr; + delete widget; +} + +void ui_context_add_window_destructor(UiContext* ctx, UiWindow* win) { + // TODO: +} + +void ui_context_add_widget_destructor(UiContext* ctx, UiWidget* widget) { + // TODO: +}