mod item;
pub use item::Item;
use crate::prelude::*;
impl Ui {
pub fn create_menu<'ui>(
&'ui self,
name: impl Into<Vec<u8>>,
) -> Result<&'ui mut Menu, crate::Error> {
let name = self.make_cstring(name)?;
unsafe { call_libui_new_fn!(ui: self, fn: uiNewMenu(name.as_ptr()) -> Menu) }
}
}
impl<'ui> Menu<'ui> {
unsafe fn from_ptr(ui: &'ui Ui, ptr: *mut uiMenu) -> Self {
Self { ptr, ui }
}
}
#[derive(Widget)]
#[widget(handle = "uiMenu")]
pub struct Menu<'ui> {
ptr: *mut uiMenu,
ui: &'ui Ui,
}
impl Menu<'_> {
#[inline]
pub fn push_separator(&self) {
unsafe { uiMenuAppendSeparator(self.as_ptr()) };
}
}