use crate::foundation::{NSInteger, NSUInteger};
#[derive(Clone, Copy, Debug)]
pub enum WindowStyle {
Borderless,
Titled,
Closable,
Miniaturizable,
Resizable,
UnifiedTitleAndToolbar,
FullScreen,
FullSizeContentView,
Utility,
DocModalWindow,
NonActivatingPanel,
HUDWindow
}
impl From<WindowStyle> for NSUInteger {
fn from(style: WindowStyle) -> Self {
match style {
WindowStyle::Borderless => 0,
WindowStyle::Titled => 1 << 0,
WindowStyle::Closable => 1 << 1,
WindowStyle::Miniaturizable => 1 << 2,
WindowStyle::Resizable => 1 << 3,
WindowStyle::UnifiedTitleAndToolbar => 1 << 12,
WindowStyle::FullScreen => 1 << 14,
WindowStyle::FullSizeContentView => 1 << 15,
WindowStyle::Utility => 1 << 4,
WindowStyle::DocModalWindow => 1 << 6,
WindowStyle::NonActivatingPanel => 1 << 7,
WindowStyle::HUDWindow => 1 << 13
}
}
}
impl From<&WindowStyle> for NSUInteger {
fn from(style: &WindowStyle) -> Self {
match style {
WindowStyle::Borderless => 0,
WindowStyle::Titled => 1 << 0,
WindowStyle::Closable => 1 << 1,
WindowStyle::Miniaturizable => 1 << 2,
WindowStyle::Resizable => 1 << 3,
WindowStyle::UnifiedTitleAndToolbar => 1 << 12,
WindowStyle::FullScreen => 1 << 14,
WindowStyle::FullSizeContentView => 1 << 15,
WindowStyle::Utility => 1 << 4,
WindowStyle::DocModalWindow => 1 << 6,
WindowStyle::NonActivatingPanel => 1 << 7,
WindowStyle::HUDWindow => 1 << 13
}
}
}
#[derive(Clone, Copy, Debug)]
pub enum TitleVisibility {
Visible,
Hidden
}
impl From<TitleVisibility> for NSInteger {
fn from(visibility: TitleVisibility) -> Self {
match visibility {
TitleVisibility::Visible => 0,
TitleVisibility::Hidden => 1
}
}
}
#[derive(Clone, Copy, Debug)]
pub enum WindowToolbarStyle {
Automatic,
Expanded,
Preferences,
Unified,
UnifiedCompact
}
impl From<WindowToolbarStyle> for NSUInteger {
fn from(mode: WindowToolbarStyle) -> Self {
match mode {
WindowToolbarStyle::Automatic => 0,
WindowToolbarStyle::Expanded => 1,
WindowToolbarStyle::Preferences => 2,
WindowToolbarStyle::Unified => 3,
WindowToolbarStyle::UnifiedCompact => 4
}
}
}