objc2_ui_kit/generated/
UIBarCommon.rs1use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8#[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#[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 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 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);