objc2_ui_kit/generated/
UIBarCommon.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/uibarmetrics?language=objc)
9// NS_ENUM
10#[repr(transparent)]
11#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
12pub struct UIBarMetrics(pub NSInteger);
13impl UIBarMetrics {
14    #[doc(alias = "UIBarMetricsDefault")]
15    pub const Default: Self = Self(0);
16    #[doc(alias = "UIBarMetricsCompact")]
17    pub const Compact: Self = Self(1);
18    #[doc(alias = "UIBarMetricsDefaultPrompt")]
19    pub const DefaultPrompt: Self = Self(101);
20    #[doc(alias = "UIBarMetricsCompactPrompt")]
21    pub const CompactPrompt: Self = Self(102);
22    #[doc(alias = "UIBarMetricsLandscapePhone")]
23    #[deprecated]
24    pub const LandscapePhone: Self = Self(UIBarMetrics::Compact.0);
25    #[doc(alias = "UIBarMetricsLandscapePhonePrompt")]
26    #[deprecated]
27    pub const LandscapePhonePrompt: Self = Self(UIBarMetrics::CompactPrompt.0);
28}
29
30unsafe impl Encode for UIBarMetrics {
31    const ENCODING: Encoding = NSInteger::ENCODING;
32}
33
34unsafe impl RefEncode for UIBarMetrics {
35    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
36}
37
38/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uibarposition?language=objc)
39// NS_ENUM
40#[repr(transparent)]
41#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
42pub struct UIBarPosition(pub NSInteger);
43impl UIBarPosition {
44    #[doc(alias = "UIBarPositionAny")]
45    pub const Any: Self = Self(0);
46    #[doc(alias = "UIBarPositionBottom")]
47    pub const Bottom: Self = Self(1);
48    #[doc(alias = "UIBarPositionTop")]
49    pub const Top: Self = Self(2);
50    #[doc(alias = "UIBarPositionTopAttached")]
51    pub const TopAttached: Self = Self(3);
52}
53
54unsafe impl Encode for UIBarPosition {
55    const ENCODING: Encoding = NSInteger::ENCODING;
56}
57
58unsafe impl RefEncode for UIBarPosition {
59    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
60}
61
62extern_protocol!(
63    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uibarpositioning?language=objc)
64    pub unsafe trait UIBarPositioning: NSObjectProtocol + MainThreadOnly {
65        #[unsafe(method(barPosition))]
66        #[unsafe(method_family = none)]
67        unsafe fn barPosition(&self) -> UIBarPosition;
68    }
69);
70
71extern_protocol!(
72    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uibarpositioningdelegate?language=objc)
73    pub unsafe trait UIBarPositioningDelegate: NSObjectProtocol + MainThreadOnly {
74        #[optional]
75        #[unsafe(method(positionForBar:))]
76        #[unsafe(method_family = none)]
77        unsafe fn positionForBar(
78            &self,
79            bar: &ProtocolObject<dyn UIBarPositioning>,
80        ) -> UIBarPosition;
81    }
82);