use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSVisualEffectMaterial(pub NSInteger);
impl NSVisualEffectMaterial {
#[doc(alias = "NSVisualEffectMaterialTitlebar")]
pub const Titlebar: Self = Self(3);
#[doc(alias = "NSVisualEffectMaterialSelection")]
pub const Selection: Self = Self(4);
#[doc(alias = "NSVisualEffectMaterialMenu")]
pub const Menu: Self = Self(5);
#[doc(alias = "NSVisualEffectMaterialPopover")]
pub const Popover: Self = Self(6);
#[doc(alias = "NSVisualEffectMaterialSidebar")]
pub const Sidebar: Self = Self(7);
#[doc(alias = "NSVisualEffectMaterialHeaderView")]
pub const HeaderView: Self = Self(10);
#[doc(alias = "NSVisualEffectMaterialSheet")]
pub const Sheet: Self = Self(11);
#[doc(alias = "NSVisualEffectMaterialWindowBackground")]
pub const WindowBackground: Self = Self(12);
#[doc(alias = "NSVisualEffectMaterialHUDWindow")]
pub const HUDWindow: Self = Self(13);
#[doc(alias = "NSVisualEffectMaterialFullScreenUI")]
pub const FullScreenUI: Self = Self(15);
#[doc(alias = "NSVisualEffectMaterialToolTip")]
pub const ToolTip: Self = Self(17);
#[doc(alias = "NSVisualEffectMaterialContentBackground")]
pub const ContentBackground: Self = Self(18);
#[doc(alias = "NSVisualEffectMaterialUnderWindowBackground")]
pub const UnderWindowBackground: Self = Self(21);
#[doc(alias = "NSVisualEffectMaterialUnderPageBackground")]
pub const UnderPageBackground: Self = Self(22);
#[doc(alias = "NSVisualEffectMaterialAppearanceBased")]
#[deprecated = "Use a specific semantic material instead."]
pub const AppearanceBased: Self = Self(0);
#[doc(alias = "NSVisualEffectMaterialLight")]
#[deprecated = "Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value."]
pub const Light: Self = Self(1);
#[doc(alias = "NSVisualEffectMaterialDark")]
#[deprecated = "Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value."]
pub const Dark: Self = Self(2);
#[doc(alias = "NSVisualEffectMaterialMediumLight")]
#[deprecated = "Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value."]
pub const MediumLight: Self = Self(8);
#[doc(alias = "NSVisualEffectMaterialUltraDark")]
#[deprecated = "Use a semantic material instead. To force the appearance of a view hierarchy, set the `appearance` property to an appropriate NSAppearance value."]
pub const UltraDark: Self = Self(9);
}
unsafe impl Encode for NSVisualEffectMaterial {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSVisualEffectMaterial {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSVisualEffectBlendingMode(pub NSInteger);
impl NSVisualEffectBlendingMode {
#[doc(alias = "NSVisualEffectBlendingModeBehindWindow")]
pub const BehindWindow: Self = Self(0);
#[doc(alias = "NSVisualEffectBlendingModeWithinWindow")]
pub const WithinWindow: Self = Self(1);
}
unsafe impl Encode for NSVisualEffectBlendingMode {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSVisualEffectBlendingMode {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSVisualEffectState(pub NSInteger);
impl NSVisualEffectState {
#[doc(alias = "NSVisualEffectStateFollowsWindowActiveState")]
pub const FollowsWindowActiveState: Self = Self(0);
#[doc(alias = "NSVisualEffectStateActive")]
pub const Active: Self = Self(1);
#[doc(alias = "NSVisualEffectStateInactive")]
pub const Inactive: Self = Self(2);
}
unsafe impl Encode for NSVisualEffectState {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSVisualEffectState {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_class!(
#[unsafe(super(NSView, NSResponder, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
pub struct NSVisualEffectView;
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibility for NSVisualEffectView {}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibilityElementProtocol for NSVisualEffectView {}
);
#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAnimatablePropertyContainer for NSVisualEffectView {}
);
#[cfg(all(feature = "NSAppearance", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAppearanceCustomization for NSVisualEffectView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSCoding for NSVisualEffectView {}
);
#[cfg(all(feature = "NSDragging", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSDraggingDestination for NSVisualEffectView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSObjectProtocol for NSVisualEffectView {}
);
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSUserInterfaceItemIdentification for NSVisualEffectView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSVisualEffectView {
extern_methods!(
#[unsafe(method(material))]
#[unsafe(method_family = none)]
pub fn material(&self) -> NSVisualEffectMaterial;
#[unsafe(method(setMaterial:))]
#[unsafe(method_family = none)]
pub fn setMaterial(&self, material: NSVisualEffectMaterial);
#[cfg(feature = "NSCell")]
#[unsafe(method(interiorBackgroundStyle))]
#[unsafe(method_family = none)]
pub fn interiorBackgroundStyle(&self) -> NSBackgroundStyle;
#[unsafe(method(blendingMode))]
#[unsafe(method_family = none)]
pub fn blendingMode(&self) -> NSVisualEffectBlendingMode;
#[unsafe(method(setBlendingMode:))]
#[unsafe(method_family = none)]
pub fn setBlendingMode(&self, blending_mode: NSVisualEffectBlendingMode);
#[unsafe(method(state))]
#[unsafe(method_family = none)]
pub fn state(&self) -> NSVisualEffectState;
#[unsafe(method(setState:))]
#[unsafe(method_family = none)]
pub fn setState(&self, state: NSVisualEffectState);
#[cfg(feature = "NSImage")]
#[unsafe(method(maskImage))]
#[unsafe(method_family = none)]
pub fn maskImage(&self) -> Option<Retained<NSImage>>;
#[cfg(feature = "NSImage")]
#[unsafe(method(setMaskImage:))]
#[unsafe(method_family = none)]
pub fn setMaskImage(&self, mask_image: Option<&NSImage>);
#[unsafe(method(isEmphasized))]
#[unsafe(method_family = none)]
pub fn isEmphasized(&self) -> bool;
#[unsafe(method(setEmphasized:))]
#[unsafe(method_family = none)]
pub fn setEmphasized(&self, emphasized: bool);
#[unsafe(method(viewDidMoveToWindow))]
#[unsafe(method_family = none)]
pub fn viewDidMoveToWindow(&self);
#[cfg(feature = "NSWindow")]
#[unsafe(method(viewWillMoveToWindow:))]
#[unsafe(method_family = none)]
pub fn viewWillMoveToWindow(&self, new_window: Option<&NSWindow>);
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSVisualEffectView {
extern_methods!(
#[unsafe(method(initWithFrame:))]
#[unsafe(method_family = init)]
pub fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSVisualEffectView {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSVisualEffectView {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}