From 03b7b0fc445b29cc85230b4a5ff03d322dad6740 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Tue, 12 May 2026 21:52:09 +0200 Subject: [PATCH] add some UiObject window functions --- ui-rs/src/ui/window.rs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ui-rs/src/ui/window.rs b/ui-rs/src/ui/window.rs index 8b71fd4..6f70e0c 100644 --- a/ui-rs/src/ui/window.rs +++ b/ui-rs/src/ui/window.rs @@ -101,6 +101,26 @@ where F: FnOnce(&mut toolkit::UiObject, &mut T) { obj } +impl toolkit::UiObject { + pub fn set_size(&mut self, width: u32, height: u32) { + unsafe { + ui_window_size(self.ptr, width as c_int, height as c_int); + } + } + + pub fn set_menubar_visible(&mut self, visible: bool) { + unsafe { + ui_window_menubar_set_visible(self.ptr, visible as c_int); + } + } + + pub fn enable_fullscreen(&mut self, fullscreen: bool) { + unsafe { + ui_window_fullscreen(self.ptr, fullscreen as c_int); + } + } +} + impl AppContext { pub fn window(&self, title: &str, data: T, create_ui: F) -> toolkit::UiObject where F: FnOnce(&mut toolkit::UiObject, &mut T) @@ -304,7 +324,10 @@ extern "C" { fn ui_simple_window(title: *const c_char) -> *mut UiObject; fn ui_dialog_create(parent: *mut UiObject, args: *mut UiDialogArgs); - + + fn ui_window_size(obj: *mut UiObject, width: c_int, height: c_int); + fn ui_window_menubar_set_visible(obj: *mut UiObject, visible: c_int) -> c_int; + fn ui_window_fullscreen(obj: *mut UiObject, fullscreen: c_int) -> c_int; fn ui_show(ui: *const UiObject); -- 2.47.3