objc2_authentication_services/generated/
ASAuthorizationAppleIDButton.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(target_os = "macos")]
7use objc2_app_kit::*;
8#[cfg(feature = "objc2-core-foundation")]
9use objc2_core_foundation::*;
10use objc2_foundation::*;
11
12use crate::*;
13
14/// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asauthorizationappleidbuttontype?language=objc)
15// NS_ENUM
16#[repr(transparent)]
17#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
18pub struct ASAuthorizationAppleIDButtonType(pub NSInteger);
19impl ASAuthorizationAppleIDButtonType {
20    #[doc(alias = "ASAuthorizationAppleIDButtonTypeSignIn")]
21    pub const SignIn: Self = Self(0);
22    #[doc(alias = "ASAuthorizationAppleIDButtonTypeContinue")]
23    pub const Continue: Self = Self(1);
24    #[doc(alias = "ASAuthorizationAppleIDButtonTypeSignUp")]
25    pub const SignUp: Self = Self(2);
26    #[doc(alias = "ASAuthorizationAppleIDButtonTypeDefault")]
27    pub const Default: Self = Self(ASAuthorizationAppleIDButtonType::SignIn.0);
28}
29
30unsafe impl Encode for ASAuthorizationAppleIDButtonType {
31    const ENCODING: Encoding = NSInteger::ENCODING;
32}
33
34unsafe impl RefEncode for ASAuthorizationAppleIDButtonType {
35    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
36}
37
38/// [Apple's documentation](https://developer.apple.com/documentation/authenticationservices/asauthorizationappleidbuttonstyle?language=objc)
39// NS_ENUM
40#[repr(transparent)]
41#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
42pub struct ASAuthorizationAppleIDButtonStyle(pub NSInteger);
43impl ASAuthorizationAppleIDButtonStyle {
44    #[doc(alias = "ASAuthorizationAppleIDButtonStyleWhite")]
45    pub const White: Self = Self(0);
46    #[doc(alias = "ASAuthorizationAppleIDButtonStyleWhiteOutline")]
47    pub const WhiteOutline: Self = Self(1);
48    #[doc(alias = "ASAuthorizationAppleIDButtonStyleBlack")]
49    pub const Black: Self = Self(2);
50}
51
52unsafe impl Encode for ASAuthorizationAppleIDButtonStyle {
53    const ENCODING: Encoding = NSInteger::ENCODING;
54}
55
56unsafe impl RefEncode for ASAuthorizationAppleIDButtonStyle {
57    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
58}
59
60#[cfg(target_os = "macos")]
61extern_conformance!(
62    unsafe impl NSAccessibility for ASAuthorizationAppleIDButton {}
63);
64
65#[cfg(target_os = "macos")]
66extern_conformance!(
67    unsafe impl NSAccessibilityButton for ASAuthorizationAppleIDButton {}
68);
69
70#[cfg(target_os = "macos")]
71extern_conformance!(
72    unsafe impl NSAccessibilityElementProtocol for ASAuthorizationAppleIDButton {}
73);
74
75#[cfg(target_os = "macos")]
76extern_conformance!(
77    unsafe impl NSAnimatablePropertyContainer for ASAuthorizationAppleIDButton {}
78);
79
80#[cfg(target_os = "macos")]
81extern_conformance!(
82    unsafe impl NSAppearanceCustomization for ASAuthorizationAppleIDButton {}
83);
84
85#[cfg(target_os = "macos")]
86extern_conformance!(
87    unsafe impl NSCoding for ASAuthorizationAppleIDButton {}
88);
89
90#[cfg(target_os = "macos")]
91extern_conformance!(
92    unsafe impl NSDraggingDestination for ASAuthorizationAppleIDButton {}
93);
94
95#[cfg(target_os = "macos")]
96extern_conformance!(
97    unsafe impl NSObjectProtocol for ASAuthorizationAppleIDButton {}
98);
99
100#[cfg(target_os = "macos")]
101extern_conformance!(
102    unsafe impl NSUserInterfaceItemIdentification for ASAuthorizationAppleIDButton {}
103);
104
105#[cfg(target_os = "macos")]
106impl ASAuthorizationAppleIDButton {
107    extern_methods!(
108        #[unsafe(method(buttonWithType:style:))]
109        #[unsafe(method_family = none)]
110        pub unsafe fn buttonWithType_style(
111            r#type: ASAuthorizationAppleIDButtonType,
112            style: ASAuthorizationAppleIDButtonStyle,
113            mtm: MainThreadMarker,
114        ) -> Retained<Self>;
115
116        #[unsafe(method(initWithAuthorizationButtonType:authorizationButtonStyle:))]
117        #[unsafe(method_family = init)]
118        pub unsafe fn initWithAuthorizationButtonType_authorizationButtonStyle(
119            this: Allocated<Self>,
120            r#type: ASAuthorizationAppleIDButtonType,
121            style: ASAuthorizationAppleIDButtonStyle,
122        ) -> Retained<Self>;
123
124        #[cfg(feature = "objc2-core-foundation")]
125        /// Set a custom corner radius to be used by this button.
126        #[unsafe(method(cornerRadius))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn cornerRadius(&self) -> CGFloat;
129
130        #[cfg(feature = "objc2-core-foundation")]
131        /// Setter for [`cornerRadius`][Self::cornerRadius].
132        #[unsafe(method(setCornerRadius:))]
133        #[unsafe(method_family = none)]
134        pub unsafe fn setCornerRadius(&self, corner_radius: CGFloat);
135    );
136}
137
138/// Methods declared on superclass `NSControl`.
139#[cfg(target_os = "macos")]
140impl ASAuthorizationAppleIDButton {
141    extern_methods!(
142        #[unsafe(method(initWithFrame:))]
143        #[unsafe(method_family = init)]
144        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
145
146        /// # Safety
147        ///
148        /// `coder` possibly has further requirements.
149        #[unsafe(method(initWithCoder:))]
150        #[unsafe(method_family = init)]
151        pub unsafe fn initWithCoder(
152            this: Allocated<Self>,
153            coder: &NSCoder,
154        ) -> Option<Retained<Self>>;
155    );
156}
157
158/// Methods declared on superclass `NSResponder`.
159#[cfg(target_os = "macos")]
160impl ASAuthorizationAppleIDButton {
161    extern_methods!(
162        #[unsafe(method(init))]
163        #[unsafe(method_family = init)]
164        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
165    );
166}
167
168/// Methods declared on superclass `NSObject`.
169#[cfg(target_os = "macos")]
170impl ASAuthorizationAppleIDButton {
171    extern_methods!(
172        #[unsafe(method(new))]
173        #[unsafe(method_family = new)]
174        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
175    );
176}