]> uap-core.de Git - note.git/commitdiff
add some UiObject window functions main
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 12 May 2026 19:52:09 +0000 (21:52 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 12 May 2026 19:52:09 +0000 (21:52 +0200)
ui-rs/src/ui/window.rs

index 8b71fd47ccfff8ff0b8700987c02d973704648e9..6f70e0c6f91622585e91b88808a7759b17479804 100644 (file)
@@ -101,6 +101,26 @@ where F: FnOnce(&mut toolkit::UiObject<T>, &mut T) {
     obj
 }
 
+impl<T> toolkit::UiObject<T> {
+    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<T: UiModel + UiActions> AppContext<T> {
     pub fn window<F>(&self, title: &str, data: T, create_ui: F) -> toolkit::UiObject<T>
     where F: FnOnce(&mut toolkit::UiObject<T>, &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);