objc2_ui_kit/generated/
UISplitViewControllerLayoutEnvironment.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uisplitviewcontrollerlayoutenvironment?language=objc)
9// NS_ENUM
10#[repr(transparent)]
11#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12pub struct UISplitViewControllerLayoutEnvironment(pub NSInteger);
13impl UISplitViewControllerLayoutEnvironment {
14    /// There is no containing split view controller.
15    #[doc(alias = "UISplitViewControllerLayoutEnvironmentNone")]
16    pub const None: Self = Self(0);
17    /// Contained within an expanded split view controller.
18    #[doc(alias = "UISplitViewControllerLayoutEnvironmentExpanded")]
19    pub const Expanded: Self = Self(1);
20    /// Contained within a collapsed split view controller.
21    #[doc(alias = "UISplitViewControllerLayoutEnvironmentCollapsed")]
22    pub const Collapsed: Self = Self(2);
23}
24
25unsafe impl Encode for UISplitViewControllerLayoutEnvironment {
26    const ENCODING: Encoding = NSInteger::ENCODING;
27}
28
29unsafe impl RefEncode for UISplitViewControllerLayoutEnvironment {
30    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33extern_class!(
34    /// A trait that specifies whether an ancestor split view controller, if any, is expanded or collapsed.
35    ///
36    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitraitsplitviewcontrollerlayoutenvironment?language=objc)
37    #[unsafe(super(NSObject))]
38    #[thread_kind = MainThreadOnly]
39    #[derive(Debug, PartialEq, Eq, Hash)]
40    pub struct UITraitSplitViewControllerLayoutEnvironment;
41);
42
43extern_conformance!(
44    unsafe impl NSObjectProtocol for UITraitSplitViewControllerLayoutEnvironment {}
45);
46
47#[cfg(feature = "UITrait")]
48extern_conformance!(
49    unsafe impl UINSIntegerTraitDefinition for UITraitSplitViewControllerLayoutEnvironment {}
50);
51
52#[cfg(feature = "UITrait")]
53extern_conformance!(
54    unsafe impl UITraitDefinition for UITraitSplitViewControllerLayoutEnvironment {}
55);
56
57impl UITraitSplitViewControllerLayoutEnvironment {
58    extern_methods!();
59}
60
61/// Methods declared on superclass `NSObject`.
62impl UITraitSplitViewControllerLayoutEnvironment {
63    extern_methods!(
64        #[unsafe(method(init))]
65        #[unsafe(method_family = init)]
66        pub fn init(this: Allocated<Self>) -> Retained<Self>;
67
68        #[unsafe(method(new))]
69        #[unsafe(method_family = new)]
70        pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
71    );
72}