ui/winui/window.cpp

branch
newapi
changeset 212
ad5c74af14c4
parent 211
5d71a36b833b
child 213
7e39db525fd9
--- a/ui/winui/window.cpp	Thu Oct 12 13:52:18 2023 +0200
+++ b/ui/winui/window.cpp	Thu Oct 12 14:09:04 2023 +0200
@@ -63,15 +63,6 @@
 	//Window window = Window();
 	Window window = make<winui::implementation::MainWindow>();
 	window.ExtendsContentIntoTitleBar(true);
-	if (title) {
-		wchar_t *wtitle = str2wstr(title, nullptr);
-		window.Title(wtitle);
-		free(wtitle);
-	}
-
-	//auto backdrop = winrt::Microsoft::UI::Xaml::Media::MicaBackdrop();
-	//backdrop.Kind(winrt::Microsoft::UI::Composition::SystemBackdrops::MicaKind::Base); // alternative: BaseAlt
-	// TODO: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/system-backdrop-controller#example-use-mica-in-a-windows-appsdkwinui-3-app
 
 	Grid grid = Grid();
 	window.Content(grid);
@@ -81,17 +72,22 @@
 	titleBar.Padding(titleBarPadding);
 	titleBar.Orientation(Orientation::Horizontal);
 	TextBlock titleLabel = TextBlock();
-	titleLabel.Text(hstring(L"Window Title"));
 	titleBar.Children().Append(titleLabel);
 
+	if (title) {
+		wchar_t* wtitle = str2wstr(title, nullptr);
+		window.Title(wtitle);
+		titleLabel.Text(hstring(wtitle));
+		free(wtitle);
+	}
+
 	window.SetTitleBar(titleBar);
 
 	obj->wobj = new UiWindow(window);
-	
+	ui_context_add_window_destructor(obj->ctx, obj->wobj);
 
 	window.Closed([obj](IInspectable const& sender, WindowEventArgs) {
-		// TODO: destroy UiObject*, context, ...
-		delete obj->wobj;
+		cxMempoolDestroy(obj->ctx->mp);
 	});
 
 	obj->container = new UiBoxContainer(grid, UI_BOX_CONTAINER_VBOX, 0, 0);

mercurial