use super::*;
impl Ui {
pub fn window<'ui>(
&'ui self,
name: impl Into<std::borrow::Cow<'ui, str>>,
) -> crate::window::Window<'ui> {
crate::window::Window::new(self, name)
}
#[doc(alias = "SetWindowFocus")]
pub fn set_window_focus(&self, name: Option<&str>) {
unsafe {
match name {
Some(name) => sys::igSetWindowFocus_Str(self.scratch_txt(name)),
None => sys::igSetWindowFocus_Nil(),
}
}
}
#[doc(alias = "SetWindowPos")]
pub fn set_window_pos(&self, pos: [f32; 2]) {
self.set_window_pos_with_cond(pos, crate::Condition::Always);
}
#[doc(alias = "SetWindowPos")]
pub fn set_window_pos_with_cond(&self, pos: [f32; 2], cond: crate::Condition) {
Self::assert_finite_vec2("Ui::set_window_pos_with_cond()", "position", pos);
let pos_vec = sys::ImVec2_c {
x: pos[0],
y: pos[1],
};
unsafe { sys::igSetWindowPos_Vec2(pos_vec, cond as sys::ImGuiCond) }
}
#[doc(alias = "SetWindowPos")]
pub fn set_window_pos_by_name(&self, name: impl AsRef<str>, pos: [f32; 2]) {
self.set_window_pos_by_name_with_cond(name, pos, crate::Condition::Always);
}
#[doc(alias = "SetWindowPos")]
pub fn set_window_pos_by_name_with_cond(
&self,
name: impl AsRef<str>,
pos: [f32; 2],
cond: crate::Condition,
) {
Self::assert_finite_vec2("Ui::set_window_pos_by_name_with_cond()", "position", pos);
let pos_vec = sys::ImVec2_c {
x: pos[0],
y: pos[1],
};
unsafe { sys::igSetWindowPos_Str(self.scratch_txt(name), pos_vec, cond as sys::ImGuiCond) }
}
#[doc(alias = "SetWindowSize")]
pub fn set_window_size(&self, size: [f32; 2]) {
self.set_window_size_with_cond(size, crate::Condition::Always);
}
#[doc(alias = "SetWindowSize")]
pub fn set_window_size_with_cond(&self, size: [f32; 2], cond: crate::Condition) {
Self::assert_finite_vec2("Ui::set_window_size_with_cond()", "size", size);
let size_vec = sys::ImVec2_c {
x: size[0],
y: size[1],
};
unsafe { sys::igSetWindowSize_Vec2(size_vec, cond as sys::ImGuiCond) }
}
#[doc(alias = "SetWindowSize")]
pub fn set_window_size_by_name(&self, name: impl AsRef<str>, size: [f32; 2]) {
self.set_window_size_by_name_with_cond(name, size, crate::Condition::Always);
}
#[doc(alias = "SetWindowSize")]
pub fn set_window_size_by_name_with_cond(
&self,
name: impl AsRef<str>,
size: [f32; 2],
cond: crate::Condition,
) {
Self::assert_finite_vec2("Ui::set_window_size_by_name_with_cond()", "size", size);
let size_vec = sys::ImVec2_c {
x: size[0],
y: size[1],
};
unsafe {
sys::igSetWindowSize_Str(self.scratch_txt(name), size_vec, cond as sys::ImGuiCond);
}
}
#[doc(alias = "SetWindowCollapsed")]
pub fn set_window_collapsed(&self, collapsed: bool) {
self.set_window_collapsed_with_cond(collapsed, crate::Condition::Always);
}
#[doc(alias = "SetWindowCollapsed")]
pub fn set_window_collapsed_with_cond(&self, collapsed: bool, cond: crate::Condition) {
unsafe { sys::igSetWindowCollapsed_Bool(collapsed, cond as sys::ImGuiCond) }
}
#[doc(alias = "SetWindowCollapsed")]
pub fn set_window_collapsed_by_name(&self, name: impl AsRef<str>, collapsed: bool) {
self.set_window_collapsed_by_name_with_cond(name, collapsed, crate::Condition::Always);
}
#[doc(alias = "SetWindowCollapsed")]
pub fn set_window_collapsed_by_name_with_cond(
&self,
name: impl AsRef<str>,
collapsed: bool,
cond: crate::Condition,
) {
unsafe {
sys::igSetWindowCollapsed_Str(
self.scratch_txt(name),
collapsed,
cond as sys::ImGuiCond,
);
}
}
#[doc(alias = "GetWindowDpiScale")]
pub fn window_dpi_scale(&self) -> f32 {
unsafe { sys::igGetWindowDpiScale() }
}
#[doc(alias = "GetWindowWidth")]
pub fn window_width(&self) -> f32 {
unsafe { sys::igGetWindowWidth() }
}
#[doc(alias = "GetWindowHeight")]
pub fn window_height(&self) -> f32 {
unsafe { sys::igGetWindowHeight() }
}
#[doc(alias = "GetWindowPos")]
pub fn window_pos(&self) -> [f32; 2] {
let v = unsafe { sys::igGetWindowPos() };
[v.x, v.y]
}
#[doc(alias = "GetWindowSize")]
pub fn window_size(&self) -> [f32; 2] {
let v = unsafe { sys::igGetWindowSize() };
[v.x, v.y]
}
}