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        #[unsafe(method(initWithCoder:))]
147        #[unsafe(method_family = init)]
148        pub unsafe fn initWithCoder(
149            this: Allocated<Self>,
150            coder: &NSCoder,
151        ) -> Option<Retained<Self>>;
152    );
153}
154
155/// Methods declared on superclass `NSResponder`.
156#[cfg(target_os = "macos")]
157impl ASAuthorizationAppleIDButton {
158    extern_methods!(
159        #[unsafe(method(init))]
160        #[unsafe(method_family = init)]
161        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
162    );
163}
164
165/// Methods declared on superclass `NSObject`.
166#[cfg(target_os = "macos")]
167impl ASAuthorizationAppleIDButton {
168    extern_methods!(
169        #[unsafe(method(new))]
170        #[unsafe(method_family = new)]
171        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
172    );
173}